Hello,
Attached is a patch to allow users with multiple screens to optionally
view the full list of clients across those screens.
--
Regards,
Ravenlock
Index: e17/apps/e/src/bin/e_config.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.227
diff -u -r1.227 e_config.c
--- e17/apps/e/src/bin/e_config.c 21 Feb 2007 00:05:27 -0000 1.227
+++ e17/apps/e/src/bin/e_config.c 21 Feb 2007 15:39:34 -0000
@@ -505,6 +505,7 @@
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);
@@ -1335,6 +1336,10 @@
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 */
@@ -1448,6 +1453,7 @@
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);
Index: e17/apps/e/src/bin/e_config.h
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.142
diff -u -r1.142 e_config.h
--- e17/apps/e/src/bin/e_config.h 21 Feb 2007 00:05:27 -0000 1.142
+++ e17/apps/e/src/bin/e_config.h 21 Feb 2007 15:39:34 -0000
@@ -52,7 +52,7 @@
/* 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 @@
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;
Index: e17/apps/e/src/bin/e_int_config_clientlist.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_int_config_clientlist.c,v
retrieving revision 1.1
diff -u -r1.1 e_int_config_clientlist.c
--- e17/apps/e/src/bin/e_int_config_clientlist.c 21 Feb 2007 00:05:27
-0000 1.1
+++ e17/apps/e/src/bin/e_int_config_clientlist.c 21 Feb 2007 15:39:34
-0000
@@ -12,6 +12,7 @@
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 @@
_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 @@
_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;
@@ -94,6 +97,8 @@
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);
of = e_widget_framelist_add(evas, _("Separate Groups By"), 0);
Index: e17/apps/e/src/bin/e_int_menus.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.197
diff -u -r1.197 e_int_menus.c
--- e17/apps/e/src/bin/e_int_menus.c 21 Feb 2007 00:05:27 -0000 1.197
+++ e17/apps/e/src/bin/e_int_menus.c 21 Feb 2007 15:39:35 -0000
@@ -1074,7 +1074,8 @@
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);
}
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel