forked from enlightenment/enlightenment
parent
d3bcd46f2b
commit
e82e4a3f2b
|
@ -125,7 +125,7 @@ e_hints_init(void)
|
||||||
&win, 1);
|
&win, 1);
|
||||||
if (nwins > 0)
|
if (nwins > 0)
|
||||||
{
|
{
|
||||||
for (;;)
|
for (;; )
|
||||||
{
|
{
|
||||||
nwins = ecore_x_window_prop_window_get(win,
|
nwins = ecore_x_window_prop_window_get(win,
|
||||||
ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK,
|
ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK,
|
||||||
|
@ -398,7 +398,8 @@ e_hints_client_stacking_set(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_active_window_set(E_Manager *man, E_Border *bd)
|
e_hints_active_window_set(E_Manager *man,
|
||||||
|
E_Border *bd)
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(man);
|
E_OBJECT_CHECK(man);
|
||||||
if (bd)
|
if (bd)
|
||||||
|
@ -585,7 +586,7 @@ e_hints_window_init(E_Border *bd)
|
||||||
e_border_center(bd);
|
e_border_center(bd);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
/* Update stacking */
|
/* Update stacking */
|
||||||
e_hints_client_list_set();
|
e_hints_client_list_set();
|
||||||
e_hints_client_stacking_set();
|
e_hints_client_stacking_set();
|
||||||
}
|
}
|
||||||
|
@ -620,9 +621,11 @@ e_hints_window_state_set(E_Border *bd)
|
||||||
case E_STACKING_ABOVE:
|
case E_STACKING_ABOVE:
|
||||||
state[num++] = ECORE_X_WINDOW_STATE_ABOVE;
|
state[num++] = ECORE_X_WINDOW_STATE_ABOVE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_STACKING_BELOW:
|
case E_STACKING_BELOW:
|
||||||
state[num++] = ECORE_X_WINDOW_STATE_BELOW;
|
state[num++] = ECORE_X_WINDOW_STATE_BELOW;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_STACKING_NONE:
|
case E_STACKING_NONE:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -708,7 +711,8 @@ e_hints_window_type_get(E_Border *bd)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
e_hints_window_state_update(E_Border *bd,
|
||||||
|
Ecore_X_Window_State state,
|
||||||
Ecore_X_Window_State_Action action)
|
Ecore_X_Window_State_Action action)
|
||||||
{
|
{
|
||||||
switch (state)
|
switch (state)
|
||||||
|
@ -719,6 +723,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
if (bd->lock_client_iconify) return;
|
if (bd->lock_client_iconify) return;
|
||||||
e_border_iconify(bd);
|
e_border_iconify(bd);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_MODAL:
|
case ECORE_X_WINDOW_STATE_MODAL:
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
|
@ -730,6 +735,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!bd->client.netwm.state.modal)
|
if (!bd->client.netwm.state.modal)
|
||||||
{
|
{
|
||||||
|
@ -738,6 +744,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
bd->client.netwm.state.modal = !bd->client.netwm.state.modal;
|
bd->client.netwm.state.modal = !bd->client.netwm.state.modal;
|
||||||
bd->client.netwm.update.state = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
@ -745,6 +752,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_STICKY:
|
case ECORE_X_WINDOW_STATE_STICKY:
|
||||||
if (bd->lock_client_sticky) return;
|
if (bd->lock_client_sticky) return;
|
||||||
switch (action)
|
switch (action)
|
||||||
|
@ -752,9 +760,11 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
e_border_unstick(bd);
|
e_border_unstick(bd);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
e_border_stick(bd);
|
e_border_stick(bd);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->sticky)
|
if (bd->sticky)
|
||||||
e_border_unstick(bd);
|
e_border_unstick(bd);
|
||||||
|
@ -763,6 +773,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
|
case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
|
||||||
if (bd->lock_client_maximize) return;
|
if (bd->lock_client_maximize) return;
|
||||||
switch (action)
|
switch (action)
|
||||||
|
@ -771,10 +782,12 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
if (bd->maximized & E_MAXIMIZE_VERTICAL)
|
if (bd->maximized & E_MAXIMIZE_VERTICAL)
|
||||||
e_border_unmaximize(bd, E_MAXIMIZE_VERTICAL);
|
e_border_unmaximize(bd, E_MAXIMIZE_VERTICAL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!(bd->maximized & E_MAXIMIZE_VERTICAL))
|
if (!(bd->maximized & E_MAXIMIZE_VERTICAL))
|
||||||
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_VERTICAL);
|
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_VERTICAL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->maximized & E_MAXIMIZE_VERTICAL)
|
if (bd->maximized & E_MAXIMIZE_VERTICAL)
|
||||||
e_border_unmaximize(bd, E_MAXIMIZE_VERTICAL);
|
e_border_unmaximize(bd, E_MAXIMIZE_VERTICAL);
|
||||||
|
@ -783,6 +796,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
|
case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
|
||||||
if (bd->lock_client_maximize) return;
|
if (bd->lock_client_maximize) return;
|
||||||
switch (action)
|
switch (action)
|
||||||
|
@ -791,10 +805,12 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
if (bd->maximized & E_MAXIMIZE_HORIZONTAL)
|
if (bd->maximized & E_MAXIMIZE_HORIZONTAL)
|
||||||
e_border_unmaximize(bd, E_MAXIMIZE_HORIZONTAL);
|
e_border_unmaximize(bd, E_MAXIMIZE_HORIZONTAL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!(bd->maximized & E_MAXIMIZE_HORIZONTAL))
|
if (!(bd->maximized & E_MAXIMIZE_HORIZONTAL))
|
||||||
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_HORIZONTAL);
|
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) | E_MAXIMIZE_HORIZONTAL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->maximized & E_MAXIMIZE_HORIZONTAL)
|
if (bd->maximized & E_MAXIMIZE_HORIZONTAL)
|
||||||
e_border_unmaximize(bd, E_MAXIMIZE_HORIZONTAL);
|
e_border_unmaximize(bd, E_MAXIMIZE_HORIZONTAL);
|
||||||
|
@ -803,6 +819,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_SHADED:
|
case ECORE_X_WINDOW_STATE_SHADED:
|
||||||
if (bd->lock_client_shade) return;
|
if (bd->lock_client_shade) return;
|
||||||
switch (action)
|
switch (action)
|
||||||
|
@ -810,9 +827,11 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
e_border_unshade(bd, e_hints_window_shade_direction_get(bd));
|
e_border_unshade(bd, e_hints_window_shade_direction_get(bd));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
e_border_shade(bd, e_hints_window_shade_direction_get(bd));
|
e_border_shade(bd, e_hints_window_shade_direction_get(bd));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->shaded)
|
if (bd->shaded)
|
||||||
e_border_unshade(bd, e_hints_window_shade_direction_get(bd));
|
e_border_unshade(bd, e_hints_window_shade_direction_get(bd));
|
||||||
|
@ -821,6 +840,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
|
case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
|
@ -832,6 +852,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!bd->client.netwm.state.skip_taskbar)
|
if (!bd->client.netwm.state.skip_taskbar)
|
||||||
{
|
{
|
||||||
|
@ -840,6 +861,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
bd->client.netwm.state.skip_taskbar = !bd->client.netwm.state.skip_taskbar;
|
bd->client.netwm.state.skip_taskbar = !bd->client.netwm.state.skip_taskbar;
|
||||||
bd->client.netwm.update.state = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
@ -847,6 +869,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_SKIP_PAGER:
|
case ECORE_X_WINDOW_STATE_SKIP_PAGER:
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
|
@ -858,6 +881,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
if (!bd->client.netwm.state.skip_pager)
|
if (!bd->client.netwm.state.skip_pager)
|
||||||
{
|
{
|
||||||
|
@ -866,6 +890,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
bd->changed = 1;
|
bd->changed = 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
bd->client.netwm.state.skip_pager = !bd->client.netwm.state.skip_pager;
|
bd->client.netwm.state.skip_pager = !bd->client.netwm.state.skip_pager;
|
||||||
bd->client.netwm.update.state = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
@ -873,9 +898,11 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_HIDDEN:
|
case ECORE_X_WINDOW_STATE_HIDDEN:
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_FULLSCREEN:
|
case ECORE_X_WINDOW_STATE_FULLSCREEN:
|
||||||
if (bd->lock_client_fullscreen) return;
|
if (bd->lock_client_fullscreen) return;
|
||||||
switch (action)
|
switch (action)
|
||||||
|
@ -883,9 +910,11 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
case ECORE_X_WINDOW_STATE_ACTION_REMOVE:
|
||||||
e_border_unfullscreen(bd);
|
e_border_unfullscreen(bd);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
e_border_fullscreen(bd, e_config->fullscreen_policy);
|
e_border_fullscreen(bd, e_config->fullscreen_policy);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->fullscreen)
|
if (bd->fullscreen)
|
||||||
e_border_unfullscreen(bd);
|
e_border_unfullscreen(bd);
|
||||||
|
@ -894,6 +923,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ABOVE:
|
case ECORE_X_WINDOW_STATE_ABOVE:
|
||||||
if (bd->lock_client_stacking) return;
|
if (bd->lock_client_stacking) return;
|
||||||
/* FIXME: Should this require that BELOW is set to 0 first, or just
|
/* FIXME: Should this require that BELOW is set to 0 first, or just
|
||||||
|
@ -904,10 +934,12 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
e_border_layer_set(bd, 100);
|
e_border_layer_set(bd, 100);
|
||||||
e_hints_window_stacking_set(bd, E_STACKING_NONE);
|
e_hints_window_stacking_set(bd, E_STACKING_NONE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
e_hints_window_stacking_set(bd, E_STACKING_ABOVE);
|
e_hints_window_stacking_set(bd, E_STACKING_ABOVE);
|
||||||
e_border_layer_set(bd, 150);
|
e_border_layer_set(bd, 150);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->layer == 150)
|
if (bd->layer == 150)
|
||||||
{
|
{
|
||||||
|
@ -922,6 +954,7 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_BELOW:
|
case ECORE_X_WINDOW_STATE_BELOW:
|
||||||
if (bd->lock_client_stacking) return;
|
if (bd->lock_client_stacking) return;
|
||||||
/* FIXME: Should this require that ABOVE is set to 0 first, or just
|
/* FIXME: Should this require that ABOVE is set to 0 first, or just
|
||||||
|
@ -932,10 +965,12 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
e_hints_window_stacking_set(bd, E_STACKING_NONE);
|
e_hints_window_stacking_set(bd, E_STACKING_NONE);
|
||||||
e_border_layer_set(bd, 100);
|
e_border_layer_set(bd, 100);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
case ECORE_X_WINDOW_STATE_ACTION_ADD:
|
||||||
e_hints_window_stacking_set(bd, E_STACKING_BELOW);
|
e_hints_window_stacking_set(bd, E_STACKING_BELOW);
|
||||||
e_border_layer_set(bd, 50);
|
e_border_layer_set(bd, 50);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
case ECORE_X_WINDOW_STATE_ACTION_TOGGLE:
|
||||||
if (bd->layer == 50)
|
if (bd->layer == 50)
|
||||||
{
|
{
|
||||||
|
@ -950,9 +985,11 @@ e_hints_window_state_update(E_Border *bd, Ecore_X_Window_State state,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION:
|
case ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION:
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_UNKNOWN:
|
case ECORE_X_WINDOW_STATE_UNKNOWN:
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
break;
|
break;
|
||||||
|
@ -986,42 +1023,55 @@ e_hints_window_state_get(E_Border *bd)
|
||||||
case ECORE_X_WINDOW_STATE_ICONIFIED:
|
case ECORE_X_WINDOW_STATE_ICONIFIED:
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_MODAL:
|
case ECORE_X_WINDOW_STATE_MODAL:
|
||||||
bd->client.netwm.state.modal = 1;
|
bd->client.netwm.state.modal = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_STICKY:
|
case ECORE_X_WINDOW_STATE_STICKY:
|
||||||
bd->client.netwm.state.sticky = 1;
|
bd->client.netwm.state.sticky = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
|
case ECORE_X_WINDOW_STATE_MAXIMIZED_VERT:
|
||||||
bd->client.netwm.state.maximized_v = 1;
|
bd->client.netwm.state.maximized_v = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
|
case ECORE_X_WINDOW_STATE_MAXIMIZED_HORZ:
|
||||||
bd->client.netwm.state.maximized_h = 1;
|
bd->client.netwm.state.maximized_h = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_SHADED:
|
case ECORE_X_WINDOW_STATE_SHADED:
|
||||||
bd->client.netwm.state.shaded = 1;
|
bd->client.netwm.state.shaded = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
|
case ECORE_X_WINDOW_STATE_SKIP_TASKBAR:
|
||||||
bd->client.netwm.state.skip_taskbar = 1;
|
bd->client.netwm.state.skip_taskbar = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_SKIP_PAGER:
|
case ECORE_X_WINDOW_STATE_SKIP_PAGER:
|
||||||
bd->client.netwm.state.skip_pager = 1;
|
bd->client.netwm.state.skip_pager = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_HIDDEN:
|
case ECORE_X_WINDOW_STATE_HIDDEN:
|
||||||
bd->client.netwm.state.hidden = 1;
|
bd->client.netwm.state.hidden = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_FULLSCREEN:
|
case ECORE_X_WINDOW_STATE_FULLSCREEN:
|
||||||
bd->client.netwm.state.fullscreen = 1;
|
bd->client.netwm.state.fullscreen = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_ABOVE:
|
case ECORE_X_WINDOW_STATE_ABOVE:
|
||||||
bd->client.netwm.state.stacking = E_STACKING_ABOVE;
|
bd->client.netwm.state.stacking = E_STACKING_ABOVE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_BELOW:
|
case ECORE_X_WINDOW_STATE_BELOW:
|
||||||
bd->client.netwm.state.stacking = E_STACKING_BELOW;
|
bd->client.netwm.state.stacking = E_STACKING_BELOW;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION:
|
case ECORE_X_WINDOW_STATE_DEMANDS_ATTENTION:
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_WINDOW_STATE_UNKNOWN:
|
case ECORE_X_WINDOW_STATE_UNKNOWN:
|
||||||
/* Ignore */
|
/* Ignore */
|
||||||
break;
|
break;
|
||||||
|
@ -1032,32 +1082,44 @@ e_hints_window_state_get(E_Border *bd)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_allowed_action_update(E_Border *bd __UNUSED__, Ecore_X_Action action)
|
e_hints_allowed_action_update(E_Border *bd __UNUSED__,
|
||||||
|
Ecore_X_Action action)
|
||||||
{
|
{
|
||||||
switch (action)
|
switch (action)
|
||||||
{
|
{
|
||||||
case ECORE_X_ACTION_MOVE:
|
case ECORE_X_ACTION_MOVE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_RESIZE:
|
case ECORE_X_ACTION_RESIZE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_MINIMIZE:
|
case ECORE_X_ACTION_MINIMIZE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_SHADE:
|
case ECORE_X_ACTION_SHADE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_STICK:
|
case ECORE_X_ACTION_STICK:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_MAXIMIZE_HORZ:
|
case ECORE_X_ACTION_MAXIMIZE_HORZ:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_MAXIMIZE_VERT:
|
case ECORE_X_ACTION_MAXIMIZE_VERT:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_FULLSCREEN:
|
case ECORE_X_ACTION_FULLSCREEN:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_CHANGE_DESKTOP:
|
case ECORE_X_ACTION_CHANGE_DESKTOP:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_CLOSE:
|
case ECORE_X_ACTION_CLOSE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_ABOVE:
|
case ECORE_X_ACTION_ABOVE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_BELOW:
|
case ECORE_X_ACTION_BELOW:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1091,35 +1153,46 @@ e_hints_allowed_action_get(E_Border *bd)
|
||||||
case ECORE_X_ACTION_MOVE:
|
case ECORE_X_ACTION_MOVE:
|
||||||
bd->client.netwm.action.move = 1;
|
bd->client.netwm.action.move = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_RESIZE:
|
case ECORE_X_ACTION_RESIZE:
|
||||||
bd->client.netwm.action.resize = 1;
|
bd->client.netwm.action.resize = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_MINIMIZE:
|
case ECORE_X_ACTION_MINIMIZE:
|
||||||
bd->client.netwm.action.minimize = 1;
|
bd->client.netwm.action.minimize = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_SHADE:
|
case ECORE_X_ACTION_SHADE:
|
||||||
bd->client.netwm.action.shade = 1;
|
bd->client.netwm.action.shade = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_STICK:
|
case ECORE_X_ACTION_STICK:
|
||||||
bd->client.netwm.action.stick = 1;
|
bd->client.netwm.action.stick = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_MAXIMIZE_HORZ:
|
case ECORE_X_ACTION_MAXIMIZE_HORZ:
|
||||||
bd->client.netwm.action.maximized_h = 1;
|
bd->client.netwm.action.maximized_h = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_MAXIMIZE_VERT:
|
case ECORE_X_ACTION_MAXIMIZE_VERT:
|
||||||
bd->client.netwm.action.maximized_v = 1;
|
bd->client.netwm.action.maximized_v = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_FULLSCREEN:
|
case ECORE_X_ACTION_FULLSCREEN:
|
||||||
bd->client.netwm.action.fullscreen = 1;
|
bd->client.netwm.action.fullscreen = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_CHANGE_DESKTOP:
|
case ECORE_X_ACTION_CHANGE_DESKTOP:
|
||||||
bd->client.netwm.action.change_desktop = 1;
|
bd->client.netwm.action.change_desktop = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_CLOSE:
|
case ECORE_X_ACTION_CLOSE:
|
||||||
bd->client.netwm.action.close = 1;
|
bd->client.netwm.action.close = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_ABOVE:
|
case ECORE_X_ACTION_ABOVE:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ECORE_X_ACTION_BELOW:
|
case ECORE_X_ACTION_BELOW:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1177,7 +1250,8 @@ e_hints_window_hidden_set(E_Border *bd)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_shaded_set(E_Border *bd, int on)
|
e_hints_window_shaded_set(E_Border *bd,
|
||||||
|
int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.shaded) && (on))
|
if ((!bd->client.netwm.state.shaded) && (on))
|
||||||
{
|
{
|
||||||
|
@ -1194,7 +1268,8 @@ e_hints_window_shaded_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_shade_direction_set(E_Border *bd, E_Direction dir)
|
e_hints_window_shade_direction_set(E_Border *bd,
|
||||||
|
E_Direction dir)
|
||||||
{
|
{
|
||||||
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_SHADE_DIRECTION, &dir, 1);
|
ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_SHADE_DIRECTION, &dir, 1);
|
||||||
}
|
}
|
||||||
|
@ -1253,7 +1328,9 @@ e_hints_window_size_get(E_Border *bd)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_maximized_set(E_Border *bd, int horizontal, int vertical)
|
e_hints_window_maximized_set(E_Border *bd,
|
||||||
|
int horizontal,
|
||||||
|
int vertical)
|
||||||
{
|
{
|
||||||
if ((horizontal) && (!bd->client.netwm.state.maximized_h))
|
if ((horizontal) && (!bd->client.netwm.state.maximized_h))
|
||||||
{
|
{
|
||||||
|
@ -1282,7 +1359,8 @@ e_hints_window_maximized_set(E_Border *bd, int horizontal, int vertical)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_fullscreen_set(E_Border *bd, int on)
|
e_hints_window_fullscreen_set(E_Border *bd,
|
||||||
|
int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.fullscreen) && (on))
|
if ((!bd->client.netwm.state.fullscreen) && (on))
|
||||||
{
|
{
|
||||||
|
@ -1299,7 +1377,8 @@ e_hints_window_fullscreen_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_sticky_set(E_Border *bd, int on)
|
e_hints_window_sticky_set(E_Border *bd,
|
||||||
|
int on)
|
||||||
{
|
{
|
||||||
if ((!bd->client.netwm.state.sticky) && (on))
|
if ((!bd->client.netwm.state.sticky) && (on))
|
||||||
{
|
{
|
||||||
|
@ -1316,7 +1395,8 @@ e_hints_window_sticky_set(E_Border *bd, int on)
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_hints_window_stacking_set(E_Border *bd, E_Stacking stacking)
|
e_hints_window_stacking_set(E_Border *bd,
|
||||||
|
E_Stacking stacking)
|
||||||
{
|
{
|
||||||
if (bd->client.netwm.state.stacking == stacking) return;
|
if (bd->client.netwm.state.stacking == stacking) return;
|
||||||
bd->client.netwm.update.state = 1;
|
bd->client.netwm.update.state = 1;
|
||||||
|
@ -1441,3 +1521,4 @@ e_hints_scale_update(void)
|
||||||
free(roots);
|
free(roots);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue