diff --git a/data/config/default/e.src b/data/config/default/e.src index 774f64c26..1487564c1 100644 --- a/data/config/default/e.src +++ b/data/config/default/e.src @@ -58,6 +58,7 @@ group "E_Config" struct { value "winlist_mode" int: 1; value "winlist_large_size" double: 0.6666; value "winlist_list_size" double: 0.3333; + value "winlist_list_no_miniatures" int: 0; value "maximize_policy" int: 49; value "allow_manip" int: 0; value "border_fix_on_shelf_toggle" int: 0; diff --git a/data/config/standard/e.src b/data/config/standard/e.src index c78fb4064..26a23bf82 100644 --- a/data/config/standard/e.src +++ b/data/config/standard/e.src @@ -54,6 +54,7 @@ group "E_Config" struct { value "winlist_mode" int: 1; value "winlist_large_size" double: 0.6666; value "winlist_list_size" double: 0.3333; + value "winlist_list_no_miniatures" int: 0; value "maximize_policy" int: 50; value "allow_manip" int: 0; value "border_fix_on_shelf_toggle" int: 0; diff --git a/data/config/tiling/e.src b/data/config/tiling/e.src index f7d75b934..810e3e5ad 100644 --- a/data/config/tiling/e.src +++ b/data/config/tiling/e.src @@ -54,6 +54,7 @@ group "E_Config" struct { value "winlist_mode" int: 1; value "winlist_large_size" double: 0.6666; value "winlist_list_size" double: 0.3333; + value "winlist_list_no_miniatures" int: 0; value "maximize_policy" int: 50; value "allow_manip" int: 0; value "border_fix_on_shelf_toggle" int: 0; diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 2834828d9..8d242a973 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -730,6 +730,7 @@ _e_config_edd_init(Eina_Bool old) E_CONFIG_VAL(D, T, winlist_mode, INT); /**/ E_CONFIG_VAL(D, T, winlist_list_size, DOUBLE); /**/ E_CONFIG_VAL(D, T, winlist_large_size, DOUBLE); /**/ + E_CONFIG_VAL(D, T, winlist_list_no_miniatures, UCHAR); /**/ E_CONFIG_VAL(D, T, maximize_policy, INT); /**/ E_CONFIG_VAL(D, T, allow_manip, INT); /**/ E_CONFIG_VAL(D, T, border_fix_on_shelf_toggle, INT); /**/ diff --git a/src/bin/e_config.h b/src/bin/e_config.h index 8e19b248e..d1a3e4662 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -134,6 +134,7 @@ struct _E_Config int winlist_mode; // GUI double winlist_list_size; // GUI double winlist_large_size; // GUI + Eina_Bool winlist_list_no_miniatures; // GUI int maximize_policy; // GUI int allow_manip; // GUI int border_fix_on_shelf_toggle; // GUI diff --git a/src/modules/winlist/e_int_config_winlist.c b/src/modules/winlist/e_int_config_winlist.c index 0f570bc35..d790d8af5 100644 --- a/src/modules/winlist/e_int_config_winlist.c +++ b/src/modules/winlist/e_int_config_winlist.c @@ -22,6 +22,7 @@ struct _E_Config_Dialog_Data int move_after_select; int mode; + int list_miniatures; double large_size; double list_size; @@ -65,6 +66,7 @@ _fill_data(E_Config_Dialog_Data *cfdata) cfdata->mode = e_config->winlist_mode; cfdata->large_size = e_config->winlist_large_size; cfdata->list_size = e_config->winlist_list_size; + cfdata->list_miniatures = !(!!e_config->winlist_list_no_miniatures); cfdata->windows_other_desks = e_config->winlist_list_show_other_desk_windows; @@ -119,6 +121,7 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata) DO(mode, mode); DO(large_size, large_size); DO(list_size, list_size); + e_config->winlist_list_no_miniatures = !(!!cfdata->list_miniatures); DO(warp_while_selecting, warp_while_selecting); DO(warp_at_end, warp_at_end); DO(no_warp_on_direction, no_warp_on_direction); @@ -152,6 +155,7 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfd DO(mode, mode); DO_DBL(large_size, large_size); DO_DBL(list_size, list_size); + if (e_config->winlist_list_no_miniatures != !(!!cfdata->list_miniatures)) return 1; DO(warp_while_selecting, warp_while_selecting); DO(warp_at_end, warp_at_end); DO(no_warp_on_direction, no_warp_on_direction); @@ -186,6 +190,9 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data ob = e_widget_slider_add(evas, 1, 0, _("%1.2f"), 0.0, 1.0, 0.01, 0, &(cfdata->list_size), NULL, 100); e_widget_list_object_append(ol, ob, 1, 0, 0.0); + ob = e_widget_check_add(evas, _("List Window Miniatures"), + &(cfdata->list_miniatures)); + e_widget_list_object_append(ol, ob, 1, 0, 0.0); ob = e_widget_check_add(evas, _("Windows from other desks"), &(cfdata->windows_other_desks)); e_widget_list_object_append(ol, ob, 1, 0, 0.0); diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c index 1adcfded5..a0f58dc8e 100644 --- a/src/modules/winlist/e_winlist.c +++ b/src/modules/winlist/e_winlist.c @@ -977,7 +977,8 @@ _e_winlist_client_add(E_Client *ec, E_Zone *zone, E_Desk *desk) edje_object_part_swallow(ww->bg_object, "e.swallow.icon", o); evas_object_show(o); } - if (edje_object_part_exists(ww->bg_object, "e.swallow.win")) + if (edje_object_part_exists(ww->bg_object, "e.swallow.win") && + (!e_config->winlist_list_no_miniatures)) { o = e_comp_object_util_frame_mirror_add(ec->frame); ww->win_object = o;