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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to