forked from enlightenment/enlightenment
parent
e34e43ed58
commit
7d72a09971
|
@ -1971,32 +1971,37 @@ _e_border_cb_window_state(void *data, int ev_type, void *ev)
|
|||
{
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
if (e->state[i] == ECORE_X_WINDOW_STATE_ICONIFIED)
|
||||
switch (e->state[i])
|
||||
{
|
||||
if (e->action == ECORE_X_WINDOW_STATE_ACTION_ADD)
|
||||
{
|
||||
ecore_x_icccm_state_set(e->win, ECORE_X_WINDOW_STATE_HINT_ICONIC);
|
||||
ecore_x_netwm_window_state_set(e->win, ECORE_X_WINDOW_STATE_HIDDEN, 1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (e->action)
|
||||
{
|
||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 0);
|
||||
break;
|
||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 1);
|
||||
break;
|
||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||
on = ecore_x_netwm_window_state_isset(e->win, e->state[i]);
|
||||
if (on)
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 0);
|
||||
else
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 1);
|
||||
break;
|
||||
}
|
||||
case ECORE_X_WINDOW_STATE_ICONIFIED:
|
||||
if (e->action == ECORE_X_WINDOW_STATE_ACTION_ADD)
|
||||
{
|
||||
ecore_x_icccm_state_set(e->win, ECORE_X_WINDOW_STATE_HINT_ICONIC);
|
||||
ecore_x_netwm_window_state_set(e->win, ECORE_X_WINDOW_STATE_HIDDEN, 1);
|
||||
}
|
||||
break;
|
||||
case ECORE_X_WINDOW_STATE_UNKNOWN:
|
||||
case ECORE_X_WINDOW_STATE_HIDDEN:
|
||||
/* Ignore */
|
||||
break;
|
||||
default:
|
||||
switch (e->action)
|
||||
{
|
||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 0);
|
||||
break;
|
||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 1);
|
||||
break;
|
||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||
on = ecore_x_netwm_window_state_isset(e->win, e->state[i]);
|
||||
if (on)
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 0);
|
||||
else
|
||||
ecore_x_netwm_window_state_set(e->win, e->state[i], 1);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue