forked from enlightenment/enlightenment
improve behavior of wl client buffered state changes during commits
apply e_config maximize policy for buffered (un)maximize, unset buffered states after applying them
This commit is contained in:
parent
9578ae615f
commit
b0f2443042
|
@ -1084,19 +1084,16 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
|
||||||
if (ec->comp_data->shell.set.unfullscreen)
|
if (ec->comp_data->shell.set.unfullscreen)
|
||||||
e_client_unfullscreen(ec);
|
e_client_unfullscreen(ec);
|
||||||
if (ec->comp_data->shell.set.maximize)
|
if (ec->comp_data->shell.set.maximize)
|
||||||
{
|
e_client_maximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max);
|
||||||
unsigned int max = (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_BOTH;
|
|
||||||
|
|
||||||
/* FIXME: server-side desync */
|
|
||||||
if (!ec->maximized)
|
|
||||||
{
|
|
||||||
e_client_maximize(ec, max);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (ec->comp_data->shell.set.unmaximize)
|
if (ec->comp_data->shell.set.unmaximize)
|
||||||
e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
|
e_client_unmaximize(ec, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | ec->comp_data->max);
|
||||||
if (ec->comp_data->shell.set.minimize)
|
if (ec->comp_data->shell.set.minimize)
|
||||||
e_client_iconify(ec);
|
e_client_iconify(ec);
|
||||||
|
ec->comp_data->shell.set.fullscreen =
|
||||||
|
ec->comp_data->shell.set.unfullscreen =
|
||||||
|
ec->comp_data->shell.set.maximize =
|
||||||
|
ec->comp_data->shell.set.unmaximize =
|
||||||
|
ec->comp_data->shell.set.minimize = 0;
|
||||||
}
|
}
|
||||||
_e_comp_wl_surface_state_size_update(ec, state);
|
_e_comp_wl_surface_state_size_update(ec, state);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue