Hello,

Attached is a small patch which will add a check box to the config panel that manipulates the clientlist menu.

Presently there is a way to limit the length of the caption of clientlist menu items. However if you do not wish to limit the length you would need to set the limit to 0. It's occurred to me that this may not be the most intuitive for a user... So I've added a checkbox which will allow them to clearly enable or disable the feature.

If there are no objections... I'd like to commit this.

Questions, comments, and complaints welcome.

--
Regards,
Ravenlock
Index: e17/apps/e/src/bin/e_config.c
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.236
diff -u -r1.236 e_config.c
--- e17/apps/e/src/bin/e_config.c       5 Apr 2007 17:20:09 -0000       1.236
+++ e17/apps/e/src/bin/e_config.c       9 Apr 2007 04:29:04 -0000
@@ -515,6 +515,7 @@
    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, clientlist_limit_caption_len, INT);
    E_CONFIG_VAL(D, T, clientlist_max_caption_len, INT);
    
    E_CONFIG_VAL(D, T, mouse_accel_numerator, INT);
@@ -1372,6 +1373,10 @@
    e_config->thumb_nice = 0;
    IFCFGEND;
 
+   IFCFG(0x0115);
+   e_config->clientlist_limit_caption_len = 0;
+   IFCFGEND;
+
    e_config->config_version = E_CONFIG_FILE_VERSION;   
      
 #if 0 /* example of new config */
@@ -1490,7 +1495,8 @@
    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);
-   E_CONFIG_LIMIT(e_config->clientlist_max_caption_len, 0, 
E_CLIENTLIST_MAX_CAPTION_LEN);
+   E_CONFIG_LIMIT(e_config->clientlist_limit_caption_len, 0, 1);
+   E_CONFIG_LIMIT(e_config->clientlist_max_caption_len, 2, 
E_CLIENTLIST_MAX_CAPTION_LEN);
    
    E_CONFIG_LIMIT(e_config->mouse_accel_numerator, 1, 10);
    E_CONFIG_LIMIT(e_config->mouse_accel_denominator, 1, 10);
Index: e17/apps/e/src/bin/e_config.h
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.150
diff -u -r1.150 e_config.h
--- e17/apps/e/src/bin/e_config.h       5 Apr 2007 17:20:09 -0000       1.150
+++ e17/apps/e/src/bin/e_config.h       9 Apr 2007 04:29:04 -0000
@@ -54,7 +54,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 0x0114
+#define E_CONFIG_FILE_GENERATION 0x0115
 #define E_CONFIG_FILE_VERSION    ((E_CONFIG_FILE_EPOCH << 16) | 
E_CONFIG_FILE_GENERATION)
 
 #define E_EVAS_ENGINE_DEFAULT      0
@@ -255,7 +255,8 @@
    int         clientlist_sort_by; // GUI
    int         clientlist_separate_iconified_apps; // GUI
    int         clientlist_warp_to_iconified_desktop; // GUI
-   int         clientlist_max_caption_len;
+   int         clientlist_limit_caption_len; // GUI
+   int         clientlist_max_caption_len; // GUI
 
    int         mouse_accel_numerator; // GUI
    int         mouse_accel_denominator; // GUI
Index: e17/apps/e/src/bin/e_int_config_clientlist.c
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_clientlist.c,v
retrieving revision 1.6
diff -u -r1.6 e_int_config_clientlist.c
--- e17/apps/e/src/bin/e_int_config_clientlist.c        4 Apr 2007 13:25:54 
-0000       1.6
+++ e17/apps/e/src/bin/e_int_config_clientlist.c        9 Apr 2007 04:29:04 
-0000
@@ -17,6 +17,7 @@
    int sort_by;
    int separate_iconified_apps;
    int warp_to_iconified_desktop;
+   int limit_caption_len;
    int max_caption_len;
 };
 
@@ -51,6 +52,7 @@
    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;
+   cfdata->limit_caption_len = e_config->clientlist_limit_caption_len;
    cfdata->max_caption_len = e_config->clientlist_max_caption_len;
 }
 
@@ -79,6 +81,7 @@
    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;
+   e_config->clientlist_limit_caption_len = cfdata->limit_caption_len;
    e_config->clientlist_max_caption_len = cfdata->max_caption_len;
    e_config_save_queue();
    return 1;
@@ -140,8 +143,10 @@
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
 
-   of = e_widget_framelist_add(evas, _("Maximum Caption Length"), 0);
-   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f Chars"), 0.0, 
E_CLIENTLIST_MAX_CAPTION_LEN, 2.0, 0, NULL, &(cfdata->max_caption_len), 200);
+   of = e_widget_framelist_add(evas, _("Menu Item Captions"), 0);
+   ob = e_widget_check_add(evas, _("Limit caption length"), 
&(cfdata->limit_caption_len));
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f Chars"), 2.0, 
E_CLIENTLIST_MAX_CAPTION_LEN, 2.0, 0, NULL, &(cfdata->max_caption_len), 200);
    e_widget_framelist_object_append(of, ob);
    e_widget_table_object_append(ot, of, 0, 2, 2, 1, 1, 1, 1, 0);
 
Index: e17/apps/e/src/bin/e_int_menus.c
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.212
diff -u -r1.212 e_int_menus.c
--- e17/apps/e/src/bin/e_int_menus.c    6 Apr 2007 09:55:16 -0000       1.212
+++ e17/apps/e/src/bin/e_int_menus.c    9 Apr 2007 04:29:05 -0000
@@ -1261,7 +1261,7 @@
    int max_len;
 
    max_len = e_config->clientlist_max_caption_len;
-   if ((max_len != 0) && (strlen(title) > max_len))
+   if ((e_config->clientlist_limit_caption_len) && (strlen(title) > max_len))
      {
        char *abbv;
        const char *left, *right;
-------------------------------------------------------------------------
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