Ravenlock's patch to allow client list to show windows from other screens
(xinerama/multi-head). SVN revision: 28702
This commit is contained in:
parent
bd6e0e66b9
commit
310eca0636
|
@ -506,6 +506,7 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, dpms_off_timeout, INT);
|
||||
|
||||
E_CONFIG_VAL(D, T, clientlist_group_by, INT);
|
||||
E_CONFIG_VAL(D, T, clientlist_include_all_zones, INT);
|
||||
E_CONFIG_VAL(D, T, clientlist_separate_with, INT);
|
||||
E_CONFIG_VAL(D, T, clientlist_sort_by, INT);
|
||||
E_CONFIG_VAL(D, T, clientlist_separate_iconified_apps, INT);
|
||||
|
@ -1337,6 +1338,10 @@ e_config_init(void)
|
|||
e_config->clientlist_warp_to_iconified_desktop = 0;
|
||||
IFCFGEND;
|
||||
|
||||
IFCFG(0x0111);
|
||||
e_config->clientlist_include_all_zones = 0;
|
||||
IFCFGEND;
|
||||
|
||||
e_config->config_version = E_CONFIG_FILE_VERSION;
|
||||
|
||||
#if 0 /* example of new config */
|
||||
|
@ -1450,6 +1455,7 @@ e_config_init(void)
|
|||
E_CONFIG_LIMIT(e_config->screensaver_expose, 0, 2);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->clientlist_group_by, 0, 2);
|
||||
E_CONFIG_LIMIT(e_config->clientlist_include_all_zones, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->clientlist_separate_with, 0, 2);
|
||||
E_CONFIG_LIMIT(e_config->clientlist_sort_by, 0, 3);
|
||||
E_CONFIG_LIMIT(e_config->clientlist_separate_iconified_apps, 0, 2);
|
||||
|
|
|
@ -52,7 +52,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 to be wiped - simply new values need to be put in
|
||||
*/
|
||||
#define E_CONFIG_FILE_GENERATION 0x0110
|
||||
#define E_CONFIG_FILE_GENERATION 0x0111
|
||||
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION)
|
||||
|
||||
#define E_EVAS_ENGINE_DEFAULT 0
|
||||
|
@ -248,6 +248,7 @@ struct _E_Config
|
|||
int dpms_off_timeout;
|
||||
|
||||
int clientlist_group_by;
|
||||
int clientlist_include_all_zones;
|
||||
int clientlist_separate_with;
|
||||
int clientlist_sort_by;
|
||||
int clientlist_separate_iconified_apps;
|
||||
|
|
|
@ -12,6 +12,7 @@ static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Co
|
|||
struct _E_Config_Dialog_Data
|
||||
{
|
||||
int group_by;
|
||||
int include_all_zones;
|
||||
int separate_with;
|
||||
int sort_by;
|
||||
int separate_iconified_apps;
|
||||
|
@ -44,6 +45,7 @@ static void
|
|||
_fill_data(E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
cfdata->group_by = e_config->clientlist_group_by;
|
||||
cfdata->include_all_zones = e_config->clientlist_include_all_zones;
|
||||
cfdata->separate_with = e_config->clientlist_separate_with;
|
||||
cfdata->sort_by = e_config->clientlist_sort_by;
|
||||
cfdata->separate_iconified_apps = e_config->clientlist_separate_iconified_apps;
|
||||
|
@ -70,6 +72,7 @@ static int
|
|||
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
e_config->clientlist_group_by = cfdata->group_by;
|
||||
e_config->clientlist_include_all_zones = cfdata->include_all_zones;
|
||||
e_config->clientlist_separate_with = cfdata->separate_with;
|
||||
e_config->clientlist_sort_by = cfdata->sort_by;
|
||||
e_config->clientlist_separate_iconified_apps = cfdata->separate_iconified_apps;
|
||||
|
@ -95,6 +98,8 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_radio_add(evas, _("Window Class"), E_CLIENTLIST_GROUP_CLASS, rg);
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
ob = e_widget_check_add(evas, _("Include windows from other screens"), &(cfdata->include_all_zones));
|
||||
e_widget_framelist_object_append(of, ob);
|
||||
//e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||
e_widget_table_object_append(ot, of, 0, 0, 1, 1, 1, 1, 1, 1);
|
||||
|
||||
|
|
|
@ -1182,7 +1182,8 @@ _e_int_menus_clients_pre_cb(void *data, E_Menu *m)
|
|||
border = l->data;
|
||||
if (border->client.netwm.state.skip_taskbar) continue;
|
||||
if (border->user_skip_winlist) continue;
|
||||
if ((border->zone == zone) || (border->iconic))
|
||||
if ((border->zone == zone) || (border->iconic) ||
|
||||
(border->zone != zone && e_config->clientlist_include_all_zones))
|
||||
borders = evas_list_append(borders, border);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue