discomfitor pushed a commit to branch master.

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

commit a06489951191b50d165a323056b0fa5dd6bbcfa3
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Mar 10 15:57:15 2017 -0500

    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
---
 src/bin/e_comp_x.c | 8 +++++++-
 src/bin/e_hints.c  | 8 --------
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index aaa82b3..03df29a 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 3ca5f21..358bb95 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;

-- 


Reply via email to