summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-03-10 15:57:15 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-03-10 15:55:06 -0500
commita06489951191b50d165a323056b0fa5dd6bbcfa3 (patch)
tree57ce1615033ae7b1371e1a87c6ab6bbd64544204
parentf253351f0ab3e71fb022f6036fe1c4ced8ced946 (diff)
downloadenlightenment-a06489951191b50d165a323056b0fa5dd6bbcfa3.tar.gz
move x11 iconic window init from e_hints -> comp_x initial fetch
this reflects the order in which the client passes through these functions and fixes handling of iconic clients on startup
-rw-r--r--src/bin/e_comp_x.c8
-rw-r--r--src/bin/e_hints.c8
2 files changed, 7 insertions, 9 deletions
diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index aaa82b30f6..03df29a782 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -3590,7 +3590,13 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec)
&is_urgent))
{
if (ec->new_client)
- ec->icccm.initial_state = ec->icccm.state;
+ {
+ /* clients may unset iconic state when no wm is present */
+ if (ec->netwm.state.hidden && (ec->icccm.state == ECORE_X_WINDOW_STATE_HINT_NORMAL))
+ ec->icccm.initial_state = ECORE_X_WINDOW_STATE_HINT_ICONIC;
+ else
+ ec->icccm.initial_state = ec->icccm.state;
+ }
if (state != ec->icccm.state)
{
if (ec->icccm.state == ECORE_X_WINDOW_STATE_HINT_WITHDRAWN)
diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c
index 3ca5f21a04..358bb95eab 100644
--- a/src/bin/e_hints.c
+++ b/src/bin/e_hints.c
@@ -411,14 +411,6 @@ e_hints_window_init(E_Client *ec)
if (ec->remember)
rem = ec->remember;
- if (ec->icccm.initial_state == ECORE_X_WINDOW_STATE_HINT_NONE)
- {
- if (ec->netwm.state.hidden)
- ec->icccm.state = ECORE_X_WINDOW_STATE_HINT_ICONIC;
- else
- ec->icccm.state = ECORE_X_WINDOW_STATE_HINT_NORMAL;
- }
-
if ((rem) && (rem->apply & E_REMEMBER_APPLY_LAYER))
{
ec->layer = rem->prop.layer;