This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository enlightenment.

View the commit online.

commit b775f51c82f22a56e69ca81c6adf16d3624f7a8c
Author: Carsten Haitzler <[email protected]>
AuthorDate: Sat Jun 17 11:56:57 2023 +0100

    Add option to set hidden state or not
---
 data/config/default/e.src                          |  3 ++-
 data/config/standard/e.src                         |  3 ++-
 data/config/tiling/e.src                           |  3 ++-
 src/bin/e_config.c                                 |  1 +
 src/bin/e_config.h                                 |  1 +
 src/bin/e_hints.c                                  |  7 +++--
 .../e_int_config_window_geometry.c                 | 30 ++++++++++++++--------
 7 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/data/config/default/e.src b/data/config/default/e.src
index dbb95387f..5e66ae7e7 100644
--- a/data/config/default/e.src
+++ b/data/config/default/e.src
@@ -58,7 +58,8 @@ 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 "winlist_list_no_miniatures" uchar: 0;
+  value "no_state_hidden_desktop" uchar: 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 8e982c93f..e5a1ca37e 100644
--- a/data/config/standard/e.src
+++ b/data/config/standard/e.src
@@ -54,7 +54,8 @@ 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 "winlist_list_no_miniatures" uchar: 0;
+    value "no_state_hidden_desktop" uchar: 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 53f713500..2b0329865 100644
--- a/data/config/tiling/e.src
+++ b/data/config/tiling/e.src
@@ -54,7 +54,8 @@ 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 "winlist_list_no_miniatures" uchar: 0;
+    value "no_state_hidden_desktop" uchar: 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 00bd43914..bfcfe7957 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -750,6 +750,7 @@ _e_config_edd_init(Eina_Bool old)
    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, no_state_hidden_desktop, 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 d7250739b..aeb0fecdb 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -135,6 +135,7 @@ struct _E_Config
    double      winlist_list_size; // GUI
    double      winlist_large_size; // GUI
    Eina_Bool   winlist_list_no_miniatures; // GUI
+   Eina_Bool   no_state_hidden_desktop; // GUI
    int         maximize_policy; // GUI
    int         allow_manip; // GUI
    int         border_fix_on_shelf_toggle; // GUI
diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c
index daadc6c6b..0d9fdaf61 100644
--- a/src/bin/e_hints.c
+++ b/src/bin/e_hints.c
@@ -597,8 +597,11 @@ e_hints_window_state_set(E_Client *ec)
         if (ec->netwm.state.skip_pager)
           state[num++] = ECORE_X_WINDOW_STATE_SKIP_PAGER;
      }
-   if (ec->netwm.state.hidden)
-     state[num++] = ECORE_X_WINDOW_STATE_HIDDEN;
+   if (!e_config->no_state_hidden_desktop)
+     {
+        if (ec->netwm.state.hidden)
+          state[num++] = ECORE_X_WINDOW_STATE_HIDDEN;
+     }
    if (ec->netwm.state.fullscreen)
      state[num++] = ECORE_X_WINDOW_STATE_FULLSCREEN;
 
diff --git a/src/modules/conf_window_manipulation/e_int_config_window_geometry.c b/src/modules/conf_window_manipulation/e_int_config_window_geometry.c
index 7c33b0e63..2808ea56f 100644
--- a/src/modules/conf_window_manipulation/e_int_config_window_geometry.c
+++ b/src/modules/conf_window_manipulation/e_int_config_window_geometry.c
@@ -41,7 +41,8 @@ struct _E_Config_Dialog_Data
    int maximize_direction;
    int maximized_allow_manip;
    int border_fix_on_shelf_toggle;
-   int    allow_above_fullscreen;
+   int allow_above_fullscreen;
+   int state_hidden_desktop;
 };
 
 E_Config_Dialog *
@@ -90,6 +91,7 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED)
    cfdata->transient.iconify = e_config->transient.iconify;
    cfdata->maximize_policy = (e_config->maximize_policy & E_MAXIMIZE_TYPE);
    cfdata->allow_above_fullscreen = e_config->allow_above_fullscreen;
