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 -0000      1.174
+++ e17/apps/e/src/bin/Makefile.am      20 Feb 2007 08:13:58 -0000
@@ -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 -0000      1.226
+++ e17/apps/e/src/bin/e_config.c       20 Feb 2007 08:13:59 -0000
@@ -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 -0000      1.141
+++ e17/apps/e/src/bin/e_config.h       20 Feb 2007 08:13:59 -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 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         dpms_off_enable;
    int         dpms_off_timeout;
 
+   int         clientlist_group_by;
+   int         clientlist_separate_with;
+   int         clientlist_sort_by;
+   int         clientlist_separate_iconified_apps;
+   int         clientlist_warp_to_iconified_desktop;
+
    int         display_res_restore; // GUI
    int         display_res_width; // GUI
    int         display_res_height; // GUI
Index: e17/apps/e/src/bin/e_configure.c
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_configure.c,v
retrieving revision 1.89
diff -u -r1.89 e_configure.c
--- e17/apps/e/src/bin/e_configure.c    13 Feb 2007 16:33:35 -0000      1.89
+++ e17/apps/e/src/bin/e_configure.c    20 Feb 2007 08:13:59 -0000
@@ -431,6 +431,7 @@
    _e_configure_item_add(cat, _("Applications Menu"), 
"enlightenment/applications", e_int_config_apps);
 #endif
    _e_configure_item_add(cat, _("Menu Settings"), 
"enlightenment/menu_settings", e_int_config_menus);
+   _e_configure_item_add(cat, _("Client List Menu"), 
"enlightenment/clientlist", e_int_config_clientlist);
 
    cat = _e_configure_category_add(eco, _("Language"), "enlightenment/intl");
    _e_configure_item_add(cat, _("Language Settings"), "enlightenment/intl", 
e_int_config_intl);
Index: e17/apps/e/src/bin/e_includes.h
===================================================================
RCS file: /var/cvs/e/e17/apps/e/src/bin/e_includes.h,v
retrieving revision 1.147
diff -u -r1.147 e_includes.h
--- e17/apps/e/src/bin/e_includes.h     13 Feb 2007 16:33:35 -0000      1.147
+++ e17/apps/e/src/bin/e_includes.h     20 Feb 2007 08:14:00 -0000
@@ -161,4 +161,5 @@
 #include "e_widget_desk_preview.h"
 #include "e_int_config_borders.h"
 #include "e_int_config_desk.h"
+#include "e_int_config_clientlist.h"
 #include "e_fm_prop.h"
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.196
diff -u -r1.196 e_int_menus.c
--- e17/apps/e/src/bin/e_int_menus.c    18 Feb 2007 11:46:56 -0000      1.196
+++ e17/apps/e/src/bin/e_int_menus.c    20 Feb 2007 08:14:00 -0000
@@ -890,7 +890,7 @@
 }
 
 static int
-_e_int_menus_clients_sort_border_cb(void *d1, void *d2)
+_e_int_menus_clients_group_desk_cb(void *d1, void *d2)
 {
    E_Border *bd1;
    E_Border *bd2;
@@ -907,10 +907,153 @@
 
    if (j > k) return 1;
    if (j < k) return -1;
+   return -1;   /* Returning '-1' on equal is intentional */
+}
+
+static int
+_e_int_menus_clients_group_class_cb(void *d1, void *d2)
+{
+   E_Border *bd1;
+   E_Border *bd2;
+
+   if (!d1) return 1;
+   if (!d2) return -1;
+
+   bd1 = d1;
+   bd2 = d2;
+   
+   if (strcmp((const char*)bd1->client.icccm.class, (const 
char*)bd2->client.icccm.class) > 0) return 1;
+   if (strcmp((const char*)bd1->client.icccm.class, (const 
char*)bd2->client.icccm.class) < 0) return -1;
+   return -1;   /* Returning '-1' on equal is intentional */
+}
+
+static int
+_e_int_menus_clients_sort_alpha_cb(void *d1, void *d2)
+{
+   E_Border *bd1;
+   E_Border *bd2;
+
+   if (!d1) return 1;
+   if (!d2) return -1;
+
+   bd1 = d1;
+   bd2 = d2;
+
+   if (strcasecmp(e_border_name_get(bd1), e_border_name_get(bd2)) > 0) return 
1;
+   if (strcasecmp(e_border_name_get(bd1), e_border_name_get(bd2)) < 0) return 
-1;
    return 0;
 }
 
 static void
