From d3ae383e699db6fce3a10ebed3961ecc7ab81953 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Sat, 16 Dec 2006 21:28:46 +0000 Subject: [PATCH] Fix recent winlist iconified commit (values were not added in the correct place, and was not IFCFG'd for the version it was added in). Add ability to turn on/off remembering E internal dialogs (only setable via ipc for now) SVN revision: 27480 --- src/bin/e_border.c | 3 +-- src/bin/e_config.c | 15 ++++++++++--- src/bin/e_config.h | 3 ++- src/bin/e_ipc_handlers.h | 40 +++++++++++++++++++++++++++++++++++ src/bin/e_ipc_handlers_list.h | 4 ++++ 5 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index 054cace25..c949ffcab 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -5897,8 +5897,7 @@ _e_border_eval(E_Border *bd) bd->placed = 1; } - /* always remember internal windows - config */ - if ((bd->internal) && (!bd->remember) && (1)) /* FIXME: config value */ + if ((bd->internal) && (!bd->remember) && (e_config->remember_internal_windows)) { E_Remember *rem; diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 8cf376ec8..e8ca1419b 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -424,6 +424,7 @@ e_config_init(void) E_CONFIG_VAL(D, T, transition_desk, STR); /**/ E_CONFIG_VAL(D, T, transition_change, STR); /**/ E_CONFIG_LIST(D, T, remembers, _e_config_remember_edd); + E_CONFIG_VAL(D, T, remember_internal_windows, INT); E_CONFIG_VAL(D, T, move_info_follows, INT); /**/ E_CONFIG_VAL(D, T, resize_info_follows, INT); /**/ E_CONFIG_VAL(D, T, move_info_visible, INT); /**/ @@ -603,8 +604,6 @@ e_config_init(void) e_config->winlist_scroll_animate = 1; e_config->winlist_scroll_speed = 0.1; e_config->winlist_list_show_iconified = 1; - e_config->winlist_list_show_other_desk_iconified = 1; - e_config->winlist_list_show_other_screen_iconified = 0; e_config->winlist_list_show_other_desk_windows = 0; e_config->winlist_list_show_other_screen_windows = 0; e_config->winlist_list_uncover_while_selecting = 0; @@ -687,7 +686,7 @@ e_config_init(void) e_config->display_res_height = 0; e_config->display_res_hz = 0; e_config->display_res_rotation = 0; - + { E_Config_Module *em; @@ -1274,6 +1273,15 @@ e_config_init(void) IFCFG(0x00103); e_config->theme_default_border_style = evas_stringshare_add("default"); IFCFGEND; + + IFCFG(0x00104); + e_config->winlist_list_show_other_desk_iconified = 1; + e_config->winlist_list_show_other_screen_iconified = 0; + IFCFGEND; + + IFCFG(0x00105); + e_config->remember_internal_windows = 1; + IFCFGEND; #if 0 /* example of new config */ IFCFG(0x0090); /* the version # where this value(s) was introduced */ @@ -1369,6 +1377,7 @@ e_config_init(void) E_CONFIG_LIMIT(e_config->border_raise_on_mouse_action, 0, 1); E_CONFIG_LIMIT(e_config->border_raise_on_focus, 0, 1); E_CONFIG_LIMIT(e_config->desk_flip_wrap, 0, 1); + E_CONFIG_LIMIT(e_config->remember_internal_windows, 0, 1); /* FIXME: disabled auto apply because it causes problems */ e_config->cfgdlg_auto_apply = 0; diff --git a/src/bin/e_config.h b/src/bin/e_config.h index bd9e6a57a..759aefb91 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -51,7 +51,7 @@ typedef Eet_Data_Descriptor E_Config_DD; /* increment this whenever a new set of config values are added but the users * config doesn't need top be wiped - simply new values need to be put in */ -#define E_CONFIG_FILE_GENERATION 0x0104 +#define E_CONFIG_FILE_GENERATION 0x0105 #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION) #define E_EVAS_ENGINE_DEFAULT 0 @@ -175,6 +175,7 @@ struct _E_Config const char *transition_desk; // GUI const char *transition_change; // GUI Evas_List *remembers; + int remember_internal_windows; int move_info_follows; // GUI int resize_info_follows; // GUI int move_info_visible; // GUI diff --git a/src/bin/e_ipc_handlers.h b/src/bin/e_ipc_handlers.h index 3479e0788..4da94d418 100644 --- a/src/bin/e_ipc_handlers.h +++ b/src/bin/e_ipc_handlers.h @@ -7712,3 +7712,43 @@ break; END_INT; #endif #undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_SET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-remember-internal-windows-set", 1, "Set whether internal windows should be remembered", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_INT(atoi(params[0]), HDL); +#elif (TYPE == E_WM_IN) + START_INT(val, HDL); + e_config->remember_internal_windows = val; + E_CONFIG_LIMIT(e_config->remember_internal_windows, 0, 1); + SAVE; + END_INT; +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET +#if (TYPE == E_REMOTE_OPTIONS) + OP("-remember-internal-windows-get", 0, "Get whether internal windows are remembered", 1, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_NULL(HDL); +#elif (TYPE == E_WM_IN) + SEND_INT(e_config->remember_internal_windows, E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET_REPLY, HDL); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL + +/****************************************************************************/ +#define HDL E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET_REPLY +#if (TYPE == E_REMOTE_OPTIONS) +#elif (TYPE == E_REMOTE_OUT) +#elif (TYPE == E_WM_IN) +#elif (TYPE == E_REMOTE_IN) + START_INT(val, HDL); + printf("REPLY: %d\n", val); + END_INT; +#endif +#undef HDL diff --git a/src/bin/e_ipc_handlers_list.h b/src/bin/e_ipc_handlers_list.h index 08289d455..b541ff75e 100644 --- a/src/bin/e_ipc_handlers_list.h +++ b/src/bin/e_ipc_handlers_list.h @@ -404,3 +404,7 @@ #define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_SET 369 #define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_GET 370 #define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_GET_REPLY 371 + +#define E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_SET 372 +#define E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET 373 +#define E_IPC_OP_REMEMBER_INTERNAL_WINDOWS_GET_REPLY 374