+   cfdata->state_hidden_desktop = ! e_config->no_state_hidden_desktop;
    if (cfdata->maximize_policy == E_MAXIMIZE_NONE)
      cfdata->maximize_policy = E_MAXIMIZE_FULLSCREEN;
    cfdata->maximize_direction =
@@ -133,6 +135,7 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
    e_config->allow_manip = cfdata->maximized_allow_manip;
    e_config->border_fix_on_shelf_toggle = cfdata->border_fix_on_shelf_toggle;
    e_config->allow_above_fullscreen = cfdata->allow_above_fullscreen;
+   e_config->no_state_hidden_desktop = !cfdata->state_hidden_desktop;
    e_config_save_queue();
    return 1; /* Apply was OK */
 }
@@ -141,16 +144,16 @@ static int
 _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
 {
    return ((e_config->use_resist != cfdata->use_resist) ||
-	   (e_config->desk_resist != cfdata->desk_resist) ||
-	   (e_config->window_resist != cfdata->window_resist) ||
-	   (e_config->gadget_resist != cfdata->gadget_resist) ||
-	   (e_config->geometry_auto_resize_limit != cfdata->geometry_auto_resize_limit) ||
+           (e_config->desk_resist != cfdata->desk_resist) ||
+           (e_config->window_resist != cfdata->window_resist) ||
+           (e_config->gadget_resist != cfdata->gadget_resist) ||
+           (e_config->geometry_auto_resize_limit != cfdata->geometry_auto_resize_limit) ||
            (e_config->geometry_auto_move != cfdata->geometry_auto_move) ||
-	   (!EINA_DBL_EQ(e_config->border_keyboard.timeout, cfdata->border_keyboard.timeout)) ||
-	   (e_config->border_keyboard.move.dx != cfdata->border_keyboard.move.dx) ||
-	   (e_config->border_keyboard.move.dy != cfdata->border_keyboard.move.dx) ||
-	   (e_config->border_keyboard.resize.dx != cfdata->border_keyboard.resize.dx) ||
-	   (e_config->border_keyboard.resize.dy != cfdata->border_keyboard.resize.dx) ||
+           (!EINA_DBL_EQ(e_config->border_keyboard.timeout, cfdata->border_keyboard.timeout)) ||
+           (e_config->border_keyboard.move.dx != cfdata->border_keyboard.move.dx) ||
+           (e_config->border_keyboard.move.dy != cfdata->border_keyboard.move.dx) ||
+           (e_config->border_keyboard.resize.dx != cfdata->border_keyboard.resize.dx) ||
+           (e_config->border_keyboard.resize.dy != cfdata->border_keyboard.resize.dx) ||
            (e_config->transient.move != cfdata->transient.move) ||
            (e_config->transient.resize != cfdata->transient.resize) ||
            (e_config->transient.raise != cfdata->transient.raise) ||
@@ -161,7 +164,9 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfd
            (e_config->maximize_policy != (cfdata->maximize_policy | cfdata->maximize_direction)) ||
            (e_config->allow_manip != cfdata->maximized_allow_manip) ||
            (e_config->border_fix_on_shelf_toggle != cfdata->border_fix_on_shelf_toggle) ||
-           (e_config->allow_above_fullscreen != cfdata->allow_above_fullscreen));
+           (e_config->allow_above_fullscreen != cfdata->allow_above_fullscreen) ||
+           (e_config->no_state_hidden_desktop == cfdata->state_hidden_desktop)
+          );
 }
 
 static Evas_Object *
@@ -267,6 +272,9 @@ _basic_create(E_Config_Dialog *cfd EINA_UNUSED, Evas *evas, E_Config_Dialog_Data
    ow = e_widget_check_add(evas, _("Adjust windows on shelf hide"),
                            &(cfdata->border_fix_on_shelf_toggle));
    e_widget_list_object_append(ol, ow, 1, 0, 0.5);
+   ow = e_widget_check_add(evas, _("Set hidden state when not on current desktop"),
+                           &(cfdata->state_hidden_desktop));
+   e_widget_list_object_append(ol, ow, 1, 0, 0.5);
    e_widget_toolbook_page_append(otb, NULL, _("Automatic"), ol,
                                  1, 1, 1, 0, 0.0, 0.0);
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to