+_e_int_menus_clients_add_by_class(Evas_List *borders, E_Menu *m)
+{
+   Evas_List *l = NULL;
+   E_Menu *subm = NULL;
+   E_Menu_Item *mi;
+   char *class = NULL;
+
+   class = strdup("");
+   for (l = borders; l; l = l->next) 
+     { 
+       E_Border *bd; 
+       bd = l->data; 
+       if ( strcmp(class, bd->client.icccm.class) != 0 && 
e_config->clientlist_separate_with != E_CLIENTLIST_GROUP_SEP_NONE) 
+         { 
+            if (e_config->clientlist_separate_with == 
E_CLIENTLIST_GROUP_SEP_MENU) 
+              { 
+                 if (subm && mi) 
+                   e_menu_item_submenu_set(mi, subm); 
+                 mi = e_menu_item_new(m); 
+                 e_menu_item_label_set(mi, bd->client.icccm.class); 
+                 e_util_menu_item_edje_icon_set(mi, "enlightenment/windows"); 
+                 subm = e_menu_new(); 
+              } 
+            else 
+              { 
+                 mi = e_menu_item_new(m); 
+                 e_menu_item_separator_set(mi, 1); 
+              } 
+            class = strdup(bd->client.icccm.class); 
+         } 
+       if (e_config->clientlist_separate_with == E_CLIENTLIST_GROUP_SEP_MENU) 
+         _e_int_menus_clients_item_create(bd, subm); 
+       else  
+         _e_int_menus_clients_item_create(bd, m); 
+     } 
+   if (e_config->clientlist_separate_with == E_CLIENTLIST_GROUP_SEP_MENU && 
subm && mi) 
+     e_menu_item_submenu_set(mi, subm);
+}
+
+static void
+_e_int_menus_clients_add_by_desk(E_Desk *curr_desk, Evas_List *borders, E_Menu 
*m)
+{
+   E_Desk *desk = NULL;
+   Evas_List *l = NULL, *alt = NULL;
+   E_Menu *subm;
+   E_Menu_Item *mi;
+
+   /* Deal with present desk first */
+   for (l = borders; l; l = l->next)
+     {
+       E_Border *bd;
+       
+       bd = l->data;
+       if (bd->desk != curr_desk)
+         {
+            if (!bd->iconic || 
+               (bd->iconic && e_config->clientlist_separate_iconified_apps == 
E_CLIENTLIST_GROUPICONS_OWNER))
+              { 
+                 alt = evas_list_append(alt, bd); 
+                 continue;
+              }
+         }
+       _e_int_menus_clients_item_create(bd, m);
+     }
+
+   desk = NULL;
+   subm = NULL;
+   if (evas_list_count(alt) > 0) 
+     {
+       if (e_config->clientlist_separate_with == E_CLIENTLIST_GROUP_SEP_MENU)
+         {
+            mi = e_menu_item_new(m);
+            e_menu_item_separator_set(mi, 1);
+         }
+       
+       for (l = alt; l; l = l->next)
+         { 
+            E_Border *bd;
+            
+            bd = l->data;
+            if ( bd->desk != desk && e_config->clientlist_separate_with != 
E_CLIENTLIST_GROUP_SEP_NONE)
+              {
+                 if (e_config->clientlist_separate_with == 
E_CLIENTLIST_GROUP_SEP_MENU)
+                   { 
+                      if (subm && mi) 
+                        e_menu_item_submenu_set(mi, subm); 
+                      mi = e_menu_item_new(m); 
+                      e_menu_item_label_set(mi, bd->desk->name); 
+                      e_util_menu_item_edje_icon_set(mi, 
"enlightenment/desktops"); 
+                      subm = e_menu_new(); 
+                   }
+                   else
+                   { 
+                      mi = e_menu_item_new(m); 
+                      e_menu_item_separator_set(mi, 1);
+                   }
+                 desk = bd->desk;
+              } 
+            if (e_config->clientlist_separate_with == 
E_CLIENTLIST_GROUP_SEP_MENU) 
+              _e_int_menus_clients_item_create(bd, subm); 
+            else  
+              _e_int_menus_clients_item_create(bd, m);
+         }
+       if (e_config->clientlist_separate_with == E_CLIENTLIST_GROUP_SEP_MENU 
&& subm && mi) 
+         e_menu_item_submenu_set(mi, subm);
+     }
+}
+
+static void
 _e_int_menus_clients_pre_cb(void *data, E_Menu *m)
 {
    E_Menu *subm;
@@ -922,8 +1065,7 @@
 
    e_menu_pre_activate_callback_set(m, NULL, NULL);
    /* get the current clients */
-   zone =
-      e_zone_current_get(e_container_current_get(e_manager_current_get()));
+   zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
    desk = e_desk_current_get(zone);
    for (l = e_border_client_list(); l; l = l->next)
      {
@@ -945,49 +1087,37 @@
        mi = e_menu_item_new(m);
        e_menu_item_label_set(mi, _("(No Windows)"));
      }
-   for (l = borders; l; l = l->next)
+
+   if (borders) 
      {
-       E_Border *bd;
-       
-       bd = l->data;
-       if (bd->desk != desk)
+       if (e_config->clientlist_sort_by == E_CLIENTLIST_SORT_ALPHA)
+          borders = evas_list_sort(borders, evas_list_count(borders), 
+                              _e_int_menus_clients_sort_alpha_cb);
+
+        if (e_config->clientlist_group_by == E_CLIENTLIST_GROUP_DESK)
+         { 
+            borders = evas_list_sort(borders, evas_list_count(borders), 
+                          _e_int_menus_clients_group_desk_cb);
+            _e_int_menus_clients_add_by_desk(desk, borders, m);
+         }
+        if (e_config->clientlist_group_by == E_CLIENTLIST_GROUP_CLASS) 
          {
-            alt = evas_list_append(alt, bd);
-            continue;
+            borders = evas_list_sort(borders, evas_list_count(borders), 
+                          _e_int_menus_clients_group_class_cb);
+            _e_int_menus_clients_add_by_class(borders, m);
          }
-       _e_int_menus_clients_item_create(bd, m);
-     }
-
-   alt = evas_list_sort(alt, evas_list_count(alt), 
-                        _e_int_menus_clients_sort_border_cb);
-
-   desk = NULL;
-   subm = NULL;
-   if (evas_list_count(alt) > 0) 
-     {
-       mi = e_menu_item_new(m);
-       e_menu_item_separator_set(mi, 1);
-       for (l = alt; l; l = l->next)
+       if (e_config->clientlist_group_by == E_CLIENTLIST_GROUP_NONE)
          {
-            E_Border *bd;
-            
-            bd = l->data;
-            if (bd->desk != desk)
-              { 
-                 if (subm && mi) 
-                   e_menu_item_submenu_set(mi, subm);
-                 mi = e_menu_item_new(m);
-                  e_menu_item_label_set(mi, bd->desk->name);
-                 e_util_menu_item_edje_icon_set(mi, "enlightenment/desktops");
-                 subm = e_menu_new();
-                 desk = bd->desk;
-              }
-            _e_int_menus_clients_item_create(bd, subm);
+            for (l = borders; l; l = l->next)
+              {
+                E_Border *bd;
+       
+                bd = l->data;
+                _e_int_menus_clients_item_create(bd, m);
+              }
          }
-       if (subm && mi) 
-         e_menu_item_submenu_set(mi, subm);
      }
-
+   
    mi = e_menu_item_new(m);
    e_menu_item_separator_set(mi, 1);
    
@@ -1061,12 +1191,18 @@
    
    bd = data;
    E_OBJECT_CHECK(bd);
+
    if (bd->iconic)
      {
+        if (e_config->clientlist_warp_to_iconified_desktop == 1)
+          e_desk_show(bd->desk);
+
        if (!bd->lock_user_iconify)
          e_border_uniconify(bd);
      }
-   e_desk_show(bd->desk);
+
+   if (!bd->iconic) e_desk_show(bd->desk);
+
    if (!bd->lock_user_stacking)
      e_border_raise(bd);
    if (!bd->lock_focus_out)
/*
 * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
 */
#include "e.h"

struct _E_Config_Dialog_Data 
{
   int group_by;
   int separate_with;
   int sort_by;
   int separate_iconified_apps;
   int warp_to_iconified_desktop;
};

static void
_fill_data(E_Config_Dialog_Data *cfdata) 
{
   cfdata->group_by = e_config->clientlist_group_by;
   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;
   cfdata->warp_to_iconified_desktop = 
e_config->clientlist_warp_to_iconified_desktop;
}

static void *
_create_data(E_Config_Dialog *cfd) 
{
   E_Config_Dialog_Data *cfdata;
   
   cfdata = E_NEW(E_Config_Dialog_Data, 1);
   _fill_data(cfdata);
   return cfdata;
}

static void
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) 
{
   E_FREE(cfdata);
}

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_separate_with = cfdata->separate_with;
   e_config->clientlist_sort_by = cfdata->sort_by;
   e_config->clientlist_separate_iconified_apps = 
cfdata->separate_iconified_apps;
   e_config->clientlist_warp_to_iconified_desktop = 
cfdata->warp_to_iconified_desktop;

   return 1;
}

static Evas_Object *
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data 
*cfdata) 
{
   Evas_Object *o, *of, *ob;
   E_Radio_Group *rg;

   o = e_widget_list_add(evas, 0, 0);
   
   of = e_widget_framelist_add(evas, _("Group By"), 0);
   rg = e_widget_radio_group_new(&(cfdata->group_by));
   ob = e_widget_radio_add(evas, _("None"), E_CLIENTLIST_GROUP_NONE, rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Desktop"), E_CLIENTLIST_GROUP_DESK, rg);
   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);
   e_widget_list_object_append(o, of, 1, 1, 0.5);
   
   of = e_widget_framelist_add(evas, _("Separate Groups By"), 0);
   rg = e_widget_radio_group_new(&(cfdata->separate_with));
   ob = e_widget_radio_add(evas, _("None"), E_CLIENTLIST_GROUP_SEP_NONE, rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Using separator bars"), 
E_CLIENTLIST_GROUP_SEP_BAR, rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Using menus"), E_CLIENTLIST_GROUP_SEP_MENU, 
rg);
   e_widget_framelist_object_append(of, ob);
   e_widget_list_object_append(o, of, 1, 1, 0.5);
   
   of = e_widget_framelist_add(evas, _("Sort Order"), 0);
   rg = e_widget_radio_group_new(&(cfdata->sort_by));
   ob = e_widget_radio_add(evas, _("None"), E_CLIENTLIST_SORT_NONE, rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Alphabetical"), E_CLIENTLIST_SORT_ALPHA, 
rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Most recently used"), 
E_CLIENTLIST_SORT_MOST_RECENT, rg);
   e_widget_disabled_set(ob, 1);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Z-Order"), E_CLIENTLIST_SORT_ZORDER, rg);
   e_widget_disabled_set(ob, 1);
   e_widget_framelist_object_append(of, ob);
   e_widget_list_object_append(o, of, 1, 1, 0.5);
   
   of = e_widget_framelist_add(evas, _("Iconified Windows"), 0);
   rg = e_widget_radio_group_new(&(cfdata->separate_iconified_apps));
   ob = e_widget_radio_add(evas, _("Group with owning desktop"), 
E_CLIENTLIST_GROUPICONS_OWNER, rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Group with current desktop"), 
E_CLIENTLIST_GROUPICONS_CURRENT, rg);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_radio_add(evas, _("Separate group"), 
E_CLIENTLIST_GROUPICONS_SEP, rg);
   e_widget_disabled_set(ob, 1);
   e_widget_framelist_object_append(of, ob);
   ob = e_widget_check_add(evas, _("Warp to owning desktop"), 
&(cfdata->warp_to_iconified_desktop));
   e_widget_framelist_object_append(of, ob);
   e_widget_list_object_append(o, of, 1, 1, 0.5);
   
   return o;
}

EAPI E_Config_Dialog *
e_int_config_clientlist(E_Container *con) 
{
   E_Config_Dialog *cfd;
   E_Config_Dialog_View *v;
   
   if (e_config_dialog_find("E", "_config_clientlist_dialog")) return NULL;
   v = E_NEW(E_Config_Dialog_View, 1);
   
   v->create_cfdata = _create_data;
   v->free_cfdata = _free_data;
   v->basic.apply_cfdata = _basic_apply_data;
   v->basic.create_widgets = _basic_create_widgets;
   v->advanced.apply_cfdata = NULL;
   v->advanced.create_widgets = NULL;

   cfd = e_config_dialog_new(con, _("Client List Settings"), "E", 
"_config_clientlist_dialog",
                             "enlightenment/clientlist", 0, v, NULL);
   return cfd;
}
#ifdef E_TYPEDEFS
#else
#ifndef E_INT_CONFIG_CLIENTLIST_H
#define E_INT_CONFIG_CLIENTLIST_H

#define E_CLIENTLIST_GROUP_NONE 0
#define E_CLIENTLIST_GROUP_DESK 1
#define E_CLIENTLIST_GROUP_CLASS 2

#define E_CLIENTLIST_GROUP_SEP_NONE 0
#define E_CLIENTLIST_GROUP_SEP_BAR 1
#define E_CLIENTLIST_GROUP_SEP_MENU 2

#define E_CLIENTLIST_SORT_NONE 0  
#define E_CLIENTLIST_SORT_ALPHA 1
#define E_CLIENTLIST_SORT_ZORDER 2
#define E_CLIENTLIST_SORT_MOST_RECENT 3

#define E_CLIENTLIST_GROUPICONS_OWNER 0
#define E_CLIENTLIST_GROUPICONS_CURRENT 1
#define E_CLIENTLIST_GROUPICONS_SEP 2


EAPI E_Config_Dialog *e_int_config_clientlist(E_Container *con);

#endif
#endif
-------------------------------------------------------------------------
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