SVN revision: 14803
This commit is contained in:
sebastid 2005-05-16 10:46:01 +00:00 committed by sebastid
parent e34e43ed58
commit 7d72a09971
1 changed files with 30 additions and 25 deletions

View File

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