===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.233
retrieving revision 1.234
diff -u -3 -r1.233 -r1.234
--- e_config.c 25 Mar 2007 22:44:59 -0000 1.233
+++ e_config.c 4 Apr 2007 13:25:54 -0000 1.234
@@ -511,6 +511,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_max_caption_len, INT);
E_CONFIG_VAL(D, T, mouse_accel_numerator, INT);
E_CONFIG_VAL(D, T, mouse_accel_denominator, INT);
@@ -1357,6 +1358,10 @@
if (!e_config->icon_theme) e_config->icon_theme = evas_stringshare_add("hicolor");
+ IFCFG(0x111)
+ e_config->clientlist_max_caption_len = 0;
+ IFCFGEND;
+
e_config->config_version = E_CONFIG_FILE_VERSION;
#if 0 /* example of new config */
@@ -1475,6 +1480,7 @@
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->mouse_accel_numerator, 1, 10);
E_CONFIG_LIMIT(e_config->mouse_accel_denominator, 1, 10);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -3 -r1.147 -r1.148
--- e_config.h 25 Mar 2007 22:44:59 -0000 1.147
+++ e_config.h 4 Apr 2007 13:25:54 -0000 1.148
@@ -253,6 +253,7 @@
int clientlist_sort_by; // GUI
int clientlist_separate_iconified_apps; // GUI
int clientlist_warp_to_iconified_desktop; // GUI
+ int clientlist_max_caption_len;
int mouse_accel_numerator; // GUI
int mouse_accel_denominator; // GUI
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_clientlist.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_int_config_clientlist.c 26 Mar 2007 17:13:57 -0000 1.5
+++ e_int_config_clientlist.c 4 Apr 2007 13:25:54 -0000 1.6
@@ -17,6 +17,7 @@
int sort_by;
int separate_iconified_apps;
int warp_to_iconified_desktop;
+ int max_caption_len;
};
EAPI E_Config_Dialog *
@@ -50,6 +51,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->max_caption_len = e_config->clientlist_max_caption_len;
}
static void *
@@ -77,6 +79,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_max_caption_len = cfdata->max_caption_len;
e_config_save_queue();
return 1;
}
@@ -136,6 +139,11 @@
ob = e_widget_check_add(evas, _("Warp to owning desktop"),
&(cfdata->warp_to_iconified_desktop));
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);
+ e_widget_framelist_object_append(of, ob);
+ e_widget_table_object_append(ot, of, 0, 2, 2, 1, 1, 1, 1, 0);
e_widget_list_object_append(o, ot, 1, 1, 0.5);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_clientlist.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_int_config_clientlist.h 21 Feb 2007 00:05:27 -0000 1.1
+++ e_int_config_clientlist.h 4 Apr 2007 13:25:54 -0000 1.2
@@ -20,6 +20,8 @@
#define E_CLIENTLIST_GROUPICONS_CURRENT 1
#define E_CLIENTLIST_GROUPICONS_SEP 2
+#define E_CLIENTLIST_MAX_CAPTION_LEN 256
+
EAPI E_Config_Dialog *e_int_config_clientlist(E_Container *con);
#endif
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_menus.c,v
retrieving revision 1.207
retrieving revision 1.208
diff -u -3 -r1.207 -r1.208
--- e_int_menus.c 25 Mar 2007 22:45:00 -0000 1.207
+++ e_int_menus.c 4 Apr 2007 13:25:54 -0000 1.208
@@ -55,6 +55,7 @@
static void _e_int_menus_clients_add_by_desk (E_Desk *curr_desk, Evas_List
*borders, E_Menu *m);
static void _e_int_menus_clients_add_by_none (Evas_List *borders, E_Menu
*m);
static void _e_int_menus_clients_menu_add_iconified (Evas_List *borders,
E_Menu *m);
+static const char *_e_int_menus_clients_title_abbrv (const char *title);
static void _e_int_menus_virtuals_pre_cb (void *data, E_Menu *m);
static void _e_int_menus_virtuals_item_cb (void *data, E_Menu *m,
E_Menu_Item *mi);
static void _e_int_menus_themes_about (void *data, E_Menu *m,
E_Menu_Item *mi);
@@ -1250,13 +1251,36 @@
e_object_data_set(E_OBJECT(m), borders);
}
+static const char *
+_e_int_menus_clients_title_abbrv(const char *title)
+{
+ char *abbv, *left, *right;
+ int max_len;
+
+ max_len = e_config->clientlist_max_caption_len;
+ if ((max_len != 0) && (strlen(title) > max_len))
+ {
+ abbv = calloc(E_CLIENTLIST_MAX_CAPTION_LEN+4, sizeof(char));
+ left = title;
+ right = title + (strlen(title) - (max_len/2));
+
+ strncpy(abbv, left, max_len/2);
+ strncat(abbv, "...", 3);
+ strncat(abbv, right, max_len/2);
+
+ return abbv;
+ }
+ else
+ return title;
+}
+
static void
_e_int_menus_clients_item_create(E_Border *bd, E_Menu *m)
{
E_Menu_Item *mi;
const char *title;
- title = e_border_name_get(bd);
+ title = _e_int_menus_clients_title_abbrv(e_border_name_get(bd));
mi = e_menu_item_new(m);
e_menu_item_check_set(mi, 1);
if ((title) && (title[0]))
-------------------------------------------------------------------------
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-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs