move from data_home/apps/defaults.list to config_home/mimeapps.list

this moves to the newer mimeapps.list file in ~/.config from the older
defaults.list. it also provides a migration (copy file ovr if target
doesnt exist on e startup).

this fixes T6784

@fix
This commit is contained in:
Carsten Haitzler 2018-03-20 20:36:56 +09:00
parent 55c8ac4625
commit a1994536a4
5 changed files with 30 additions and 12 deletions

View File

@ -40,6 +40,20 @@ static E_Exehist *_e_exehist = NULL;
static E_Powersave_Deferred_Action *_e_exehist_unload_defer = NULL; static E_Powersave_Deferred_Action *_e_exehist_unload_defer = NULL;
static int _e_exehist_changes = 0; static int _e_exehist_changes = 0;
static void
_upgrade_defaults_to_mimeapps(void)
{
char buf[PATH_MAX], buf2[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/mimeapps.list",
efreet_config_home_get());
if (ecore_file_exists(buf)) return;
ecore_file_mkpath(efreet_config_home_get());
snprintf(buf2, sizeof(buf2), "%s/applications/defaults.list",
efreet_data_home_get());
ecore_file_cp(buf2, buf);
}
/* externally accessible functions */ /* externally accessible functions */
EINTERN int EINTERN int
e_exehist_init(void) e_exehist_init(void)
@ -65,6 +79,8 @@ e_exehist_init(void)
E_EVENT_EXEHIST_UPDATE = ecore_event_type_new(); E_EVENT_EXEHIST_UPDATE = ecore_event_type_new();
_upgrade_defaults_to_mimeapps();
return 1; return 1;
} }
@ -313,8 +329,8 @@ e_exehist_mime_desktop_add(const char *mime, Efreet_Desktop *desktop)
f = efreet_util_path_to_file_id(desktop->orig_path); f = efreet_util_path_to_file_id(desktop->orig_path);
if (!f) return; if (!f) return;
snprintf(buf, sizeof(buf), "%s/applications/defaults.list", snprintf(buf, sizeof(buf), "%s/mimeapps.list",
efreet_data_home_get()); efreet_config_home_get());
ini = efreet_ini_new(buf); ini = efreet_ini_new(buf);
//fprintf(stderr, "try open %s = %p\n", buf, ini); //fprintf(stderr, "try open %s = %p\n", buf, ini);
if (ini) if (ini)

View File

@ -113,8 +113,8 @@ handler_find(const char *mime)
char path[PATH_MAX]; char path[PATH_MAX];
const char *name; const char *name;
snprintf(path, sizeof(path), "%s/applications/defaults.list", snprintf(path, sizeof(path), "%s/mimeapps.list",
efreet_data_home_get()); efreet_config_home_get());
name = xdg_defaults_get(path, mime); name = xdg_defaults_get(path, mime);
if (!name) if (!name)
{ {
@ -328,7 +328,8 @@ terminal_open(void)
s = efreet_data_home_get(); s = efreet_data_home_get();
if (s) if (s)
{ {
snprintf(buf, sizeof(buf), "%s/applications/defaults.list", s); snprintf(buf, sizeof(buf), "%s/mimeapps.list",
efreet_config_home_get());
tdesktop = _terminal_get(buf); tdesktop = _terminal_get(buf);
} }
if (tdesktop) goto have_desktop; if (tdesktop) goto have_desktop;

View File

@ -1151,7 +1151,8 @@ e_util_terminal_desktop_get(void)
s = efreet_data_home_get(); s = efreet_data_home_get();
if (s) if (s)
{ {
snprintf(buf, sizeof(buf), "%s/applications/defaults.list", s); snprintf(buf, sizeof(buf), "%s/mimeapps.list",
efreet_config_home_get());
tdesktop = _e_util_default_terminal_get(buf); tdesktop = _e_util_default_terminal_get(buf);
} }
if (tdesktop) return tdesktop; if (tdesktop) return tdesktop;

View File

@ -94,8 +94,8 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED)
cfdata->desk_change_handler = ecore_event_handler_add cfdata->desk_change_handler = ecore_event_handler_add
(EFREET_EVENT_DESKTOP_CACHE_UPDATE, _desks_update, cfdata); (EFREET_EVENT_DESKTOP_CACHE_UPDATE, _desks_update, cfdata);
snprintf(buf, sizeof(buf), "%s/applications/defaults.list", snprintf(buf, sizeof(buf), "%s/mimeapps.list",
efreet_data_home_get()); efreet_config_home_get());
myini = efreet_ini_new(buf); myini = efreet_ini_new(buf);
if (myini) if (myini)
{ {
@ -393,8 +393,8 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
if ((cfdata->terminal_desktop) && (cfdata->terminal_desktop[0])) if ((cfdata->terminal_desktop) && (cfdata->terminal_desktop[0]))
efreet_ini_string_set(cfdata->ini, "x-scheme-handler/terminal", efreet_ini_string_set(cfdata->ini, "x-scheme-handler/terminal",
cfdata->terminal_desktop); cfdata->terminal_desktop);
snprintf(buf, sizeof(buf), "%s/applications/defaults.list", snprintf(buf, sizeof(buf), "%s/mimeapps.list",
efreet_data_home_get()); efreet_config_home_get());
efreet_ini_save(cfdata->ini, buf); efreet_ini_save(cfdata->ini, buf);
} }
if ((cfdata->browser_custom) && (cfdata->browser_custom[0])) if ((cfdata->browser_custom) && (cfdata->browser_custom[0]))

View File

@ -1238,8 +1238,8 @@ _e_fwin_suggested_apps_list_sort(const char *mime, Eina_List *desktops, Eina_Boo
Eina_List *order, *l; Eina_List *order, *l;
Efreet_Desktop *desktop; Efreet_Desktop *desktop;
snprintf(path, sizeof(path), "%s/applications/defaults.list", snprintf(path, sizeof(path), "%s/mimeapps.list",
efreet_data_home_get()); efreet_config_home_get());
order = _e_fwin_defaults_apps_get(mime, path); order = _e_fwin_defaults_apps_get(mime, path);
if (!order) if (!order)