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
This commit is contained in:
Mike Blumenkrantz 2017-03-10 15:57:15 -05:00
parent f253351f0a
commit a064899511
2 changed files with 7 additions and 9 deletions

View File

@ -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)

View File

@ -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;