raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=0187eb5fe64b9538f8e2cb32bb24e58fdbea3d2b

commit 0187eb5fe64b9538f8e2cb32bb24e58fdbea3d2b
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Sun Apr 4 12:50:24 2021 +0100

    winlist - add list window miniatures option you can turn off
---
 data/config/default/e.src                  | 1 +
 data/config/standard/e.src                 | 1 +
 data/config/tiling/e.src                   | 1 +
 src/bin/e_config.c                         | 1 +
 src/bin/e_config.h                         | 1 +
 src/modules/winlist/e_int_config_winlist.c | 7 +++++++
 src/modules/winlist/e_winlist.c            | 3 ++-
 7 files changed, 14 insertions(+), 1 deletion(-)

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;

-- 


Reply via email to