forked from enlightenment/enlightenment
Patch from Eric 'Ravenlock' Schuele <ravenlock@comcast.net> to provide winlist config
options that allow showing/hiding iconified apps from other desks/screens in the winlist. SVN revision: 27457
This commit is contained in:
parent
23c1258e61
commit
4edd5b4e41
|
@ -397,6 +397,8 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, winlist_scroll_animate, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_scroll_speed, DOUBLE); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_list_show_iconified, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_list_show_other_desk_iconified, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_iconified, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_list_show_other_desk_windows, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_list_show_other_screen_windows, INT); /**/
|
||||
E_CONFIG_VAL(D, T, winlist_list_uncover_while_selecting, INT); /**/
|
||||
|
@ -601,6 +603,8 @@ 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;
|
||||
|
@ -1314,6 +1318,8 @@ e_config_init(void)
|
|||
E_CONFIG_LIMIT(e_config->winlist_scroll_animate, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_scroll_speed, 0.0, 1.0);
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_iconified, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_other_desk_iconified, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_other_screen_iconified, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_other_desk_windows, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_other_screen_windows, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_uncover_while_selecting, 0, 1);
|
||||
|
|
|
@ -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 0x0103
|
||||
#define E_CONFIG_FILE_GENERATION 0x0104
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION)
|
||||
|
||||
#define E_EVAS_ENGINE_DEFAULT 0
|
||||
|
@ -148,6 +148,8 @@ struct _E_Config
|
|||
int winlist_scroll_animate; // GUI
|
||||
double winlist_scroll_speed; // GUI
|
||||
int winlist_list_show_iconified; // GUI
|
||||
int winlist_list_show_other_desk_iconified; // GUI
|
||||
int winlist_list_show_other_screen_iconified; // GUI
|
||||
int winlist_list_show_other_desk_windows; // GUI
|
||||
int winlist_list_show_other_screen_windows; // GUI
|
||||
int winlist_list_uncover_while_selecting; // GUI
|
||||
|
|
|
@ -13,6 +13,8 @@ struct _E_Config_Dialog_Data
|
|||
int warp_at_end;
|
||||
int scroll_animate;
|
||||
int list_show_iconified;
|
||||
int list_show_other_desk_iconified;
|
||||
int list_show_other_screen_iconified;
|
||||
int list_show_other_desk_windows;
|
||||
int list_show_other_screen_windows;
|
||||
int list_uncover_while_selecting;
|
||||
|
@ -65,6 +67,8 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
cfdata->scroll_animate = e_config->winlist_scroll_animate;
|
||||
cfdata->scroll_speed = e_config->winlist_scroll_speed;
|
||||
cfdata->list_show_iconified = e_config->winlist_list_show_iconified;
|
||||
cfdata->list_show_other_desk_iconified = e_config->winlist_list_show_other_desk_iconified;
|
||||
cfdata->list_show_other_screen_iconified = e_config->winlist_list_show_other_screen_iconified;
|
||||
cfdata->list_show_other_desk_windows = e_config->winlist_list_show_other_desk_windows;
|
||||
cfdata->list_show_other_screen_windows = e_config->winlist_list_show_other_screen_windows;
|
||||
cfdata->list_uncover_while_selecting = e_config->winlist_list_uncover_while_selecting;
|
||||
|
@ -101,6 +105,8 @@ static int
|
|||
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
e_config->winlist_list_show_iconified = cfdata->list_show_iconified;
|
||||
e_config->winlist_list_show_other_desk_iconified = cfdata->list_show_other_desk_iconified;
|
||||
e_config->winlist_list_show_other_screen_iconified = cfdata->list_show_other_screen_iconified;
|
||||
e_config->winlist_list_show_other_desk_windows = cfdata->list_show_other_desk_windows;
|
||||
e_config->winlist_list_show_other_screen_windows = cfdata->list_show_other_screen_windows;
|
||||
e_config->winlist_list_uncover_while_selecting = cfdata->list_uncover_while_selecting;
|
||||
|
@ -125,6 +131,10 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||
ob = e_widget_check_add(evas, _("Show iconified windows"), &(cfdata->list_show_iconified));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_check_add(evas, _("Show iconified windows from other desks"), &(cfdata->list_show_other_desk_iconified));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_check_add(evas, _("Show iconified windows from other screens"), &(cfdata->list_show_other_screen_iconified));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_check_add(evas, _("Show windows from other desks"), &(cfdata->list_show_other_desk_windows));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_check_add(evas, _("Show windows from other screens"), &(cfdata->list_show_other_screen_windows));
|
||||
|
@ -161,6 +171,8 @@ static int
|
|||
_advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
e_config->winlist_list_show_iconified = cfdata->list_show_iconified;
|
||||
e_config->winlist_list_show_other_desk_iconified = cfdata->list_show_other_desk_iconified;
|
||||
e_config->winlist_list_show_other_screen_iconified = cfdata->list_show_other_screen_iconified;
|
||||
e_config->winlist_list_show_other_desk_windows = cfdata->list_show_other_desk_windows;
|
||||
e_config->winlist_list_show_other_screen_windows = cfdata->list_show_other_screen_windows;
|
||||
e_config->winlist_list_uncover_while_selecting = cfdata->list_uncover_while_selecting;
|
||||
|
|
|
@ -3867,6 +3867,86 @@ break;
|
|||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_SET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-winlist-list-show-other-desk-iconified-set", 1, "Set whether winlist (alt+tab) will show iconfied windows from other desks", 0, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_INT(atoi(params[0]), HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
START_INT(policy, HDL);
|
||||
e_config->winlist_list_show_other_desk_iconified = policy;
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_other_desk_iconified, 0, 1);
|
||||
SAVE;
|
||||
END_INT;
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_GET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-winlist-list-show-other-desk-iconified-get", 0, "Get whether winlist (alt+tab) will show iconfied windows from other desks", 1, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_NULL(HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
SEND_INT(e_config->winlist_list_show_other_desk_iconified, E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_GET_REPLY, HDL);
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_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: POLICY=%d\n", val);
|
||||
END_INT;
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_SET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-winlist-list-show-other-screen-iconified-set", 1, "Set whether winlist (alt+tab) will show iconfied windows from other screens", 0, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_INT(atoi(params[0]), HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
START_INT(policy, HDL);
|
||||
e_config->winlist_list_show_other_screen_iconified = policy;
|
||||
E_CONFIG_LIMIT(e_config->winlist_list_show_other_screen_iconified, 0, 1);
|
||||
SAVE;
|
||||
END_INT;
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_GET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
OP("-winlist-list-show-other-screen-iconified-get", 0, "Get whether winlist (alt+tab) will show iconfied windows from other screens", 1, HDL)
|
||||
#elif (TYPE == E_REMOTE_OUT)
|
||||
REQ_NULL(HDL);
|
||||
#elif (TYPE == E_WM_IN)
|
||||
SEND_INT(e_config->winlist_list_show_other_screen_iconified, E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_GET_REPLY, HDL);
|
||||
#elif (TYPE == E_REMOTE_IN)
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED_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: POLICY=%d\n", val);
|
||||
END_INT;
|
||||
#endif
|
||||
#undef HDL
|
||||
|
||||
/****************************************************************************/
|
||||
#define HDL E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_SET
|
||||
#if (TYPE == E_REMOTE_OPTIONS)
|
||||
|
|
|
@ -133,6 +133,10 @@
|
|||
#define E_IPC_OP_WINLIST_LIST_SHOW_ICONIFIED_SET 133
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_ICONIFIED_GET 134
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_ICONIFIED_GET_REPLY 135
|
||||
/*
|
||||
* WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED and WINLIST_LIST_SHOW_OTHER_SCREEN_ICONIFIED
|
||||
* can be found below, starting at 366.
|
||||
*/
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_SET 136
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_GET 137
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_WINDOWS_GET_REPLY 138
|
||||
|
@ -393,3 +397,10 @@
|
|||
#define E_IPC_OP_USE_COMPOSITE_SET 363
|
||||
#define E_IPC_OP_USE_COMPOSITE_GET 364
|
||||
#define E_IPC_OP_USE_COMPOSITE_GET_REPLY 365
|
||||
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_SET 366
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_GET 367
|
||||
#define E_IPC_OP_WINLIST_LIST_SHOW_OTHER_DESK_ICONIFIED_GET_REPLY 368
|
||||
#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
|
||||
|
|
|
@ -401,7 +401,9 @@ _e_winlist_border_add(E_Border *bd, E_Zone *zone, E_Desk *desk)
|
|||
{
|
||||
if (!e_config->winlist_list_show_iconified) ok = 0;
|
||||
if ((bd->zone != zone) &&
|
||||
(!e_config->winlist_list_show_other_screen_windows)) ok = 0;
|
||||
(!e_config->winlist_list_show_other_screen_iconified)) ok = 0;
|
||||
if ((bd->desk != desk) &&
|
||||
(!e_config->winlist_list_show_other_desk_iconified)) ok = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -948,4 +950,3 @@ _e_winlist_cb_item_mouse_in(void *data, Evas *evas, Evas_Object *obj,
|
|||
_e_winlist_show_active();
|
||||
_e_winlist_activate();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue