parent
ba94614313
commit
104a847300
|
@ -511,6 +511,7 @@ e_config_init(void)
|
|||
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 @@ e_config_init(void)
|
|||
|
||||
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_init(void)
|
|||
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);
|
||||
|
|
|
@ -253,6 +253,7 @@ struct _E_Config
|
|||
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
|
||||
|
|
|
@ -17,6 +17,7 @@ struct _E_Config_Dialog_Data
|
|||
int sort_by;
|
||||
int separate_iconified_apps;
|
||||
int warp_to_iconified_desktop;
|
||||
int max_caption_len;
|
||||
};
|
||||
|
||||
EAPI E_Config_Dialog *
|
||||
|
@ -50,6 +51,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
|||
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 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
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;
|
||||
}
|
||||
|
@ -137,6 +140,11 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
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);
|
||||
|
||||
return o;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -55,6 +55,7 @@ static void _e_int_menus_clients_add_by_class (Evas_List *borders, E_Menu *m);
|
|||
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_int_menus_clients_pre_cb(void *data, E_Menu *m)
|
|||
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]))
|
||||
|
|
Loading…
Reference in New Issue