Hello,
The recent changes to the client list menu drew some raised eyebrows.
With input from a few folks I've come up with the attached patch which
will offer the following configuration options. Note that items marked
with (NI) are not yet implemented. Those items are simply ideas I would
like feedback on. If someone feels the need to do those items I'll
spend the time, otherwise they will be removed in time.
It is found via Configuration Panel -> Menus -> Client List Menu.
Config Options:
Group By:
o None
o Desktop
o Window Class
Separate Groups By:
o None
o Separator Bars
o Menus
Sort Order
o None
o Alphabetical
o Most Recently Used (NI)
o Z-order (NI)
Iconified Windows:
o Group with owning desktop
o Group with current desktop
o Separate group (NI)
x Warp to owning desktop
If you liked the behavior the client list offered before I made the
recent changes you would want to select:
Group By: None
Sort Order: None
Personally I really like the "Warp To" option, as I like to keep all my
apps on the desktop I brought them to life on. This will warp you to
the desktop the app was iconified on, instead of bringing it to your
current desktop.
I've tried to test all combinations... but more testing would be
appreciated.
Questions/Comments/Complaints welcome.
--
Regards,
Ravenlock
? e17/apps/e/src/bin/e_int_config_clientlist.c
? e17/apps/e/src/bin/e_int_config_clientlist.h
Index: e17/apps/e/src/bin/Makefile.am
===
RCS file: /var/cvs/e/e17/apps/e/src/bin/Makefile.am,v
retrieving revision 1.174
diff -u -r1.174 Makefile.am
--- e17/apps/e/src/bin/Makefile.am 13 Feb 2007 16:33:35 - 1.174
+++ e17/apps/e/src/bin/Makefile.am 20 Feb 2007 08:13:58 -
@@ -185,6 +185,7 @@
e_widget_desk_preview.h \
e_int_config_borders.h \
e_int_config_desk.h \
+e_int_config_clientlist.h \
e_fm_prop.h
enlightenment_src = \
@@ -347,6 +348,7 @@
e_int_config_borders.c \
e_int_config_desk.c \
e_fm_prop.c \
+e_int_config_clientlist.c \
$(ENLIGHTENMENTHEADERS)
enlightenment_SOURCES = \
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.226
diff -u -r1.226 e_config.c
--- e17/apps/e/src/bin/e_config.c 13 Feb 2007 16:33:35 - 1.226
+++ e17/apps/e/src/bin/e_config.c 20 Feb 2007 08:13:59 -
@@ -503,6 +503,12 @@
E_CONFIG_VAL(D, T, dpms_suspend_timeout, INT);
E_CONFIG_VAL(D, T, dpms_off_timeout, INT);
+ E_CONFIG_VAL(D, T, clientlist_group_by, 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);
+ E_CONFIG_VAL(D, T, clientlist_warp_to_iconified_desktop, INT);
+
E_CONFIG_VAL(D, T, border_raise_on_mouse_action, INT);
E_CONFIG_VAL(D, T, border_raise_on_focus, INT);
E_CONFIG_VAL(D, T, desk_flip_wrap, INT);
@@ -1319,7 +1325,15 @@
e_config->screensaver_blanking = 2;
e_config->screensaver_expose = 2;
IFCFGEND;
-
+
+ IFCFG(0x0110);
+ e_config->clientlist_group_by = 0;
+ e_config->clientlist_separate_with = 0;
+ e_config->clientlist_sort_by = 0;
+ e_config->clientlist_separate_iconified_apps = 0;
+ e_config->clientlist_warp_to_iconified_desktop = 0;
+ IFCFGEND;
+
e_config->config_version = E_CONFIG_FILE_VERSION;
#if 0 /* example of new config */
@@ -1432,6 +1446,12 @@
E_CONFIG_LIMIT(e_config->screensaver_blanking, 0, 2);
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_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);
+ E_CONFIG_LIMIT(e_config->clientlist_warp_to_iconified_desktop, 0, 1);
+
/* FIXME: disabled auto apply because it causes problems */
e_config->cfgdlg_auto_apply = 0;
/* FIXME: desklock personalized password id disabled for security reasons */
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.141
diff -u -r1.141 e_config.h
--- e17/apps/e/src/bin/e_config.h 13 Feb 2007 16:33:35 - 1.141
+++ e17/apps/e/src/bin/e_config.h 20 Feb 2007 08:13:59 -
@@ -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 0x0109
+#define E_CONFIG_FILE_GENERATION 0x0110
#define E_CONFIG_FILE_VERSION((E_CONFIG_FILE_EPOCH << 16) |
E_CONFIG_FILE_GENERATION)
#define E_EVAS_ENGINE_DEFAULT 0
@@ -247,6 +247,12 @@
int