forked from enlightenment/enlightenment
use more accurate math to determine whether to apply a client maximize change
This commit is contained in:
parent
29823dbf1b
commit
9b2eb5541c
|
@ -810,12 +810,12 @@ e_hints_window_state_update(E_Client *ec, int state, int action)
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
if (ec->maximized & max[state])
|
if ((ec->maximized & max[state]) == max[state])
|
||||||
e_client_unmaximize(ec, max[state]);
|
e_client_unmaximize(ec, max[state]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (ec->maximized & max[state]) break;
|
if ((ec->maximized & max[state]) == max[state]) break;
|
||||||
ec->changes.need_maximize = 1;
|
ec->changes.need_maximize = 1;
|
||||||
ec->maximized &= ~E_MAXIMIZE_TYPE;
|
ec->maximized &= ~E_MAXIMIZE_TYPE;
|
||||||
ec->maximized |= (e_config->maximize_policy & E_MAXIMIZE_TYPE) | max[state];
|
ec->maximized |= (e_config->maximize_policy & E_MAXIMIZE_TYPE) | max[state];
|
||||||
|
@ -823,7 +823,7 @@ e_hints_window_state_update(E_Client *ec, int state, int action)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (ec->maximized & max[state])
|
if ((ec->maximized & max[state]) == max[state])
|
||||||
{
|
{
|
||||||
e_client_unmaximize(ec, max[state]);
|
e_client_unmaximize(ec, max[state]);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue