summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHannes Janetzek <hannes.janetzek@gmail.com>2009-09-21 20:36:35 +0000
committerHannes Janetzek <hannes.janetzek@gmail.com>2009-09-21 20:36:35 +0000
commit91211ef9c40a090325734e8783ccc2b6a51e0dc4 (patch)
tree9d7954c668b10e50f7dffafbc981f5287e77d339 /src
parent74c9efaa78a4b31285fd1e173796dadf117d85b0 (diff)
downloadenlightenment-91211ef9c40a090325734e8783ccc2b6a51e0dc4.tar.gz
reopen fileman and dialog windows after restart of e.
- modules using e_configure_registry_add must be modified to use registry path as window class for this to work - fileman now uses e_remember to remember position instead of handling it separately - added option to window remember for remembering dialogs and fileman windows automatically SVN revision: 42607
Diffstat (limited to 'src')
-rw-r--r--src/bin/e_config.c2
-rw-r--r--src/bin/e_config_dialog.c11
-rw-r--r--src/bin/e_eap_editor.c2
-rw-r--r--src/bin/e_main.c22
-rw-r--r--src/bin/e_module.c37
-rw-r--r--src/bin/e_module.h1
-rw-r--r--src/bin/e_remember.c706
-rw-r--r--src/bin/e_remember.h6
-rw-r--r--src/modules/conf_applications/e_int_config_apps.c10
-rw-r--r--src/modules/conf_borders/e_int_config_borders.c4
-rw-r--r--src/modules/conf_clientlist/e_int_config_clientlist.c2
-rw-r--r--src/modules/conf_colors/e_int_config_color_classes.c4
-rw-r--r--src/modules/conf_desk/e_int_config_desk.c4
-rw-r--r--src/modules/conf_desklock/e_int_config_desklock.c4
-rw-r--r--src/modules/conf_desks/e_int_config_desks.c4
-rw-r--r--src/modules/conf_dialogs/e_int_config_dialogs.c16
-rw-r--r--src/modules/conf_display/e_int_config_display.c4
-rw-r--r--src/modules/conf_dpms/e_int_config_dpms.c4
-rw-r--r--src/modules/conf_edgebindings/e_int_config_edgebindings.c4
-rw-r--r--src/modules/conf_engine/e_int_config_engine.c4
-rw-r--r--src/modules/conf_exebuf/e_int_config_exebuf.c4
-rw-r--r--src/modules/conf_fonts/e_int_config_fonts.c4
-rw-r--r--src/modules/conf_icon_theme/e_int_config_icon_themes.c4
-rw-r--r--src/modules/conf_imc/e_int_config_imc.c4
-rw-r--r--src/modules/conf_interaction/e_int_config_interaction.c4
-rw-r--r--src/modules/conf_intl/e_int_config_intl.c4
-rw-r--r--src/modules/conf_keybindings/e_int_config_keybindings.c4
-rw-r--r--src/modules/conf_menus/e_int_config_menus.c4
-rw-r--r--src/modules/conf_mime/e_int_config_mime.c4
-rw-r--r--src/modules/conf_mouse/e_int_config_mouse.c4
-rw-r--r--src/modules/conf_mouse_cursor/e_int_config_cursor.c4
-rw-r--r--src/modules/conf_mousebindings/e_int_config_mousebindings.c4
-rw-r--r--src/modules/conf_paths/e_int_config_paths.c4
-rw-r--r--src/modules/conf_performance/e_int_config_performance.c4
-rw-r--r--src/modules/conf_profiles/e_int_config_profiles.c4
-rw-r--r--src/modules/conf_scale/e_int_config_scale.c4
-rw-r--r--src/modules/conf_screensaver/e_int_config_screensaver.c4
-rw-r--r--src/modules/conf_shelves/e_int_config_shelf.c4
-rw-r--r--src/modules/conf_startup/e_int_config_startup.c4
-rw-r--r--src/modules/conf_theme/e_int_config_theme.c4
-rw-r--r--src/modules/conf_transitions/e_int_config_transitions.c4
-rw-r--r--src/modules/conf_wallpaper/e_int_config_wallpaper.c4
-rw-r--r--src/modules/conf_wallpaper2/e_int_config_wallpaper.c2
-rw-r--r--src/modules/conf_window_display/e_int_config_window_display.c20
-rw-r--r--src/modules/conf_window_focus/e_int_config_focus.c4
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_window_geometry.c4
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_window_maxpolicy.c4
-rw-r--r--src/modules/conf_window_manipulation/e_int_config_window_stacking.c4
-rw-r--r--src/modules/conf_window_remembers/e_int_config_remembers.c42
-rw-r--r--src/modules/conf_winlist/e_int_config_winlist.c4
-rw-r--r--src/modules/dropshadow/e_mod_config.c4
-rw-r--r--src/modules/everything/e_mod_main.c4
-rw-r--r--src/modules/everything/evry_config.c4
-rw-r--r--src/modules/fileman/e_fwin.c156
-rw-r--r--src/modules/fileman/e_mod_config.c4
-rw-r--r--src/modules/gadman/e_mod_config.c4
-rw-r--r--src/modules/mixer/conf_module.c4
-rw-r--r--src/modules/mixer/e_mod_main.c2
58 files changed, 716 insertions, 489 deletions
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index 9e03343c55..3335feb54a 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -1046,7 +1046,7 @@ e_config_load(void)
E_CONFIG_LIMIT(e_config->desk_flip_pan_bg, 0, 1);
E_CONFIG_LIMIT(e_config->desk_flip_pan_x_axis_factor, 0.0, 1.0);
E_CONFIG_LIMIT(e_config->desk_flip_pan_y_axis_factor, 0.0, 1.0);
- E_CONFIG_LIMIT(e_config->remember_internal_windows, 0, 1);
+ E_CONFIG_LIMIT(e_config->remember_internal_windows, 0, 3);
E_CONFIG_LIMIT(e_config->desk_auto_switch, 0, 1);
E_CONFIG_LIMIT(e_config->dpms_enable, 0, 1);
diff --git a/src/bin/e_config_dialog.c b/src/bin/e_config_dialog.c
index 37ff0622b8..374bb5b1f9 100644
--- a/src/bin/e_config_dialog.c
+++ b/src/bin/e_config_dialog.c
@@ -167,11 +167,12 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type)
pdia = cfd->dia;
/* FIXME: get name/class form new call and use here */
- if (type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC)
- snprintf(buf, sizeof(buf), "%s...%s", cfd->class, "BASIC");
- else
- snprintf(buf, sizeof(buf), "%s...%s", cfd->class, "ADVANCED");
-
+ /* if (type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC)
+ * snprintf(buf, sizeof(buf), "%s...%s", cfd->class, "BASIC");
+ * else
+ * snprintf(buf, sizeof(buf), "%s...%s", cfd->class, "ADVANCED"); */
+ snprintf(buf, sizeof(buf), "_config::%s", cfd->class);
+
if (!pdia) /* creating window for the first time */
{
if ((cfd->view->normal_win) || (e_config->cfgdlg_normal_wins))
diff --git a/src/bin/e_eap_editor.c b/src/bin/e_eap_editor.c
index 2e813fb7a2..a928eae497 100644
--- a/src/bin/e_eap_editor.c
+++ b/src/bin/e_eap_editor.c
@@ -213,7 +213,7 @@ _e_desktop_edit_view_create(E_Desktop_Edit *editor, E_Container *con)
editor->cfd =
e_config_dialog_new(con, _("Desktop Entry Editor"), "E",
- "_desktop_editor_dialog",
+ "applications/new_application",
"preferences-applications", 0, v, editor);
if (!editor->cfd)
diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 0dd32defb1..30b628d30f 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -818,16 +818,6 @@ main(int argc, char **argv)
}
_e_main_shutdown_push(e_exec_shutdown);
- e_init_status_set(_("Setup Remembers"));
- TS("remember");
- /* do remember stuff */
- if (!e_remember_init(after_restart ? E_STARTUP_RESTART: E_STARTUP_START))
- {
- e_error_message_show(_("Enlightenment cannot setup remember settings."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_remember_shutdown);
-
TS("container freeze");
e_container_all_freeze();
@@ -891,6 +881,16 @@ main(int argc, char **argv)
}
_e_main_shutdown_push(e_module_shutdown);
+ e_init_status_set(_("Setup Remembers"));
+ TS("remember");
+ /* do remember stuff */
+ if (!e_remember_init(after_restart ? E_STARTUP_RESTART: E_STARTUP_START))
+ {
+ e_error_message_show(_("Enlightenment cannot setup remember settings."));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_remember_shutdown);
+
e_init_status_set(_("Setup Color Classes"));
TS("colorclasses");
/* setup color_class */
@@ -1084,6 +1084,8 @@ main(int argc, char **argv)
/* Store current selected desktops */
_e_main_desk_save();
+ e_remember_internal_save();
+
/* unroll our stack of shutdown functions with exit code of 0 */
_e_main_shutdown(0);
diff --git a/src/bin/e_module.c b/src/bin/e_module.c
index a3c98f24ab..1913a6fb7f 100644
--- a/src/bin/e_module.c
+++ b/src/bin/e_module.c
@@ -24,12 +24,14 @@ static Ecore_Idler *_e_module_idler = NULL;
static Eina_List *_e_modules_delayed = NULL;
EAPI int E_EVENT_MODULE_UPDATE = 0;
+EAPI int E_EVENT_MODULE_INIT_END = 0;
/* externally accessible functions */
EAPI int
e_module_init(void)
{
E_EVENT_MODULE_UPDATE = ecore_event_type_new();
+ E_EVENT_MODULE_INIT_END = ecore_event_type_new();
return 1;
}
@@ -91,6 +93,11 @@ e_module_all_load(void)
if (m) e_module_enable(m);
}
}
+
+ if (!_e_modules_delayed)
+ {
+ ecore_event_add(E_EVENT_MODULE_INIT_END, NULL, NULL, NULL);
+ }
}
EAPI E_Module *
@@ -514,16 +521,6 @@ _e_module_cb_dialog_disable(void *data, E_Dialog *dia)
e_config_save_queue();
}
-static void
-_e_module_event_update_free(void *data, void *event)
-{
- E_Event_Module_Update *ev;
-
- if (!(ev = event)) return;
- E_FREE(ev->name);
- E_FREE(ev);
-}
-
static int
_e_module_cb_idler(void *data)
{
@@ -539,7 +536,14 @@ _e_module_cb_idler(void *data)
if (m) e_module_enable(m);
eina_stringshare_del(name);
}
- if (_e_modules_delayed) return 1;
+ if (_e_modules_delayed)
+ {
+ e_util_wakeup();
+ return 1;
+ }
+
+ ecore_event_add(E_EVENT_MODULE_INIT_END, NULL, NULL, NULL);
+
_e_module_idler = NULL;
return 0;
}
@@ -553,3 +557,14 @@ _e_module_sort_priority(const void *d1, const void *d2)
m2 = d2;
return (m2->priority - m1->priority);
}
+
+
+static void
+_e_module_event_update_free(void *data, void *event)
+{
+ E_Event_Module_Update *ev;
+
+ if (!(ev = event)) return;
+ E_FREE(ev->name);
+ E_FREE(ev);
+}
diff --git a/src/bin/e_module.h b/src/bin/e_module.h
index 6c5c88eee0..a809477876 100644
--- a/src/bin/e_module.h
+++ b/src/bin/e_module.h
@@ -17,6 +17,7 @@ typedef struct _E_Event_Module_Update E_Event_Module_Update;
#define E_MODULE_TYPE 0xE0b0100b
extern EAPI int E_EVENT_MODULE_UPDATE;
+extern EAPI int E_EVENT_MODULE_INIT_END;
struct _E_Event_Module_Update
{
diff --git a/src/bin/e_remember.c b/src/bin/e_remember.c
index 39e856cab7..e5d4226be6 100644
--- a/src/bin/e_remember.c
+++ b/src/bin/e_remember.c
@@ -6,16 +6,32 @@
#define REMEMBER_HIERARCHY 1
#define REMEMBER_SIMPLE 0
+typedef struct _E_Remember_List E_Remember_List;
+
+
+struct _E_Remember_List
+{
+ Eina_List *list;
+};
+
/* local subsystem functions */
static void _e_remember_free(E_Remember *rem);
+static void _e_remember_update(E_Border *bd, E_Remember *rem);
static E_Remember *_e_remember_find(E_Border *bd, int check_usable);
static void _e_remember_cb_hook_pre_post_fetch(void *data, void *bd);
static void _e_remember_cb_hook_eval_post_new_border(void *data, void *bd);
+static void _e_remember_init_edd(void);
+static int _e_remember_restore_cb(void *data, int type, void *event);
+
+/* local subsystem globals */
static Eina_List *hooks = NULL;
+static E_Config_DD *e_remember_edd = NULL;
+static E_Config_DD *e_remember_list_edd = NULL;
+static E_Remember_List *remembers = NULL;
+static Eina_List *handlers = NULL;
-/* FIXME: match netwm window type */
+/* static Eina_List *e_remember_restart_list = NULL; */
-/* local subsystem globals */
/* externally accessible functions */
EAPI int
@@ -41,6 +57,16 @@ e_remember_init(E_Startup_Mode mode)
_e_remember_cb_hook_eval_post_new_border, NULL);
if (h) hooks = eina_list_append(hooks, h);
+ _e_remember_init_edd();
+ remembers = e_config_domain_load("e_remember_restart", e_remember_list_edd);
+
+ if (remembers)
+ {
+ handlers = eina_list_append
+ (handlers, ecore_event_handler_add
+ (E_EVENT_MODULE_INIT_END, _e_remember_restore_cb, NULL));
+ }
+
return 1;
}
@@ -48,13 +74,118 @@ EAPI int
e_remember_shutdown(void)
{
E_Border_Hook *h;
-
+ Ecore_Event_Handler *hh;
+
EINA_LIST_FREE(hooks, h)
e_border_hook_del(h);
+ E_CONFIG_DD_FREE(e_remember_edd);
+ E_CONFIG_DD_FREE(e_remember_list_edd);
+
+ EINA_LIST_FREE(handlers, hh)
+ ecore_event_handler_del(hh);
+
return 1;
}
+EAPI void
+e_remember_internal_save(void)
+{
+ Eina_List *l;
+ E_Border *bd;
+ E_Remember *rem;
+
+ //printf("internal save %d\n", restart);
+ if (!remembers)
+ remembers = E_NEW(E_Remember_List, 1);
+ else
+ {
+ EINA_LIST_FREE(remembers->list, rem)
+ _e_remember_free(rem);
+ }
+
+ EINA_LIST_FOREACH(e_border_client_list(), l, bd)
+ {
+ if (!bd->internal) continue;
+
+ rem = E_NEW(E_Remember, 1);
+ if (!rem) break;
+
+ e_remember_default_match_set(rem, bd);
+ rem->apply = (E_REMEMBER_APPLY_POS | E_REMEMBER_APPLY_SIZE |
+ E_REMEMBER_APPLY_BORDER | E_REMEMBER_APPLY_LAYER |
+ E_REMEMBER_APPLY_SHADE | E_REMEMBER_APPLY_ZONE |
+ E_REMEMBER_APPLY_DESKTOP | E_REMEMBER_APPLY_LOCKS |
+ E_REMEMBER_APPLY_SKIP_WINLIST |
+ E_REMEMBER_APPLY_SKIP_PAGER |
+ E_REMEMBER_APPLY_SKIP_TASKBAR);
+ _e_remember_update(bd, rem);
+
+ remembers->list = eina_list_append(remembers->list, rem);
+ }
+
+ e_config_domain_save("e_remember_restart", e_remember_list_edd, remembers);
+}
+
+static int
+_e_remember_restore_cb(void *data, int type, void *event)
+{
+ E_Remember *rem;
+ Eina_List *l;
+ E_Action *act_fm, *act;
+ const char *path;
+ E_Container *con;
+
+ act_fm = e_action_find("fileman");
+
+ con = e_container_current_get(e_manager_current_get());
+
+ EINA_LIST_FOREACH(remembers->list, l, rem)
+ {
+ if (!rem->class) continue;
+ //printf("internal restore %s\n", rem->class);
+
+ if (!strncmp(rem->class, "e_fwin::", 8))
+ {
+ //printf("internal restore fm %p\n", (void *) act_fm);
+ if (!act_fm)
+ continue;
+ if (!strlen(rem->class) > 8)
+ continue;
+
+ path = rem->class + 8;
+
+ act_fm->func.go(NULL, path);
+ }
+ else if (!strncmp(rem->class, "_config::", 9))
+ {
+ /* TODO parse _config::params::path */
+ path = rem->class + 9;
+ //printf("internal restore config %s\n", path);
+ if (e_configure_registry_exists(path))
+ {
+ e_configure_registry_call(path, con, NULL);
+ }
+ }
+ else if (!strcmp(rem->class, "_configure"))
+ {
+ /* TODO this is just for settings panel. it could also
+ use e_configure_registry_item_add */
+ /* ..or make a general path for window that are started
+ by actions */
+
+ act = e_action_find("configuration");
+ if (act)
+ act->func.go(NULL, NULL);
+ }
+ }
+
+ if (handlers) eina_list_free(handlers);
+ handlers = NULL;
+
+ return 0;
+}
+
EAPI E_Remember *
e_remember_new(void)
{
@@ -213,16 +344,16 @@ e_remember_default_match_set(E_Remember *rem, E_Border *bd)
EAPI void
e_remember_update(E_Border *bd)
{
- E_Remember *rem;
-
if (bd->new_client) return;
if (!bd->remember) return;
if (bd->remember->keep_settings) return;
-
- rem = bd->remember;
-
- /* e_remember_match_update(rem); */
+ _e_remember_update(bd, bd->remember);
+ e_config_save_queue();
+}
+static void
+_e_remember_update(E_Border *bd, E_Remember *rem)
+{
if (rem->apply & E_REMEMBER_APPLY_POS ||
rem->apply & E_REMEMBER_APPLY_SIZE)
{
@@ -304,8 +435,6 @@ e_remember_update(E_Border *bd)
e_desk_xy_get(bd->desk, &rem->prop.desk_x, &rem->prop.desk_y);
if (rem->apply & E_REMEMBER_APPLY_FULLSCREEN)
rem->prop.fullscreen = bd->fullscreen;
-
- e_config_save_queue();
}
/* local subsystem functions */
@@ -424,11 +553,50 @@ _e_remember_free(E_Remember *rem)
}
static void
+_e_remember_cb_hook_eval_post_new_border(void *data, void *border)
+{
+ E_Border *bd = border;
+
+ if (!bd->new_client) return;
+
+ if ((bd->internal) && (!bd->remember) &&
+ (e_config->remember_internal_windows) &&
+ (!bd->internal_no_remember) &&
+ (bd->client.icccm.class && bd->client.icccm.class[0]))
+ {
+ E_Remember *rem;
+
+ if (!strncmp(bd->client.icccm.class, "e_fwin", 6))
+ {
+ if (!(e_config->remember_internal_windows & E_REMEMBER_INTERNAL_FM_WINS))
+ return;
+ }
+ else
+ {
+ if (!(e_config->remember_internal_windows & E_REMEMBER_INTERNAL_DIALOGS))
+ return;
+ }
+
+ rem = e_remember_new();
+ if (!rem) return;
+
+ e_remember_default_match_set(rem, bd);
+
+ rem->apply = E_REMEMBER_APPLY_POS | E_REMEMBER_APPLY_SIZE | E_REMEMBER_APPLY_BORDER;
+
+ e_remember_use(rem);
+ e_remember_update(bd);
+ bd->remember = rem;
+ }
+}
+
+static void
_e_remember_cb_hook_pre_post_fetch(void *data, void *border)
{
E_Border *bd = border;
E_Remember *rem = NULL;
-
+ int temporary = 0;
+
if (!bd->new_client) return;
if (!bd->remember)
@@ -440,256 +608,326 @@ _e_remember_cb_hook_pre_post_fetch(void *data, void *border)
e_remember_use(rem);
}
}
- if (bd->remember)
+
+ if (bd->internal && remembers && bd->client.icccm.class)
{
- rem = bd->remember;
-
- if (rem->apply & E_REMEMBER_APPLY_ZONE)
+ Eina_List *l;
+ EINA_LIST_FOREACH(remembers->list, l, rem)
{
- E_Zone *zone;
-
- zone = e_container_zone_number_get(bd->zone->container, rem->prop.zone);
- if (zone)
- e_border_zone_set(bd, zone);
+ if (!strcmp(rem->class, bd->client.icccm.class))
+ break;
}
- if (rem->apply & E_REMEMBER_APPLY_DESKTOP)
+ if (rem)
{
- E_Desk *desk;
+ temporary = 1;
+ remembers->list = eina_list_remove(remembers->list, rem);
+ }
+ else rem = bd->remember;
+ }
+
+ if (!rem)
+ return;
- desk = e_desk_at_xy_get(bd->zone, rem->prop.desk_x, rem->prop.desk_y);
- if (desk)
- {
- e_border_desk_set(bd, desk);
- if (e_config->desk_auto_switch)
- e_desk_show(desk);
- }
+ if (rem->apply & E_REMEMBER_APPLY_ZONE)
+ {
+ E_Zone *zone;
+
+ zone = e_container_zone_number_get(bd->zone->container, rem->prop.zone);
+ if (zone)
+ e_border_zone_set(bd, zone);
+ }
+ if (rem->apply & E_REMEMBER_APPLY_DESKTOP)
+ {
+ E_Desk *desk;
+
+ desk = e_desk_at_xy_get(bd->zone, rem->prop.desk_x, rem->prop.desk_y);
+ if (desk)
+ {
+ e_border_desk_set(bd, desk);
+ if (e_config->desk_auto_switch)
+ e_desk_show(desk);
}
- if (rem->apply & E_REMEMBER_APPLY_SIZE)
+ }
+ if (rem->apply & E_REMEMBER_APPLY_SIZE)
+ {
+ bd->client.w = rem->prop.w;
+ bd->client.h = rem->prop.h;
+ /* we can trust internal windows */
+ if (bd->internal)
{
- bd->client.w = rem->prop.w;
- bd->client.h = rem->prop.h;
- /* we can trust internal windows */
- if (bd->internal)
+ if (bd->zone->w != rem->prop.res_x)
{
- if (bd->zone->w != rem->prop.res_x)
- {
- if (bd->client.w > (bd->zone->w - 64))
- bd->client.w = bd->zone->w - 64;
- }
- if (bd->zone->h != rem->prop.res_y)
- {
- if (bd->client.h > (bd->zone->h - 64))
- bd->client.h = bd->zone->h - 64;
- }
- if (bd->client.icccm.min_w > bd->client.w)
- bd->client.w = bd->client.icccm.min_w;
- if (bd->client.icccm.max_w < bd->client.w)
- bd->client.w = bd->client.icccm.max_w;
- if (bd->client.icccm.min_h > bd->client.h)
- bd->client.h = bd->client.icccm.min_h;
- if (bd->client.icccm.max_h < bd->client.h)
- bd->client.h = bd->client.icccm.max_h;
+ if (bd->client.w > (bd->zone->w - 64))
+ bd->client.w = bd->zone->w - 64;
}
- bd->w = bd->client.w + bd->client_inset.l + bd->client_inset.r;
- bd->h = bd->client.h + bd->client_inset.t + bd->client_inset.b;
- bd->changes.size = 1;
- bd->changes.shape = 1;
+ if (bd->zone->h != rem->prop.res_y)
+ {
+ if (bd->client.h > (bd->zone->h - 64))
+ bd->client.h = bd->zone->h - 64;
+ }
+ if (bd->client.icccm.min_w > bd->client.w)
+ bd->client.w = bd->client.icccm.min_w;
+ if (bd->client.icccm.max_w < bd->client.w)
+ bd->client.w = bd->client.icccm.max_w;
+ if (bd->client.icccm.min_h > bd->client.h)
+ bd->client.h = bd->client.icccm.min_h;
+ if (bd->client.icccm.max_h < bd->client.h)
+ bd->client.h = bd->client.icccm.max_h;
}
- if ((rem->apply & E_REMEMBER_APPLY_POS) && (!bd->re_manage))
+ bd->w = bd->client.w + bd->client_inset.l + bd->client_inset.r;
+ bd->h = bd->client.h + bd->client_inset.t + bd->client_inset.b;
+ bd->changes.size = 1;
+ bd->changes.shape = 1;
+ }
+ if ((rem->apply & E_REMEMBER_APPLY_POS) && (!bd->re_manage))
+ {
+ bd->x = rem->prop.pos_x;
+ bd->y = rem->prop.pos_y;
+ if (bd->zone->w != rem->prop.res_x)
{
- bd->x = rem->prop.pos_x;
- bd->y = rem->prop.pos_y;
- if (bd->zone->w != rem->prop.res_x)
+ int px;
+
+ px = bd->x + (bd->w / 2);
+ if (px < ((rem->prop.res_x * 1) / 3))
{
- int px;
-
- px = bd->x + (bd->w / 2);
- if (px < ((rem->prop.res_x * 1) / 3))
- {
- if (bd->zone->w >= (rem->prop.res_x / 3))
- bd->x = rem->prop.pos_x;
- else
- bd->x = ((rem->prop.pos_x - 0) * bd->zone->w) /
- (rem->prop.res_x / 3);
- }
- else if (px < ((rem->prop.res_x * 2) / 3))
- {
- if (bd->zone->w >= (rem->prop.res_x / 3))
- bd->x = (bd->zone->w / 2) +
- (px - (rem->prop.res_x / 2)) -
- (bd->w / 2);
- else
- bd->x = (bd->zone->w / 2) +
- (((px - (rem->prop.res_x / 2)) * bd->zone->w) /
- (rem->prop.res_x / 3)) -
- (bd->w / 2);
- }
+ if (bd->zone->w >= (rem->prop.res_x / 3))
+ bd->x = rem->prop.pos_x;
else
- {
- if (bd->zone->w >= (rem->prop.res_x / 3))
- bd->x = bd->zone->w +
- rem->prop.pos_x - rem->prop.res_x +
- (rem->prop.w - bd->client.w);
- else
- bd->x = bd->zone->w +
- (((rem->prop.pos_x - rem->prop.res_x) * bd->zone->w) /
- (rem->prop.res_x / 3)) +
- (rem->prop.w - bd->client.w);
- }
- if ((rem->prop.pos_x >= 0) && (bd->x < 0))
- bd->x = 0;
- else if (((rem->prop.pos_x + rem->prop.w) < rem->prop.res_x) &&
- ((bd->x + bd->w) > bd->zone->w))
- bd->x = bd->zone->w - bd->w;
+ bd->x = ((rem->prop.pos_x - 0) * bd->zone->w) /
+ (rem->prop.res_x / 3);
}
- if (bd->zone->h != rem->prop.res_y)
+ else if (px < ((rem->prop.res_x * 2) / 3))
{
- int py;
-
- py = bd->y + (bd->h / 2);
- if (py < ((rem->prop.res_y * 1) / 3))
- {
- if (bd->zone->h >= (rem->prop.res_y / 3))
- bd->y = rem->prop.pos_y;
- else
- bd->y = ((rem->prop.pos_y - 0) * bd->zone->h) /
- (rem->prop.res_y / 3);
- }
- else if (py < ((rem->prop.res_y * 2) / 3))
- {
- if (bd->zone->h >= (rem->prop.res_y / 3))
- bd->y = (bd->zone->h / 2) +
- (py - (rem->prop.res_y / 2)) -
- (bd->h / 2);
- else
- bd->y = (bd->zone->h / 2) +
- (((py - (rem->prop.res_y / 2)) * bd->zone->h) /
- (rem->prop.res_y / 3)) -
- (bd->h / 2);
- }
+ if (bd->zone->w >= (rem->prop.res_x / 3))
+ bd->x = (bd->zone->w / 2) +
+ (px - (rem->prop.res_x / 2)) -
+ (bd->w / 2);
else
- {
- if (bd->zone->h >= (rem->prop.res_y / 3))
- bd->y = bd->zone->h +
- rem->prop.pos_y - rem->prop.res_y +
- (rem->prop.h - bd->client.h);
- else
- bd->y = bd->zone->h +
- (((rem->prop.pos_y - rem->prop.res_y) * bd->zone->h) /
- (rem->prop.res_y / 3)) +
- (rem->prop.h - bd->client.h);
- }
- if ((rem->prop.pos_y >= 0) && (bd->y < 0))
- bd->y = 0;
- else if (((rem->prop.pos_y + rem->prop.h) < rem->prop.res_y) &&
- ((bd->y + bd->h) > bd->zone->h))
- bd->y = bd->zone->h - bd->h;
+ bd->x = (bd->zone->w / 2) +
+ (((px - (rem->prop.res_x / 2)) * bd->zone->w) /
+ (rem->prop.res_x / 3)) -
+ (bd->w / 2);
}
- // if (bd->zone->w != rem->prop.res_x)
- // bd->x = (rem->prop.pos_x * bd->zone->w) / rem->prop.res_x;
- // if (bd->zone->h != rem->prop.res_y)
- // bd->y = (rem->prop.pos_y * bd->zone->h) / rem->prop.res_y;
- bd->x += bd->zone->x;
- bd->y += bd->zone->y;
- bd->placed = 1;
- bd->changes.pos = 1;
- }
- if (rem->apply & E_REMEMBER_APPLY_LAYER)
- {
- bd->layer = rem->prop.layer;
- if (bd->layer == 100)
- e_hints_window_stacking_set(bd, E_STACKING_NONE);
- else if (bd->layer == 150)
- e_hints_window_stacking_set(bd, E_STACKING_ABOVE);
- e_container_border_raise(bd);
- }
- if (rem->apply & E_REMEMBER_APPLY_BORDER)
- {
- if (rem->prop.border)
+ else
{
- if (bd->bordername) eina_stringshare_del(bd->bordername);
- if (rem->prop.border) bd->bordername = eina_stringshare_add(rem->prop.border);
- else bd->bordername = NULL;
- bd->client.border.changed = 1;
+ if (bd->zone->w >= (rem->prop.res_x / 3))
+ bd->x = bd->zone->w +
+ rem->prop.pos_x - rem->prop.res_x +
+ (rem->prop.w - bd->client.w);
+ else
+ bd->x = bd->zone->w +
+ (((rem->prop.pos_x - rem->prop.res_x) * bd->zone->w) /
+ (rem->prop.res_x / 3)) +
+ (rem->prop.w - bd->client.w);
}
+ if ((rem->prop.pos_x >= 0) && (bd->x < 0))
+ bd->x = 0;
+ else if (((rem->prop.pos_x + rem->prop.w) < rem->prop.res_x) &&
+ ((bd->x + bd->w) > bd->zone->w))
+ bd->x = bd->zone->w - bd->w;
}
- if (rem->apply & E_REMEMBER_APPLY_FULLSCREEN)
- {
- if (rem->prop.fullscreen)
- e_border_fullscreen(bd, e_config->fullscreen_policy);
- }
- if (rem->apply & E_REMEMBER_APPLY_STICKY)
+ if (bd->zone->h != rem->prop.res_y)
{
- if (rem->prop.sticky) e_border_stick(bd);
- }
- if (rem->apply & E_REMEMBER_APPLY_SHADE)
- {
- if (rem->prop.shaded >= 100)
- e_border_shade(bd, rem->prop.shaded - 100);
- else if (rem->prop.shaded >= 50)
- e_border_unshade(bd, rem->prop.shaded - 50);
+ int py;
+
+ py = bd->y + (bd->h / 2);
+ if (py < ((rem->prop.res_y * 1) / 3))
+ {
+ if (bd->zone->h >= (rem->prop.res_y / 3))
+ bd->y = rem->prop.pos_y;
+ else
+ bd->y = ((rem->prop.pos_y - 0) * bd->zone->h) /
+ (rem->prop.res_y / 3);
+ }
+ else if (py < ((rem->prop.res_y * 2) / 3))
+ {
+ if (bd->zone->h >= (rem->prop.res_y / 3))
+ bd->y = (bd->zone->h / 2) +
+ (py - (rem->prop.res_y / 2)) -
+ (bd->h / 2);
+ else
+ bd->y = (bd->zone->h / 2) +
+ (((py - (rem->prop.res_y / 2)) * bd->zone->h) /
+ (rem->prop.res_y / 3)) -
+ (bd->h / 2);
+ }
+ else
+ {
+ if (bd->zone->h >= (rem->prop.res_y / 3))
+ bd->y = bd->zone->h +
+ rem->prop.pos_y - rem->prop.res_y +
+ (rem->prop.h - bd->client.h);
+ else
+ bd->y = bd->zone->h +
+ (((rem->prop.pos_y - rem->prop.res_y) * bd->zone->h) /
+ (rem->prop.res_y / 3)) +
+ (rem->prop.h - bd->client.h);
+ }
+ if ((rem->prop.pos_y >= 0) && (bd->y < 0))
+ bd->y = 0;
+ else if (((rem->prop.pos_y + rem->prop.h) < rem->prop.res_y) &&
+ ((bd->y + bd->h) > bd->zone->h))
+ bd->y = bd->zone->h - bd->h;
}
- if (rem->apply & E_REMEMBER_APPLY_LOCKS)
+ // if (bd->zone->w != rem->prop.res_x)
+ // bd->x = (rem->prop.pos_x * bd->zone->w) / rem->prop.res_x;
+ // if (bd->zone->h != rem->prop.res_y)
+ // bd->y = (rem->prop.pos_y * bd->zone->h) / rem->prop.res_y;
+ bd->x += bd->zone->x;
+ bd->y += bd->zone->y;
+ bd->placed = 1;
+ bd->changes.pos = 1;
+ }
+ if (rem->apply & E_REMEMBER_APPLY_LAYER)
+ {
+ bd->layer = rem->prop.layer;
+ if (bd->layer == 100)
+ e_hints_window_stacking_set(bd, E_STACKING_NONE);
+ else if (bd->layer == 150)
+ e_hints_window_stacking_set(bd, E_STACKING_ABOVE);
+ e_container_border_raise(bd);
+ }
+ if (rem->apply & E_REMEMBER_APPLY_BORDER)
+ {
+ if (rem->prop.border)
{
- bd->lock_user_location = rem->prop.lock_user_location;
- bd->lock_client_location = rem->prop.lock_client_location;
- bd->lock_user_size = rem->prop.lock_user_size;
- bd->lock_client_size = rem->prop.lock_client_size;
- bd->lock_user_stacking = rem->prop.lock_user_stacking;
- bd->lock_client_stacking = rem->prop.lock_client_stacking;
- bd->lock_user_iconify = rem->prop.lock_user_iconify;
- bd->lock_client_iconify = rem->prop.lock_client_iconify;
- bd->lock_user_desk = rem->prop.lock_user_desk;
- bd->lock_client_desk = rem->prop.lock_client_desk;
- bd->lock_user_sticky = rem->prop.lock_user_sticky;
- bd->lock_client_sticky = rem->prop.lock_client_sticky;
- bd->lock_user_shade = rem->prop.lock_user_shade;
- bd->lock_client_shade = rem->prop.lock_client_shade;
- bd->lock_user_maximize = rem->prop.lock_user_maximize;
- bd->lock_client_maximize = rem->prop.lock_client_maximize;
- bd->lock_user_fullscreen = rem->prop.lock_user_fullscreen;
- bd->lock_client_fullscreen = rem->prop.lock_client_fullscreen;
- bd->lock_border = rem->prop.lock_border;
- bd->lock_close = rem->prop.lock_close;
- bd->lock_focus_in = rem->prop.lock_focus_in;
- bd->lock_focus_out = rem->prop.lock_focus_out;
- bd->lock_life = rem->prop.lock_life;
+ if (bd->bordername) eina_stringshare_del(bd->bordername);
+ if (rem->prop.border) bd->bordername = eina_stringshare_add(rem->prop.border);
+ else bd->bordername = NULL;
+ bd->client.border.changed = 1;
}
- if (rem->apply & E_REMEMBER_APPLY_SKIP_WINLIST)
- bd->user_skip_winlist = rem->prop.skip_winlist;
- if (rem->apply & E_REMEMBER_APPLY_SKIP_PAGER)
- bd->client.netwm.state.skip_pager = rem->prop.skip_pager;
- if (rem->apply & E_REMEMBER_APPLY_SKIP_TASKBAR)
- bd->client.netwm.state.skip_taskbar = rem->prop.skip_taskbar;
- if (rem->apply & E_REMEMBER_APPLY_ICON_PREF)
- bd->icon_preference = rem->prop.icon_preference;
- if (rem->apply & E_REMEMBER_SET_FOCUS_ON_START)
- bd->want_focus = 1;
}
+ if (rem->apply & E_REMEMBER_APPLY_FULLSCREEN)
+ {
+ if (rem->prop.fullscreen)
+ e_border_fullscreen(bd, e_config->fullscreen_policy);
+ }
+ if (rem->apply & E_REMEMBER_APPLY_STICKY)
+ {
+ if (rem->prop.sticky) e_border_stick(bd);
+ }
+ if (rem->apply & E_REMEMBER_APPLY_SHADE)
+ {
+ if (rem->prop.shaded >= 100)
+ e_border_shade(bd, rem->prop.shaded - 100);
+ else if (rem->prop.shaded >= 50)
+ e_border_unshade(bd, rem->prop.shaded - 50);
+ }
+ if (rem->apply & E_REMEMBER_APPLY_LOCKS)
+ {
+ bd->lock_user_location = rem->prop.lock_user_location;
+ bd->lock_client_location = rem->prop.lock_client_location;
+ bd->lock_user_size = rem->prop.lock_user_size;
+ bd->lock_client_size = rem->prop.lock_client_size;
+ bd->lock_user_stacking = rem->prop.lock_user_stacking;
+ bd->lock_client_stacking = rem->prop.lock_client_stacking;
+ bd->lock_user_iconify = rem->prop.lock_user_iconify;
+ bd->lock_client_iconify = rem->prop.lock_client_iconify;
+ bd->lock_user_desk = rem->prop.lock_user_desk;
+ bd->lock_client_desk = rem->prop.lock_client_desk;
+ bd->lock_user_sticky = rem->prop.lock_user_sticky;
+ bd->lock_client_sticky = rem->prop.lock_client_sticky;
+ bd->lock_user_shade = rem->prop.lock_user_shade;
+ bd->lock_client_shade = rem->prop.lock_client_shade;
+ bd->lock_user_maximize = rem->prop.lock_user_maximize;
+ bd->lock_client_maximize = rem->prop.lock_client_maximize;
+ bd->lock_user_fullscreen = rem->prop.lock_user_fullscreen;
+ bd->lock_client_fullscreen = rem->prop.lock_client_fullscreen;
+ bd->lock_border = rem->prop.lock_border;
+ bd->lock_close = rem->prop.lock_close;
+ bd->lock_focus_in = rem->prop.lock_focus_in;
+ bd->lock_focus_out = rem->prop.lock_focus_out;
+ bd->lock_life = rem->prop.lock_life;
+ }
+ if (rem->apply & E_REMEMBER_APPLY_SKIP_WINLIST)
+ bd->user_skip_winlist = rem->prop.skip_winlist;
+ if (rem->apply & E_REMEMBER_APPLY_SKIP_PAGER)
+ bd->client.netwm.state.skip_pager = rem->prop.skip_pager;
+ if (rem->apply & E_REMEMBER_APPLY_SKIP_TASKBAR)
+ bd->client.netwm.state.skip_taskbar = rem->prop.skip_taskbar;
+ if (rem->apply & E_REMEMBER_APPLY_ICON_PREF)
+ bd->icon_preference = rem->prop.icon_preference;
+ if (rem->apply & E_REMEMBER_SET_FOCUS_ON_START)
+ bd->want_focus = 1;
+
+ if (temporary)
+ _e_remember_free(rem);
}
static void
-_e_remember_cb_hook_eval_post_new_border(void *data, void *border)
+_e_remember_init_edd(void)
{
- E_Border *bd = border;
-
- if (!bd->new_client) return;
-
- if ((bd->internal) && (!bd->remember) &&
- (e_config->remember_internal_windows) &&
- (!bd->internal_no_remember))
- {
- E_Remember *rem;
-
- rem = e_remember_new();
- if (!rem) return;
-
- e_remember_default_match_set(rem, bd);
-
- rem->apply = E_REMEMBER_APPLY_POS | E_REMEMBER_APPLY_SIZE | E_REMEMBER_APPLY_BORDER;
- e_remember_use(rem);
- e_remember_update(bd);
- bd->remember = rem;
- }
+ e_remember_edd = E_CONFIG_DD_NEW("E_Remember", E_Remember);
+#undef T
+#undef D
+#define T E_Remember
+#define D e_remember_edd
+ E_CONFIG_VAL(D, T, match, INT);
+ E_CONFIG_VAL(D, T, apply_first_only, UCHAR);
+ E_CONFIG_VAL(D, T, keep_settings, UCHAR);
+ E_CONFIG_VAL(D, T, name, STR);
+ E_CONFIG_VAL(D, T, class, STR);
+ E_CONFIG_VAL(D, T, title, STR);
+ E_CONFIG_VAL(D, T, role, STR);
+ E_CONFIG_VAL(D, T, type, INT);
+ E_CONFIG_VAL(D, T, transient, UCHAR);
+ E_CONFIG_VAL(D, T, apply, INT);
+ E_CONFIG_VAL(D, T, max_score, INT);
+ E_CONFIG_VAL(D, T, prop.pos_x, INT);
+ E_CONFIG_VAL(D, T, prop.pos_y, INT);
+ E_CONFIG_VAL(D, T, prop.res_x, INT);
+ E_CONFIG_VAL(D, T, prop.res_y, INT);
+ E_CONFIG_VAL(D, T, prop.pos_w, INT);
+ E_CONFIG_VAL(D, T, prop.pos_h, INT);
+ E_CONFIG_VAL(D, T, prop.w, INT);
+ E_CONFIG_VAL(D, T, prop.h, INT);
+ E_CONFIG_VAL(D, T, prop.layer, INT);
+ E_CONFIG_VAL(D, T, prop.lock_user_location, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_location, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_size, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_size, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_stacking, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_stacking, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_iconify, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_iconify, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_desk, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_desk, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_sticky, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_sticky, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_shade, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_shade, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_maximize, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_maximize, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_user_fullscreen, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_client_fullscreen, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_border, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_close, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_focus_in, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_focus_out, UCHAR);
+ E_CONFIG_VAL(D, T, prop.lock_life, UCHAR);
+ E_CONFIG_VAL(D, T, prop.border, STR);
+ E_CONFIG_VAL(D, T, prop.sticky, UCHAR);
+ E_CONFIG_VAL(D, T, prop.shaded, UCHAR);
+ E_CONFIG_VAL(D, T, prop.skip_winlist, UCHAR);
+ E_CONFIG_VAL(D, T, prop.skip_pager, UCHAR);
+ E_CONFIG_VAL(D, T, prop.skip_taskbar, UCHAR);
+ E_CONFIG_VAL(D, T, prop.fullscreen, UCHAR);
+ E_CONFIG_VAL(D, T, prop.desk_x, INT);
+ E_CONFIG_VAL(D, T, prop.desk_y, INT);
+ E_CONFIG_VAL(D, T, prop.zone, INT);
+ E_CONFIG_VAL(D, T, prop.head, INT);
+ E_CONFIG_VAL(D, T, prop.command, STR);
+ E_CONFIG_VAL(D, T, prop.icon_preference, UCHAR);
+ E_CONFIG_VAL(D, T, prop.desktop_file, STR);
+#undef T
+#undef D
+ e_remember_list_edd = E_CONFIG_DD_NEW("E_Remember_List", E_Remember_List);
+#undef T
+#undef D
+#define T E_Remember_List
+#define D e_remember_list_edd
+ E_CONFIG_LIST(D, T, list, e_remember_edd);
+#undef T
+#undef D
}
diff --git a/src/bin/e_remember.h b/src/bin/e_remember.h
index fa8ea779b1..12d8de4435 100644
--- a/src/bin/e_remember.h
+++ b/src/bin/e_remember.h
@@ -29,13 +29,15 @@ typedef struct _E_Remember E_Remember;
#define E_REMEMBER_SET_FOCUS_ON_START (1 << 14)
#define E_REMEMBER_APPLY_FULLSCREEN (1 << 15)
+#define E_REMEMBER_INTERNAL_DIALOGS (1 << 0)
+#define E_REMEMBER_INTERNAL_FM_WINS (1 << 1)
+
#else
#ifndef E_REMEMBER_H
#define E_REMEMBER_H
struct _E_Remember
{
- unsigned char delete_me;
int match;
unsigned char apply_first_only;
unsigned char keep_settings;
@@ -110,6 +112,6 @@ EAPI E_Remember *e_remember_find_usable(E_Border *bd);
EAPI void e_remember_match_update(E_Remember *rem);
EAPI void e_remember_update(E_Border *bd);
EAPI int e_remember_default_match_set(E_Remember *rem, E_Border *bd);
-
+EAPI void e_remember_internal_save(void);
#endif
#endif
diff --git a/src/modules/conf_applications/e_int_config_apps.c b/src/modules/conf_applications/e_int_config_apps.c
index 83ec4f0bc0..b4c1ea4066 100644
--- a/src/modules/conf_applications/e_int_config_apps.c
+++ b/src/modules/conf_applications/e_int_config_apps.c
@@ -48,7 +48,7 @@ e_int_config_apps_favs(E_Container *con, const char *params __UNUSED__)
e_user_dir_concat_static(buf, "applications/menu/favorite.menu");
data = E_NEW(E_Config_Data, 1);
data->title = eina_stringshare_add(_("Favorites Menu"));
- data->dialog = eina_stringshare_add("_config_apps_favs_dialog");
+ data->dialog = eina_stringshare_add("menus/favorites_menu");
data->icon = eina_stringshare_add("user-bookmarks");
data->filename = eina_stringshare_add(buf);
@@ -102,7 +102,7 @@ e_int_config_apps_ibar(E_Container *con, const char *params __UNUSED__)
e_user_dir_concat_static(buf, "applications/bar/default/.order");
data = E_NEW(E_Config_Data, 1);
data->title = eina_stringshare_add(_("IBar Applications"));
- data->dialog = eina_stringshare_add("_config_apps_ibar_dialog");
+ data->dialog = eina_stringshare_add("applications/ibar_applications");
data->icon = eina_stringshare_add("preferences-applications-ibar");
data->filename = eina_stringshare_add(buf);
@@ -117,7 +117,7 @@ e_int_config_apps_ibar_other(E_Container *con, const char *path)
if (!path) return NULL;
data = E_NEW(E_Config_Data, 1);
data->title = eina_stringshare_add(_("IBar Applications"));
- data->dialog = eina_stringshare_add("_config_apps_ibar_dialog");
+ data->dialog = eina_stringshare_add("internal/ibar_other");
data->icon = eina_stringshare_add("preferences-applications-ibar");
data->filename = eina_stringshare_add(path);
@@ -133,7 +133,7 @@ e_int_config_apps_startup(E_Container *con, const char *params __UNUSED__)
e_user_dir_concat_static(buf, "applications/startup/.order");
data = E_NEW(E_Config_Data, 1);
data->title = eina_stringshare_add(_("Startup Applications"));
- data->dialog = eina_stringshare_add("_config_apps_startup_dialog");
+ data->dialog = eina_stringshare_add("applications/startup_applications");
data->icon = eina_stringshare_add("preferences-applications-startup");
data->filename = eina_stringshare_add(buf);
@@ -149,7 +149,7 @@ e_int_config_apps_restart(E_Container *con, const char *params __UNUSED__)
e_user_dir_concat_static(buf, "applications/restart/.order");
data = E_NEW(E_Config_Data, 1);
data->title = eina_stringshare_add(_("Restart Applications"));
- data->dialog = eina_stringshare_add("_config_apps_restart_dialog");
+ data->dialog = eina_stringshare_add("applications/restart_applications");
data->icon = eina_stringshare_add("preferences-applications-restart");
data->filename = eina_stringshare_add(buf);
diff --git a/src/modules/conf_borders/e_int_config_borders.c b/src/modules/conf_borders/e_int_config_borders.c
index 37c527466d..6254b38529 100644
--- a/src/modules/conf_borders/e_int_config_borders.c
+++ b/src/modules/conf_borders/e_int_config_borders.c
@@ -28,7 +28,7 @@ e_int_config_borders(E_Container *con, const char *params __UNUSED__)
v = _config_view_new();
if (!v) return NULL;
cfd = e_config_dialog_new(con, _("Default Border Style"),
- "E", "_config_border_style_dialog",
+ "E", "appearance/borders",
"preferences-system-windows", 0, v, con);
return cfd;
}
@@ -48,7 +48,7 @@ e_int_config_borders_border(E_Container *con __UNUSED__, const char *params)
if (!v) return NULL;
cfd = e_config_dialog_new(bd->zone->container,
_("Window Border Selection"),
- "E", "_config_border_border_style_dialog",
+ "E", "internal/borders_border",
"preferences-system-windows", 0, v, bd);
bd->border_border_dialog = cfd;
return cfd;
diff --git a/src/modules/conf_clientlist/e_int_config_clientlist.c b/src/modules/conf_clientlist/e_int_config_clientlist.c
index 763c34975b..9807da9285 100644
--- a/src/modules/conf_clientlist/e_int_config_clientlist.c
+++ b/src/modules/conf_clientlist/e_int_config_clientlist.c
@@ -38,7 +38,7 @@ e_int_config_clientlist(E_Container *con, const char *params __UNUSED__)
v->advanced.create_widgets = NULL;
cfd = e_config_dialog_new(con, _("Client List Settings"), "E",
- "_config_clientlist_dialog",
+ "menus/client_list_menu",
"preferences-winlist", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_colors/e_int_config_color_classes.c b/src/modules/conf_colors/e_int_config_color_classes.c
index 360dfb6967..12873b6508 100644
--- a/src/modules/conf_colors/e_int_config_color_classes.c
+++ b/src/modules/conf_colors/e_int_config_color_classes.c
@@ -116,7 +116,7 @@ e_int_config_color_classes(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_color_classes_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/colors")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
@@ -127,7 +127,7 @@ e_int_config_color_classes(E_Container *con, const char *params __UNUSED__)
v->advanced.apply_cfdata = _adv_apply_data;
v->advanced.create_widgets = _adv_create_widgets;
- cfd = e_config_dialog_new(con, _("Colors"), "E", "_config_color_classes_dialog",
+ cfd = e_config_dialog_new(con, _("Colors"), "E", "appearance/colors",
"preferences-desktop-color", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_desk/e_int_config_desk.c b/src/modules/conf_desk/e_int_config_desk.c
index eb8c089999..fc0b9b957f 100644
--- a/src/modules/conf_desk/e_int_config_desk.c
+++ b/src/modules/conf_desk/e_int_config_desk.c
@@ -33,7 +33,7 @@ e_int_config_desk(E_Container *con, const char *params)
if (sscanf(params, "%i %i %i %i", &con_num, &zone_num, &dx, &dy) != 4)
return NULL;
- if (e_config_dialog_find("E", "_config_desk_dialog")) return NULL;
+ if (e_config_dialog_find("E", "internal/desk")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
@@ -49,7 +49,7 @@ e_int_config_desk(E_Container *con, const char *params)
v->basic.create_widgets = _basic_create;
v->override_auto_apply = 1;
- cfd = e_config_dialog_new(con, _("Desk Settings"), "E", "_config_desk_dialog",
+ cfd = e_config_dialog_new(con, _("Desk Settings"), "E", "internal/desk",
"preferences-desktop", 0, v, cfdata);
return cfd;
}
diff --git a/src/modules/conf_desklock/e_int_config_desklock.c b/src/modules/conf_desklock/e_int_config_desklock.c
index 9847b436bb..671c6ce217 100644
--- a/src/modules/conf_desklock/e_int_config_desklock.c
+++ b/src/modules/conf_desklock/e_int_config_desklock.c
@@ -79,7 +79,7 @@ e_int_config_desklock(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_desklock_dialog")) return NULL;
+ if (e_config_dialog_find("E", "screen/screen_lock")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
v->create_cfdata = _create_data;
@@ -94,7 +94,7 @@ e_int_config_desklock(E_Container *con, const char *params __UNUSED__)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con, _("Screen Lock Settings"), "E",
- "_config_desklock_dialog", "preferences-desklock",
+ "screen/screen_lock", "preferences-desklock",
0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_desks/e_int_config_desks.c b/src/modules/conf_desks/e_int_config_desks.c
index 2177b6dc18..8fa2a9f99e 100644
--- a/src/modules/conf_desks/e_int_config_desks.c
+++ b/src/modules/conf_desks/e_int_config_desks.c
@@ -45,7 +45,7 @@ e_int_config_desks(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_desks_dialog")) return NULL;
+ if (e_config_dialog_find("E", "screen/virtual_desktops")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
/* methods */
@@ -60,7 +60,7 @@ e_int_config_desks(E_Container *con, const char *params __UNUSED__)
/* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con,
_("Virtual Desktops Settings"),
- "E", "_config_desks_dialog",
+ "E", "screen/virtual_desktops",
"preferences-desktop", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_dialogs/e_int_config_dialogs.c b/src/modules/conf_dialogs/e_int_config_dialogs.c
index 530106a51c..85d68ffdc0 100644
--- a/src/modules/conf_dialogs/e_int_config_dialogs.c
+++ b/src/modules/conf_dialogs/e_int_config_dialogs.c
@@ -15,6 +15,7 @@ struct _E_Config_Dialog_Data
int cfgdlg_auto_apply;
int cfgdlg_default_mode;
int cfgdlg_normal_wins;
+ int remember_windows;
};
EAPI E_Config_Dialog *
@@ -23,7 +24,7 @@ e_int_config_dialogs(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_config_dialog_dialog")) return NULL;
+ if (e_config_dialog_find("E", "settings/dialogs")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -34,7 +35,7 @@ e_int_config_dialogs(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Dialog Settings"),
- "E", "_config_config_dialog_dialog",
+ "E", "settings/dialogs",
"preferences-dialogs", 0, v, NULL);
return cfd;
}
@@ -46,6 +47,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->cfgdlg_auto_apply = e_config->cfgdlg_auto_apply;
cfdata->cfgdlg_default_mode = e_config->cfgdlg_default_mode;
cfdata->cfgdlg_normal_wins = e_config->cfgdlg_normal_wins;
+ cfdata->remember_windows = (e_config->remember_internal_windows & E_REMEMBER_INTERNAL_DIALOGS);
}
static void *
@@ -72,6 +74,11 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
/* (e_config->cfgdlg_auto_apply = cfdata->cfgdlg_auto_apply; */
e_config->cfgdlg_default_mode = cfdata->cfgdlg_default_mode;
e_config->cfgdlg_normal_wins = cfdata->cfgdlg_normal_wins;
+ if (cfdata->remember_windows)
+ e_config->remember_internal_windows |= E_REMEMBER_INTERNAL_DIALOGS;
+ else
+ e_config->remember_internal_windows &= ~E_REMEMBER_INTERNAL_DIALOGS;
+
e_config_save_queue();
return 1;
}
@@ -105,6 +112,11 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_list_object_append(o, of, 1, 1, 0.5);
+ of = e_widget_framelist_add(evas, _("Remember"), 0);
+ ob = e_widget_check_add(evas, _("Remember size and position of dialogs"), &(cfdata->remember_windows));
+ e_widget_framelist_object_append(of, ob);
+ e_widget_list_object_append(o, of, 1, 1, 0.5);
+
return o;
}
diff --git a/src/modules/conf_display/e_int_config_display.c b/src/modules/conf_display/e_int_config_display.c
index 3eddde31c0..26560f6938 100644
--- a/src/modules/conf_display/e_int_config_display.c
+++ b/src/modules/conf_display/e_int_config_display.c
@@ -216,7 +216,7 @@ e_int_config_display(E_Container *con, const char *params __UNUSED__)
return NULL;
}
- if (e_config_dialog_find("E", "_config_display_dialog")) return NULL;
+ if (e_config_dialog_find("E", "screen/screen_resolution")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
v->free_cfdata = _free_data;
@@ -226,7 +226,7 @@ e_int_config_display(E_Container *con, const char *params __UNUSED__)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con, _("Screen Resolution Settings"),
- "E", "_config_display_dialog",
+ "E", "screen/screen_resolution",
"preferences-system-screen-resolution", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_dpms/e_int_config_dpms.c b/src/modules/conf_dpms/e_int_config_dpms.c
index ba43967cd9..58a7dda83b 100644
--- a/src/modules/conf_dpms/e_int_config_dpms.c
+++ b/src/modules/conf_dpms/e_int_config_dpms.c
@@ -95,7 +95,7 @@ e_int_config_dpms(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if ((e_config_dialog_find("E", "_config_dpms_dialog")) ||
+ if ((e_config_dialog_find("E", "screen/power_management")) ||
(!_e_int_config_dpms_available()) ||
(!_e_int_config_dpms_capable()))
return NULL;
@@ -110,7 +110,7 @@ e_int_config_dpms(E_Container *con, const char *params __UNUSED__)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con, _("Display Power Management Settings"), "E",
- "_config_dpms_dialog", "preferences-system-power-management",
+ "screen/power_management", "preferences-system-power-management",
0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_edgebindings/e_int_config_edgebindings.c b/src/modules/conf_edgebindings/e_int_config_edgebindings.c
index 26c88bb7db..1c945fd11a 100644
--- a/src/modules/conf_edgebindings/e_int_config_edgebindings.c
+++ b/src/modules/conf_edgebindings/e_int_config_edgebindings.c
@@ -90,7 +90,7 @@ e_int_config_edgebindings(E_Container *con, const char *params)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_edgebindings_dialog")) return NULL;
+ if (e_config_dialog_find("E", "keyboard_and_mouse/edge_bindings")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -100,7 +100,7 @@ e_int_config_edgebindings(E_Container *con, const char *params)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con, _("Edge Binding Settings"), "E",
- "_config_edgebindings_dialog",
+ "keyboard_and_mouse/edge_bindings",
"enlightenment/edges", 0, v, NULL);
if ((params) && (params[0]))
{
diff --git a/src/modules/conf_engine/e_int_config_engine.c b/src/modules/conf_engine/e_int_config_engine.c
index 0bc8a237e1..08346ae1aa 100644
--- a/src/modules/conf_engine/e_int_config_engine.c
+++ b/src/modules/conf_engine/e_int_config_engine.c
@@ -25,7 +25,7 @@ e_int_config_engine(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_engine_dialog")) return NULL;
+ if (e_config_dialog_find("E", "advanced/engine")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
v->create_cfdata = _create_data;
@@ -36,7 +36,7 @@ e_int_config_engine(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Engine Settings"),
- "E", "_config_engine_dialog",
+ "E", "advanced/engine",
"preferences-engine", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_exebuf/e_int_config_exebuf.c b/src/modules/conf_exebuf/e_int_config_exebuf.c
index c39621399e..2f89346f63 100644
--- a/src/modules/conf_exebuf/e_int_config_exebuf.c
+++ b/src/modules/conf_exebuf/e_int_config_exebuf.c
@@ -36,7 +36,7 @@ e_int_config_exebuf(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_exebuf_dialog")) return NULL;
+ if (e_config_dialog_find("E", "advanced/run_command")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -47,7 +47,7 @@ e_int_config_exebuf(E_Container *con, const char *params __UNUSED__)
v->advanced.create_widgets = _advanced_create_widgets;
cfd = e_config_dialog_new(con,
_("Run Command Settings"),
- "E", "_config_exebuf_dialog",
+ "E", "advanced/run_command",
"system-run", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_fonts/e_int_config_fonts.c b/src/modules/conf_fonts/e_int_config_fonts.c
index 824f715a99..c6a571bfc2 100644
--- a/src/modules/conf_fonts/e_int_config_fonts.c
+++ b/src/modules/conf_fonts/e_int_config_fonts.c
@@ -155,7 +155,7 @@ e_int_config_fonts(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_fonts_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/fonts")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -166,7 +166,7 @@ e_int_config_fonts(E_Container *con, const char *params __UNUSED__)
v->advanced.apply_cfdata = _advanced_apply_data;
cfd = e_config_dialog_new(con, _("Font Settings"),
- "E", "_config_fonts_dialog",
+ "E", "appearance/fonts",
"preferences-desktop-font", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_icon_theme/e_int_config_icon_themes.c b/src/modules/conf_icon_theme/e_int_config_icon_themes.c
index 3bb74bc038..95ea7ce906 100644
--- a/src/modules/conf_icon_theme/e_int_config_icon_themes.c
+++ b/src/modules/conf_icon_theme/e_int_config_icon_themes.c
@@ -30,7 +30,7 @@ e_int_config_icon_themes(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_icon_theme_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/icon_theme")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -41,7 +41,7 @@ e_int_config_icon_themes(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Icon Theme Settings"),
- "E", "_config_icon_theme_dialog",
+ "E", "appearance/icon_theme",
"preferences-icon-theme", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_imc/e_int_config_imc.c b/src/modules/conf_imc/e_int_config_imc.c
index 7ed527a90d..15fe9c8eb6 100644
--- a/src/modules/conf_imc/e_int_config_imc.c
+++ b/src/modules/conf_imc/e_int_config_imc.c
@@ -95,7 +95,7 @@ e_int_config_imc(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_imc_dialog")) return NULL;
+ if (e_config_dialog_find("E", "language/input_method_settings")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -107,7 +107,7 @@ e_int_config_imc(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Input Method Settings"),
- "E", "_config_imc_dialog",
+ "E", "language/input_method_settings",
"preferences-imc", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_interaction/e_int_config_interaction.c b/src/modules/conf_interaction/e_int_config_interaction.c
index 44db4b89f5..fe997f6810 100644
--- a/src/modules/conf_interaction/e_int_config_interaction.c
+++ b/src/modules/conf_interaction/e_int_config_interaction.c
@@ -23,7 +23,7 @@ e_int_config_interaction(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_config_interaction_dialog")) return NULL;
+ if (e_config_dialog_find("E", "keyboard_and_mouse/interaction")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -35,7 +35,7 @@ e_int_config_interaction(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Interaction Settings"),
- "E", "_config_config_interaction_dialog",
+ "E", "keyboard_and_mouse/interaction",
"preferences-interaction", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_intl/e_int_config_intl.c b/src/modules/conf_intl/e_int_config_intl.c
index 826bf19e95..1d507ee750 100644
--- a/src/modules/conf_intl/e_int_config_intl.c
+++ b/src/modules/conf_intl/e_int_config_intl.c
@@ -569,7 +569,7 @@ e_int_config_intl(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_intl_dialog")) return NULL;
+ if (e_config_dialog_find("E", "language/language_settings")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -581,7 +581,7 @@ e_int_config_intl(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Language Settings"),
- "E", "_config_intl_dialog",
+ "E", "language/language_settings",
"preferences-desktop-locale", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_keybindings/e_int_config_keybindings.c b/src/modules/conf_keybindings/e_int_config_keybindings.c
index 4ebf0374fd..d419f8bb2a 100644
--- a/src/modules/conf_keybindings/e_int_config_keybindings.c
+++ b/src/modules/conf_keybindings/e_int_config_keybindings.c
@@ -80,7 +80,7 @@ e_int_config_keybindings(E_Container *con, const char *params)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_keybindings_dialog")) return NULL;
+ if (e_config_dialog_find("E", "keyboard_and_mouse/key_bindings")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -90,7 +90,7 @@ e_int_config_keybindings(E_Container *con, const char *params)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con, _("Key Binding Settings"), "E",
- "_config_keybindings_dialog",
+ "keyboard_and_mouse/key_bindings",
"preferences-desktop-keyboard", 0, v, NULL);
if ((params) && (params[0]))
{
diff --git a/src/modules/conf_menus/e_int_config_menus.c b/src/modules/conf_menus/e_int_config_menus.c
index ef977a8a89..95a75343c2 100644
--- a/src/modules/conf_menus/e_int_config_menus.c
+++ b/src/modules/conf_menus/e_int_config_menus.c
@@ -30,7 +30,7 @@ e_int_config_menus(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_menus_dialog")) return NULL;
+ if (e_config_dialog_find("E", "menus/menu_settings")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -42,7 +42,7 @@ e_int_config_menus(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Menu Settings"),
- "E", "_config_menus_dialog",
+ "E", "menus/menu_settings",
"preferences-menus", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_mime/e_int_config_mime.c b/src/modules/conf_mime/e_int_config_mime.c
index 6057dc7308..b6006bf125 100644
--- a/src/modules/conf_mime/e_int_config_mime.c
+++ b/src/modules/conf_mime/e_int_config_mime.c
@@ -54,14 +54,14 @@ e_int_config_mime(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_mime_dialog")) return NULL;
+ if (e_config_dialog_find("E", "fileman/file_icons")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
v->free_cfdata = _free_data;
v->basic.create_widgets = _basic_create;
- cfd = e_config_dialog_new(con, _("File Icons"), "E", "_config_mime_dialog",
+ cfd = e_config_dialog_new(con, _("File Icons"), "E", "fileman/file_icons",
"preferences-file-icons", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_mouse/e_int_config_mouse.c b/src/modules/conf_mouse/e_int_config_mouse.c
index 9786e38c13..8aee863fec 100644
--- a/src/modules/conf_mouse/e_int_config_mouse.c
+++ b/src/modules/conf_mouse/e_int_config_mouse.c
@@ -23,7 +23,7 @@ e_int_config_mouse(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_mouse_dialog"))
+ if (e_config_dialog_find("E", "keyboard_and_mouse/mouse_settings"))
return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
@@ -35,7 +35,7 @@ e_int_config_mouse(E_Container *con, const char *params __UNUSED__)
v->basic.check_changed = _basic_check_changed;
cfd = e_config_dialog_new(con, _("Mouse Settings"), "E",
- "_config_mouse_dialog",
+ "keyboard_and_mouse/mouse_settings",
"preferences-desktop-mouse", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_mouse_cursor/e_int_config_cursor.c b/src/modules/conf_mouse_cursor/e_int_config_cursor.c
index ddfba6f482..0e4aa9df61 100644
--- a/src/modules/conf_mouse_cursor/e_int_config_cursor.c
+++ b/src/modules/conf_mouse_cursor/e_int_config_cursor.c
@@ -31,7 +31,7 @@ e_int_config_cursor(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_cursor_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/mouse_cursor")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -43,7 +43,7 @@ e_int_config_cursor(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Cursor Settings"),
- "E", "_config_cursor_dialog",
+ "E", "appearance/mouse_cursor",
"preferences-desktop-pointer", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_mousebindings/e_int_config_mousebindings.c b/src/modules/conf_mousebindings/e_int_config_mousebindings.c
index e95050dc0d..939c939bf6 100644
--- a/src/modules/conf_mousebindings/e_int_config_mousebindings.c
+++ b/src/modules/conf_mousebindings/e_int_config_mousebindings.c
@@ -99,7 +99,7 @@ e_int_config_mousebindings(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_mousebindings_dialog")) return NULL;
+ if (e_config_dialog_find("E", "keyboard_and_mouse/mouse_bindings")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -110,7 +110,7 @@ e_int_config_mousebindings(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Mouse Binding Settings"),
- "E", "_config_mousebindings_dialog",
+ "E", "keyboard_and_mouse/mouse_bindings",
"preferences-desktop-mouse", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_paths/e_int_config_paths.c b/src/modules/conf_paths/e_int_config_paths.c
index d40858fac4..8131b85336 100644
--- a/src/modules/conf_paths/e_int_config_paths.c
+++ b/src/modules/conf_paths/e_int_config_paths.c
@@ -51,7 +51,7 @@ e_int_config_paths(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_paths_dialog")) return NULL;
+ if (e_config_dialog_find("E", "advanced/search_directories")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -60,7 +60,7 @@ e_int_config_paths(E_Container *con, const char *params __UNUSED__)
v->basic.apply_cfdata = _basic_apply_data;
cfd = e_config_dialog_new(con, _("Search Path Settings"),
- "E", "_config_paths_dialog",
+ "E", "advanced/search_directories",
"preferences-directories", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_performance/e_int_config_performance.c b/src/modules/conf_performance/e_int_config_performance.c
index d227e7f100..1ea07b33e3 100644
--- a/src/modules/conf_performance/e_int_config_performance.c
+++ b/src/modules/conf_performance/e_int_config_performance.c
@@ -26,7 +26,7 @@ e_int_config_performance(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_performance_dialog")) return NULL;
+ if (e_config_dialog_find("E", "advanced/performance")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -38,7 +38,7 @@ e_int_config_performance(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Performance Settings"),
- "E", "_config_performance_dialog",
+ "E", "advanced/performance",
"preferences-system-performance", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_profiles/e_int_config_profiles.c b/src/modules/conf_profiles/e_int_config_profiles.c
index b27a78c555..9cd410f54b 100644
--- a/src/modules/conf_profiles/e_int_config_profiles.c
+++ b/src/modules/conf_profiles/e_int_config_profiles.c
@@ -43,7 +43,7 @@ e_int_config_profiles(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_profiles_dialog")) return NULL;
+ if (e_config_dialog_find("E", "settings/profiles")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
v->create_cfdata = _create_data;
@@ -53,7 +53,7 @@ e_int_config_profiles(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Profile Selector"),
- "E", "_config_profiles_dialog",
+ "E", "settings/profiles",
"preferences-profiles", 0, v, NULL);
e_config_dialog_changed_auto_set(cfd, 0);
return cfd;
diff --git a/src/modules/conf_scale/e_int_config_scale.c b/src/modules/conf_scale/e_int_config_scale.c
index 7100fa2a74..cce7b3f1b9 100644
--- a/src/modules/conf_scale/e_int_config_scale.c
+++ b/src/modules/conf_scale/e_int_config_scale.c
@@ -45,7 +45,7 @@ e_int_config_scale(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_scale_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/scale")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -59,7 +59,7 @@ e_int_config_scale(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Scaling Settings"),
- "E", "_config_scale_dialog",
+ "E", "appearance/scale",
"preferences-scale", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_screensaver/e_int_config_screensaver.c b/src/modules/conf_screensaver/e_int_config_screensaver.c
index 946720e6d6..5b1176fc78 100644
--- a/src/modules/conf_screensaver/e_int_config_screensaver.c
+++ b/src/modules/conf_screensaver/e_int_config_screensaver.c
@@ -52,7 +52,7 @@ e_int_config_screensaver(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_screensaver_dialog")) return NULL;
+ if (e_config_dialog_find("E", "screen/screen_saver")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -65,7 +65,7 @@ e_int_config_screensaver(E_Container *con, const char *params __UNUSED__)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con,_("Screen Saver Settings"),
- "E", "_config_screensaver_dialog",
+ "E", "screen/screen_saver",
"preferences-desktop-screensaver", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_shelves/e_int_config_shelf.c b/src/modules/conf_shelves/e_int_config_shelf.c
index 0e6a75fcc0..e2c1c7f92a 100644
--- a/src/modules/conf_shelves/e_int_config_shelf.c
+++ b/src/modules/conf_shelves/e_int_config_shelf.c
@@ -33,7 +33,7 @@ e_int_config_shelf(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_shelf_dialog")) return NULL;
+ if (e_config_dialog_find("E", "extensions/shelves")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
v->create_cfdata = _create_data;
@@ -41,7 +41,7 @@ e_int_config_shelf(E_Container *con, const char *params __UNUSED__)
v->basic.create_widgets = _basic_create;
cfd = e_config_dialog_new(con, _("Shelf Settings"), "E",
- "_config_shelf_dialog",
+ "extensions/shelves",
"preferences-desktop-shelf", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_startup/e_int_config_startup.c b/src/modules/conf_startup/e_int_config_startup.c
index c7141ef155..4de11bf2d3 100644
--- a/src/modules/conf_startup/e_int_config_startup.c
+++ b/src/modules/conf_startup/e_int_config_startup.c
@@ -27,7 +27,7 @@ e_int_config_startup(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_startup_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/startup")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -37,7 +37,7 @@ e_int_config_startup(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Startup Settings"),
- "E", "_config_startup_dialog",
+ "E", "appearance/startup",
"preferences-startup", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_theme/e_int_config_theme.c b/src/modules/conf_theme/e_int_config_theme.c
index 49e1665d5e..fc8bbae78a 100644
--- a/src/modules/conf_theme/e_int_config_theme.c
+++ b/src/modules/conf_theme/e_int_config_theme.c
@@ -76,7 +76,7 @@ e_int_config_theme(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_theme_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/theme")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -88,7 +88,7 @@ e_int_config_theme(E_Container *con, const char *params __UNUSED__)
v->override_auto_apply = 1;
cfd = e_config_dialog_new(con,
_("Theme Selector"),
- "E", "_config_theme_dialog",
+ "E", "appearance/theme",
"preferences-desktop-theme", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_transitions/e_int_config_transitions.c b/src/modules/conf_transitions/e_int_config_transitions.c
index c99461305a..fbd757327c 100644
--- a/src/modules/conf_transitions/e_int_config_transitions.c
+++ b/src/modules/conf_transitions/e_int_config_transitions.c
@@ -32,7 +32,7 @@ e_int_config_transitions(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_transitions_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/transitions")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
if (!v) return NULL;
@@ -42,7 +42,7 @@ e_int_config_transitions(E_Container *con, const char *params __UNUSED__)
v->basic.create_widgets = _basic_create_widgets;
cfd = e_config_dialog_new(con, _("Transition Settings"),
- "E", "_config_transitions_dialog",
+ "E", "appearance/transitions",
"preferences-transitions", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_wallpaper/e_int_config_wallpaper.c b/src/modules/conf_wallpaper/e_int_config_wallpaper.c
index 82c0695199..48d21d1ed2 100644
--- a/src/modules/conf_wallpaper/e_int_config_wallpaper.c
+++ b/src/modules/conf_wallpaper/e_int_config_wallpaper.c
@@ -83,7 +83,7 @@ _e_int_config_wallpaper_desk(E_Container *con, int con_num, int zone_num, int de
E_Config_Dialog_View *v;
E_Config_Wallpaper *cw;
- if (e_config_dialog_find("E", "_config_wallpaper_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/wallpaper")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
cw = E_NEW(E_Config_Wallpaper, 1);
@@ -108,7 +108,7 @@ _e_int_config_wallpaper_desk(E_Container *con, int con_num, int zone_num, int de
cw->desk_y = desk_y;
cfd = e_config_dialog_new(con, _("Wallpaper Settings"), "E",
- "_config_wallpaper_dialog",
+ "appearance/wallpaper",
"preferences-desktop-wallpaper", 0, v, cw);
return cfd;
}
diff --git a/src/modules/conf_wallpaper2/e_int_config_wallpaper.c b/src/modules/conf_wallpaper2/e_int_config_wallpaper.c
index da33f32f86..92c114aa0e 100644
--- a/src/modules/conf_wallpaper2/e_int_config_wallpaper.c
+++ b/src/modules/conf_wallpaper2/e_int_config_wallpaper.c
@@ -1149,7 +1149,7 @@ wp_browser_new(E_Container *con)
info->dirs = eina_list_append(info->dirs, strdup(buf));
e_win_title_set(win, _("Wallpaper Settings"));
- e_win_name_class_set(win, "E", "_config_wallpaper_dialog");
+ e_win_name_class_set(win, "E", "_config::appearance/wallpaper2");
e_win_border_icon_set(win, "preferences-desktop-wallpaper");
e_win_resize_callback_set(win, _resize);
e_win_delete_callback_set(win, _delete);
diff --git a/src/modules/conf_window_display/e_int_config_window_display.c b/src/modules/conf_window_display/e_int_config_window_display.c
index d1db6448bf..50afeb8acf 100644
--- a/src/modules/conf_window_display/e_int_config_window_display.c
+++ b/src/modules/conf_window_display/e_int_config_window_display.c
@@ -31,7 +31,7 @@ struct _E_Config_Dialog_Data
int border_shade_transition;
double border_shade_speed;
int use_app_icon;
- int remember_internal_windows;
+ /* int remember_internal_windows; */
};
Eina_List *shading_list = NULL;
@@ -43,7 +43,7 @@ e_int_config_window_display(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_window_display_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_display")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
/* methods */
@@ -56,7 +56,7 @@ e_int_config_window_display(E_Container *con, const char *params __UNUSED__)
/* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con,
_("Window Display"),
- "E", "_config_window_display_dialog",
+ "E", "windows/window_display",
"preferences-system-windows", 0, v, NULL);
return cfd;
}
@@ -77,7 +77,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
cfdata->resize_info_visible) cfdata->move_resize_info = 1;
if (cfdata->border_shade_animate) cfdata->animate_shading = 1;
cfdata->use_app_icon = e_config->use_app_icon;
- cfdata->remember_internal_windows = e_config->remember_internal_windows;
+ /* cfdata->remember_internal_windows = e_config->remember_internal_windows; */
cfdata->desk_auto_switch = e_config->desk_auto_switch;
}
@@ -143,7 +143,7 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
e_config->border_shade_transition = cfdata->border_shade_transition;
e_config->border_shade_speed = cfdata->border_shade_speed;
e_config->use_app_icon = cfdata->use_app_icon;
- e_config->remember_internal_windows = cfdata->remember_internal_windows;
+ /* e_config->remember_internal_windows = cfdata->remember_internal_windows; */
e_config->desk_auto_switch = cfdata->desk_auto_switch;
e_config_save_queue();
return 1; /* Apply was OK */
@@ -275,11 +275,11 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
e_widget_framelist_object_append(of, ob);
e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
- of = e_widget_framelist_add(evas, _("Internal Windows"), 0);
- e_widget_framelist_content_align_set(of, 0.0, 0.0);
- ob = e_widget_check_add(evas, _("Always remember internal windows"), &(cfdata->remember_internal_windows));
- e_widget_framelist_object_append(of, ob);
- e_widget_table_object_append(ot, of, 1, 2, 1, 1, 1, 1, 1, 1);
+ /* of = e_widget_framelist_add(evas, _("Internal Windows"), 0);
+ * e_widget_framelist_content_align_set(of, 0.0, 0.0);
+ * ob = e_widget_check_add(evas, _("Always remember internal windows"), &(cfdata->remember_internal_windows));
+ * e_widget_framelist_object_append(of, ob);
+ * e_widget_table_object_append(ot, of, 1, 2, 1, 1, 1, 1, 1, 1); */
return ot;
}
diff --git a/src/modules/conf_window_focus/e_int_config_focus.c b/src/modules/conf_window_focus/e_int_config_focus.c
index e0b1d9320e..4f39be3ac9 100644
--- a/src/modules/conf_window_focus/e_int_config_focus.c
+++ b/src/modules/conf_window_focus/e_int_config_focus.c
@@ -35,7 +35,7 @@ e_int_config_focus(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_focus_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_focus")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
/* methods */
@@ -48,7 +48,7 @@ e_int_config_focus(E_Container *con, const char *params __UNUSED__)
/* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con,
_("Focus Settings"),
- "E", "_config_focus_dialog",
+ "E", "windows/window_focus",
"preferences-focus", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_window_manipulation/e_int_config_window_geometry.c b/src/modules/conf_window_manipulation/e_int_config_window_geometry.c
index d94fef5c0a..ce6f960c08 100644
--- a/src/modules/conf_window_manipulation/e_int_config_window_geometry.c
+++ b/src/modules/conf_window_manipulation/e_int_config_window_geometry.c
@@ -41,7 +41,7 @@ e_int_config_window_geometry(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_window_geometry_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_geometry")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
/* methods */
@@ -52,7 +52,7 @@ e_int_config_window_geometry(E_Container *con, const char *params __UNUSED__)
/* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con,
_("Window Geometry"),
- "E", "_config_window_geometry_dialog",
+ "E", "windows/window_geometry",
"preferences-window-manipulation", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_window_manipulation/e_int_config_window_maxpolicy.c b/src/modules/conf_window_manipulation/e_int_config_window_maxpolicy.c
index e48f407852..00590e7f43 100644
--- a/src/modules/conf_window_manipulation/e_int_config_window_maxpolicy.c
+++ b/src/modules/conf_window_manipulation/e_int_config_window_maxpolicy.c
@@ -29,7 +29,7 @@ e_int_config_window_maxpolicy(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_window_maxpolicy_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_maxpolicy")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
/* methods */
@@ -42,7 +42,7 @@ e_int_config_window_maxpolicy(E_Container *con, const char *params __UNUSED__)
/* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con,
_("Window Maximize Policy"),
- "E", "_config_window_maxpolicy_dialog",
+ "E", "windows/window_maxpolicy",
"preferences-window-manipulation", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_window_manipulation/e_int_config_window_stacking.c b/src/modules/conf_window_manipulation/e_int_config_window_stacking.c
index 03110700fb..0fc22b6b6b 100644
--- a/src/modules/conf_window_manipulation/e_int_config_window_stacking.c
+++ b/src/modules/conf_window_manipulation/e_int_config_window_stacking.c
@@ -33,7 +33,7 @@ e_int_config_window_stacking(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_window_stacking_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_stacking")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
/* methods */
@@ -46,7 +46,7 @@ e_int_config_window_stacking(E_Container *con, const char *params __UNUSED__)
/* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con,
_("Window Stacking"),
- "E", "_config_window_stacking_dialog",
+ "E", "windows/window_stacking",
"preferences-window-stacking", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/conf_window_remembers/e_int_config_remembers.c b/src/modules/conf_window_remembers/e_int_config_remembers.c
index e78089270f..42301252e6 100644
--- a/src/modules/conf_window_remembers/e_int_config_remembers.c
+++ b/src/modules/conf_window_remembers/e_int_config_remembers.c
@@ -3,6 +3,7 @@
/* function protos */
static void *_create_data(E_Config_Dialog *cfd);
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
+static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static void _fill_remembers(E_Config_Dialog_Data *cfdata);
static void _cb_delete(void *data, void *data2);
@@ -11,6 +12,8 @@ static void _cb_list_change(void *data, Evas_Object *obj);
struct _E_Config_Dialog_Data
{
Evas_Object *list, *btn, *name, *class, *title, *role;
+ int remember_dialogs;
+ int remember_fm_wins;
};
EAPI E_Config_Dialog *
@@ -19,15 +22,16 @@ e_int_config_remembers(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_remembers_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_remembers")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
v->free_cfdata = _free_data;
+ v->basic.apply_cfdata = _basic_apply_data;
v->basic.create_widgets = _basic_create;
cfd = e_config_dialog_new(con, _("Window Remembers"), "E",
- "_config_remembers_dialog",
+ "windows/window_remembers",
"preferences-desktop-window-remember", 0, v, NULL);
e_dialog_resizable_set(cfd->dia, 1);
return cfd;
@@ -75,6 +79,9 @@ _create_data(E_Config_Dialog *cfd)
E_Config_Dialog_Data *cfdata;
cfdata = E_NEW(E_Config_Dialog_Data, 1);
+ cfdata->remember_dialogs = (e_config->remember_internal_windows & E_REMEMBER_INTERNAL_DIALOGS);
+ cfdata->remember_fm_wins = (e_config->remember_internal_windows & E_REMEMBER_INTERNAL_FM_WINS);
+
return cfdata;
}
@@ -84,6 +91,23 @@ _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
E_FREE(cfdata);
}
+static int
+_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
+{
+ if (cfdata->remember_dialogs)
+ e_config->remember_internal_windows |= E_REMEMBER_INTERNAL_DIALOGS;
+ else
+ e_config->remember_internal_windows &= ~E_REMEMBER_INTERNAL_DIALOGS;
+
+ if (cfdata->remember_fm_wins)
+ e_config->remember_internal_windows |= E_REMEMBER_INTERNAL_FM_WINS;
+ else
+ e_config->remember_internal_windows &= ~E_REMEMBER_INTERNAL_FM_WINS;
+
+ e_config_save_queue();
+ return 1;
+}
+
static Evas_Object *
_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
{
@@ -92,6 +116,11 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
o = e_widget_list_add(evas, 0, 0);
of = e_widget_frametable_add(evas, _("Window Remembers"), 0);
+ ow = e_widget_check_add(evas, _("Remember internal dialogs"), &(cfdata->remember_dialogs));
+ e_widget_frametable_object_append(of, ow, 0, 0, 1, 1, 1, 1, 1, 0);
+ ow = e_widget_check_add(evas, _("Remember fileman windows"), &(cfdata->remember_fm_wins));
+ e_widget_frametable_object_append(of, ow, 0, 1, 1, 1, 1, 1, 1, 0);
+
ow = e_widget_button_add(evas, _("Delete Remember(s)"), "list-remove",
_cb_delete, cfdata, NULL);
cfdata->btn = ow;
@@ -124,12 +153,11 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
cfdata->role = ow;
e_widget_frametable_object_append(of2, cfdata->role, 1, 3, 1, 1, 1, 1, 1, 0);
- e_widget_frametable_object_append(of, cfdata->list, 0, 0, 1, 1, 1, 1, 1, 1);
- e_widget_frametable_object_append(of, of2, 0, 1, 1, 1, 1, 1, 1, 0);
- e_widget_frametable_object_append(of, cfdata->btn, 0, 2, 1, 1, 1, 1, 1, 0);
-
+ e_widget_frametable_object_append(of, cfdata->list, 0, 2, 1, 1, 1, 1, 1, 1);
+ e_widget_frametable_object_append(of, of2, 0, 3, 1, 1, 1, 1, 1, 0);
+ e_widget_frametable_object_append(of, cfdata->btn, 0, 4, 1, 1, 1, 1, 1, 0);
e_widget_list_object_append(o, of, 1, 1, 0.5);
-
+
e_widget_disabled_set(cfdata->btn, 1);
return o;
}
diff --git a/src/modules/conf_winlist/e_int_config_winlist.c b/src/modules/conf_winlist/e_int_config_winlist.c
index be09336c03..7e29a76970 100644
--- a/src/modules/conf_winlist/e_int_config_winlist.c
+++ b/src/modules/conf_winlist/e_int_config_winlist.c
@@ -48,7 +48,7 @@ e_int_config_winlist(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_winlist_dialog")) return NULL;
+ if (e_config_dialog_find("E", "windows/window_list")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -60,7 +60,7 @@ e_int_config_winlist(E_Container *con, const char *params __UNUSED__)
cfd = e_config_dialog_new(con,
_("Window List Settings"),
- "E", "_config_winlist_dialog",
+ "E", "windows/window_list",
"preferences-winlist", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/dropshadow/e_mod_config.c b/src/modules/dropshadow/e_mod_config.c
index e7c47104c9..7ee0d99771 100644
--- a/src/modules/dropshadow/e_mod_config.c
+++ b/src/modules/dropshadow/e_mod_config.c
@@ -27,7 +27,7 @@ e_int_config_dropshadow_module(E_Container *con, const char *params __UNUSED__)
Dropshadow *ds;
ds = dropshadow_mod->data;
- if (e_config_dialog_find("E", "_e_mod_dropshadow_config_dialog")) return NULL;
+ if (e_config_dialog_find("E", "appearance/dropshadow")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -38,7 +38,7 @@ e_int_config_dropshadow_module(E_Container *con, const char *params __UNUSED__)
snprintf(buf, sizeof(buf), "%s/e-module-dropshadow.edj", e_module_dir_get(ds->module));
cfd = e_config_dialog_new(con,
_("Dropshadow Settings"),
- "E", "_e_mod_dropshadow_config_dialog",
+ "E", "appearance/dropshadow",
buf, 0, v, ds);
ds->config_dialog = cfd;
return cfd;
diff --git a/src/modules/everything/e_mod_main.c b/src/modules/everything/e_mod_main.c
index 8a40ff5365..f637611a5d 100644
--- a/src/modules/everything/e_mod_main.c
+++ b/src/modules/everything/e_mod_main.c
@@ -206,8 +206,8 @@ _config_init()
{
evry_conf = E_NEW(Config, 1);
evry_conf->version = CONFIG_VERSION;
- evry_conf->rel_x = 50.0;
- evry_conf->rel_y = 50.0;
+ evry_conf->rel_x = 0.5;
+ evry_conf->rel_y = 0.33;
evry_conf->width = 0;
evry_conf->height = 0;
evry_conf->scroll_animate = 0;
diff --git a/src/modules/everything/evry_config.c b/src/modules/everything/evry_config.c
index 797efbc458..a85c96e3c9 100644
--- a/src/modules/everything/evry_config.c
+++ b/src/modules/everything/evry_config.c
@@ -41,7 +41,7 @@ evry_config_dialog(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_everything_dialog")) return NULL;
+ if (e_config_dialog_find("E", "extensions/run_everything")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
@@ -52,7 +52,7 @@ evry_config_dialog(E_Container *con, const char *params __UNUSED__)
v->advanced.create_widgets = NULL;
cfd = e_config_dialog_new(con,
_("Everything Settings"),
- "E", "_config_everything_dialog",
+ "E", "extensions/run_everything",
"system-run", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
index 21377fc139..dbfdba40a8 100644
--- a/src/modules/fileman/e_fwin.c
+++ b/src/modules/fileman/e_fwin.c
@@ -44,8 +44,6 @@ struct _E_Fwin
Ecore_Event_Handler *zone_handler;
Ecore_Event_Handler *zone_del_handler;
-
- unsigned char geom_save_ready : 1;
};
struct _E_Fwin_Page
@@ -172,55 +170,7 @@ e_fwin_shutdown(void)
EAPI void
e_fwin_new(E_Container *con, const char *dev, const char *path)
{
- E_Fwin *fwin;
- E_Fm2_Custom_File *cf;
- char buf[PATH_MAX];
- int x, y, w, h;
-
- fwin = _e_fwin_new(con, dev, path);
-
- if (!fwin) return;
-
- snprintf(buf, sizeof(buf), "dir::%s", e_fm2_real_path_get(fwin->cur_page->fm_obj));
- cf = e_fm2_custom_file_get(buf);
- if ((cf) && (cf->geom.valid))
- {
- int zx, zy, zw, zh;
-
- x = cf->geom.x;
- y = cf->geom.y;
- w = cf->geom.w;
- h = cf->geom.h;
-
- e_zone_useful_geometry_get(fwin->win->border->zone,
- &zx, &zy, &zw, &zh);
-
- /* checking width and height */
- if (w < 24)
- w = 280 * e_scale;
- else if (w > zw)
- w = zw;
- if (h < 24)
- h = 200 * e_scale;
- else if (h > zh)
- h = zh;
-
- /* checking left-top corner */
- if (x < zx)
- x = zx;
- if (y < zy)
- y = zy;
-
- /* checking right-bottom corner */
- if ((zx + zw) < (x + w))
- x = zx + zw - w;
- if ((zy + zh) < (y + h))
- y = zy + zh - h;
-
- e_win_move_resize(fwin->win, x, y, w, h);
- }
-
- fwin->geom_save_ready = 1;
+ _e_fwin_new(con, dev, path);
}
EAPI void
@@ -409,7 +359,8 @@ _e_fwin_new(E_Container *con, const char *dev, const char *path)
E_Fwin *fwin;
E_Fwin_Page *page;
Evas_Object *o;
-
+ char buf[PATH_MAX];
+
fwin = E_OBJECT_ALLOC(E_Fwin, E_FWIN_TYPE, _e_fwin_free);
if (!fwin) return NULL;
fwin->win = e_win_new(con);
@@ -448,10 +399,10 @@ _e_fwin_new(E_Container *con, const char *dev, const char *path)
evas_object_pass_events_set(o, 1);
fwin->over_obj = o;
- e_win_name_class_set(fwin->win, "E", "e_fwin");
-
e_fm2_path_set(page->fm_obj, dev, path);
_e_fwin_window_title_set(page);
+ snprintf(buf, sizeof(buf), "e_fwin::%s", e_fm2_real_path_get(fwin->cur_page->fm_obj));
+ e_win_name_class_set(fwin->win, "E", buf);
e_win_size_min_set(fwin->win, 24, 24);
e_win_resize(fwin->win, 280 * e_scale, 200 * e_scale);
@@ -1084,27 +1035,27 @@ _e_fwin_cb_delete(E_Win *win)
e_object_del(E_OBJECT(fwin));
}
-static void
-_e_fwin_geom_save(E_Fwin *fwin)
-{
- char buf[PATH_MAX];
- E_Fm2_Custom_File *cf;
-
- if (!fwin->geom_save_ready) return;
- snprintf(buf, sizeof(buf), "dir::%s", e_fm2_real_path_get(fwin->cur_page->fm_obj));
- cf = e_fm2_custom_file_get(buf);
- if (!cf)
- {
- cf = alloca(sizeof(E_Fm2_Custom_File));
- memset(cf, 0, sizeof(E_Fm2_Custom_File));
- }
- cf->geom.x = fwin->win->x;
- cf->geom.y = fwin->win->y;
- cf->geom.w = fwin->win->w;
- cf->geom.h = fwin->win->h;
- cf->geom.valid = 1;
- e_fm2_custom_file_set(buf, cf);
-}
+/* static void
+ * _e_fwin_geom_save(E_Fwin *fwin)
+ * {
+ * char buf[PATH_MAX];
+ * E_Fm2_Custom_File *cf;
+ *
+ * if (!fwin->geom_save_ready) return;
+ * snprintf(buf, sizeof(buf), "dir::%s", e_fm2_real_path_get(fwin->cur_page->fm_obj));
+ * cf = e_fm2_custom_file_get(buf);
+ * if (!cf)
+ * {
+ * cf = alloca(sizeof(E_Fm2_Custom_File));
+ * memset(cf, 0, sizeof(E_Fm2_Custom_File));
+ * }
+ * cf->geom.x = fwin->win->x;
+ * cf->geom.y = fwin->win->y;
+ * cf->geom.w = fwin->win->w;
+ * cf->geom.h = fwin->win->h;
+ * cf->geom.valid = 1;
+ * e_fm2_custom_file_set(buf, cf);
+ * } */
static void
_e_fwin_cb_move(E_Win *win)
@@ -1113,7 +1064,7 @@ _e_fwin_cb_move(E_Win *win)
if (!win) return; //safety
fwin = win->data;
- _e_fwin_geom_save(fwin);
+ /* _e_fwin_geom_save(fwin); */
}
static void
@@ -1147,7 +1098,7 @@ _e_fwin_cb_resize(E_Win *win)
}
else if (fwin->zone)
evas_object_resize(fwin->cur_page->scrollframe_obj, fwin->zone->w, fwin->zone->h);
- _e_fwin_geom_save(fwin);
+ /* _e_fwin_geom_save(fwin); */
}
static void
@@ -1686,14 +1637,16 @@ _e_fwin_file_open_dialog(E_Fwin_Page *page, Eina_List *files, int always)
{
Evas_Object *oic;
const char *itype = NULL;
- int ix, iy, iw, ih, nx, ny, nw, nh;
+ int ix, iy, iw, ih, nx, ny, found = 0;
+ E_Remember *rem = NULL;
+ Eina_List *ll;
oic = e_fm2_icon_get(evas_object_evas_get(page->fm_obj),
ici->ic, NULL, NULL, 0, &itype);
if (oic)
{
const char *file = NULL, *group = NULL;
- E_Fm2_Custom_File *cf;
+ /* E_Fm2_Custom_File *cf; */
if (fwin2->win->border->internal_icon)
eina_stringshare_del(fwin2->win->border->internal_icon);
@@ -1721,42 +1674,18 @@ _e_fwin_file_open_dialog(E_Fwin_Page *page, Eina_List *files, int always)
eina_stringshare_add(file);
}
evas_object_del(oic);
+
+ snprintf(buf, sizeof(buf), "e_fwin::%s", e_fm2_real_path_get(fwin2->cur_page->fm_obj));
+ EINA_LIST_FOREACH(e_config->remembers, ll, rem)
+ if (rem->class && !strcmp(rem->class, buf))
+ {
+ found = 1;
+ break;
+ }
- snprintf(buf, sizeof(buf), "dir::%s",
- e_fm2_real_path_get(fwin2->cur_page->fm_obj));
- cf = e_fm2_custom_file_get(buf);
- if ((cf) && (cf->geom.valid))
- {
- nx = cf->geom.x;
- ny = cf->geom.y;
- nw = cf->geom.w;
- nh = cf->geom.h;
- /* if it ended up too small - fix to a decent size */
- if (nw < 24) nw = 200 * e_scale;
- if (nh < 24) nh = 280 * e_scale;
-
- /* if it ended up out of the zone */
- if (nx < fwin2->win->border->zone->x)
- nx = fwin2->win->border->zone->x;
- if (ny < fwin2->win->border->zone->y)
- ny = fwin2->win->border->zone->y;
- if ((fwin2->win->border->zone->x +
- fwin2->win->border->zone->w) <
- (fwin2->win->border->w + nx))
- nx = fwin2->win->border->zone->x +
- fwin2->win->border->zone->w -
- fwin2->win->border->w;
- if ((fwin2->win->border->zone->y +
- fwin2->win->border->zone->h) <
- (fwin2->win->border->h + ny))
- ny = fwin2->win->border->zone->y +
- fwin2->win->border->zone->h -
- fwin2->win->border->h;
- e_win_move_resize(fwin2->win, nx, ny, nw, nh);
- }
- else
+ if (!found)
{
- /* No custom info, so just put window near icon */
+ /* No custom info, so just put window near icon */
e_fm2_icon_geometry_get(ici->ic, &ix, &iy, &iw, &ih);
nx = (ix + (iw / 2));
ny = (iy + (ih / 2));
@@ -1777,7 +1706,6 @@ _e_fwin_file_open_dialog(E_Fwin_Page *page, Eina_List *files, int always)
e_win_move(fwin2->win, nx, ny);
}
}
- fwin2->geom_save_ready = 1;
if (ici->label)
e_win_title_set(fwin2->win, ici->label);
else if (ici->file)
diff --git a/src/modules/fileman/e_mod_config.c b/src/modules/fileman/e_mod_config.c
index f68a0cb29c..cf986a8b02 100644
--- a/src/modules/fileman/e_mod_config.c
+++ b/src/modules/fileman/e_mod_config.c
@@ -85,7 +85,7 @@ e_int_config_fileman(E_Container *con, const char *params __UNUSED__)
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
- if (e_config_dialog_find("E", "_config_fileman_dialog")) return NULL;
+ if (e_config_dialog_find("E", "fileman/fileman")) return NULL;
v = E_NEW(E_Config_Dialog_View, 1);
v->create_cfdata = _create_data;
v->free_cfdata = _free_data;
@@ -93,7 +93,7 @@ e_int_config_fileman(E_Container *con, const char *params __UNUSED__)
v->basic.create_widgets = _basic_create;
v->basic.check_changed = _basic_check_changed;
cfd = e_config_dialog_new(con, _("Fileman Settings"), "E",
- "_config_fileman_dialog",
+ "fileman/fileman",
"system-file-manager", 0, v, NULL);
return cfd;
}
diff --git a/src/modules/gadman/e_mod_config.c b/src/modules/gadman/e_mod_config.c
index 15edba91b3..d340b04ff6 100644
--- a/src/modules/gadman/e_mod_config.c
+++ b/src/modules/gadman/e_mod_config.c
@@ -42,7 +42,7 @@ _config_gadman_module(E_Container *con, const char *params __UNUSED__)
char buf[4096];
/* check if config dialog exists ... */
- if (e_config_dialog_find("E", "_e_modules_gadman_config_dialog"))
+ if (e_config_dialog_find("E", "extensions/gadman"))
return NULL;
/* ... else create it */
@@ -56,7 +56,7 @@ _config_gadman_module(E_Container *con, const char *params __UNUSED__)
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj", Man->module->dir);
cfd = e_config_dialog_new(con, _("Gadgets Manager"),
- "E", "_e_modules_gadman_config_dialog",
+ "E", "extensions/gadman",
buf, 0, v, Man);
Man->config_dialog = cfd;
diff --git a/src/modules/mixer/conf_module.c b/src/modules/mixer/conf_module.c
index 4df8d5b9a4..42311d90eb 100644
--- a/src/modules/mixer/conf_module.c
+++ b/src/modules/mixer/conf_module.c
@@ -172,7 +172,7 @@ e_mixer_config_module_dialog_new(E_Container *con, E_Mixer_Module_Context *ctxt)
E_Config_Dialog *dialog;
E_Config_Dialog_View *view;
- if (e_config_dialog_find(_Name, "e_mixer_config_module_dialog_new"))
+ if (e_config_dialog_find(_Name, "extensions/mixer"))
return NULL;
view = E_NEW(E_Config_Dialog_View, 1);
@@ -185,7 +185,7 @@ e_mixer_config_module_dialog_new(E_Container *con, E_Mixer_Module_Context *ctxt)
view->basic.apply_cfdata = _basic_apply;
dialog = e_config_dialog_new(con, _("Mixer Module Settings"),
- _Name, "e_mixer_config_module_dialog_new",
+ _Name, "extensions/mixer",
e_mixer_theme_path(), 0, view, ctxt);
return dialog;
diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c
index efe514e1aa..22803998b5 100644
--- a/src/modules/mixer/e_mod_main.c
+++ b/src/modules/mixer/e_mod_main.c
@@ -1071,7 +1071,7 @@ _mixer_module_config(E_Container *con, const char *params __UNUSED__)
}
static const char _reg_cat[] = "extensions";
-static const char _reg_item[] = "extensions/e";
+static const char _reg_item[] = "extensions/mixer";
static void
_mixer_configure_registry_register(void)