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.