forked from enlightenment/enlightenment
Merge Raise/Lower event to Stack event.
Fix raise/lower order. SVN revision: 16661
This commit is contained in:
parent
487d6b8dcf
commit
5e4e707536
|
@ -98,8 +98,7 @@ static void _e_border_event_border_add_free(void *data, void *ev);
|
|||
static void _e_border_event_border_remove_free(void *data, void *ev);
|
||||
static void _e_border_event_border_zone_set_free(void *data, void *ev);
|
||||
static void _e_border_event_border_desk_set_free(void *data, void *ev);
|
||||
static void _e_border_event_border_raise_free(void *data, void *ev);
|
||||
static void _e_border_event_border_lower_free(void *data, void *ev);
|
||||
static void _e_border_event_border_stack_free(void *data, void *ev);
|
||||
static void _e_border_event_border_icon_change_free(void *data, void *ev);
|
||||
static void _e_border_event_border_resize_free(void *data, void *ev);
|
||||
static void _e_border_event_border_move_free(void *data, void *ev);
|
||||
|
@ -150,8 +149,7 @@ int E_EVENT_BORDER_ICONIFY = 0;
|
|||
int E_EVENT_BORDER_UNICONIFY = 0;
|
||||
int E_EVENT_BORDER_STICK = 0;
|
||||
int E_EVENT_BORDER_UNSTICK = 0;
|
||||
int E_EVENT_BORDER_RAISE = 0;
|
||||
int E_EVENT_BORDER_LOWER = 0;
|
||||
int E_EVENT_BORDER_STACK = 0;
|
||||
int E_EVENT_BORDER_ICON_CHANGE = 0;
|
||||
|
||||
#define GRAV_SET(bd, grav) \
|
||||
|
@ -199,8 +197,7 @@ e_border_init(void)
|
|||
E_EVENT_BORDER_UNICONIFY = ecore_event_type_new();
|
||||
E_EVENT_BORDER_STICK = ecore_event_type_new();
|
||||
E_EVENT_BORDER_UNSTICK = ecore_event_type_new();
|
||||
E_EVENT_BORDER_RAISE = ecore_event_type_new();
|
||||
E_EVENT_BORDER_LOWER = ecore_event_type_new();
|
||||
E_EVENT_BORDER_STACK = ecore_event_type_new();
|
||||
E_EVENT_BORDER_ICON_CHANGE = ecore_event_type_new();
|
||||
|
||||
return 1;
|
||||
|
@ -831,133 +828,282 @@ e_border_layer_set(E_Border *bd, int layer)
|
|||
void
|
||||
e_border_raise(E_Border *bd)
|
||||
{
|
||||
E_Border *above;
|
||||
E_Event_Border_Stack *ev;
|
||||
E_Border *last = NULL;
|
||||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
|
||||
above = e_container_border_raise(bd);
|
||||
if (above)
|
||||
{
|
||||
E_Event_Border_Raise *ev;
|
||||
ev = calloc(1, sizeof(E_Event_Border_Raise));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
ev->above = above;
|
||||
e_object_ref(E_OBJECT(above));
|
||||
ecore_event_add(E_EVENT_BORDER_RAISE, ev, _e_border_event_border_raise_free, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If the border hasn't been raised above anything, it is actually lowered */
|
||||
E_Event_Border_Lower *ev;
|
||||
ev = calloc(1, sizeof(E_Event_Border_Lower));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
ev->below = NULL;
|
||||
ecore_event_add(E_EVENT_BORDER_LOWER, ev, _e_border_event_border_lower_free, NULL);
|
||||
}
|
||||
|
||||
if (e_config->transient.raise)
|
||||
{
|
||||
Evas_List *l;
|
||||
for (l = bd->transients; l; l = l->next)
|
||||
for (l = evas_list_last(bd->transients); l; l = l->prev)
|
||||
{
|
||||
E_Border *child;
|
||||
|
||||
child = l->data;
|
||||
/* Don't raise iconic transients. If the user wants these shown,
|
||||
/* Don't stack iconic transients. If the user wants these shown,
|
||||
* thats another option.
|
||||
*/
|
||||
if (!child->iconic)
|
||||
e_border_stack_above(child, bd);
|
||||
{
|
||||
printf("raise: %p %p\n", child, last);
|
||||
if (last)
|
||||
e_border_stack_below(child, last);
|
||||
else
|
||||
{
|
||||
E_Border *above;
|
||||
|
||||
/* First raise the border to find out which border we will end up above */
|
||||
above = e_container_border_raise(child);
|
||||
|
||||
if (above)
|
||||
{
|
||||
/* We ended up above a border, now we must stack this border to
|
||||
* generate the stacking event, and to check if this transient
|
||||
* has other transients etc.
|
||||
*/
|
||||
e_border_stack_above(child, above);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If we didn't end up above any border, we are on the bottom! */
|
||||
e_border_lower(child);
|
||||
}
|
||||
}
|
||||
last = child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ev = calloc(1, sizeof(E_Event_Border_Stack));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
|
||||
if (last)
|
||||
{
|
||||
printf("below: %p %p\n", bd, last);
|
||||
e_container_border_stack_below(bd, last);
|
||||
ev->stack = last;
|
||||
e_object_ref(E_OBJECT(last));
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("above: %p %p\n", bd, last);
|
||||
E_Border *above;
|
||||
|
||||
/* If we don't have any children, raise this border */
|
||||
above = e_container_border_raise(bd);
|
||||
if (above)
|
||||
{
|
||||
/* We ended up above a border */
|
||||
ev->stack = above;
|
||||
e_object_ref(E_OBJECT(above));
|
||||
ev->type = E_STACKING_ABOVE;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* No border to raise above, same as a lower! */
|
||||
ev->stack = NULL;
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
}
|
||||
|
||||
ecore_event_add(E_EVENT_BORDER_STACK, ev, _e_border_event_border_stack_free, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_border_lower(E_Border *bd)
|
||||
{
|
||||
E_Border *below;
|
||||
E_Event_Border_Stack *ev;
|
||||
E_Border *last = NULL;
|
||||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
|
||||
below = e_container_border_lower(bd);
|
||||
if (below)
|
||||
{
|
||||
E_Event_Border_Lower *ev;
|
||||
ev = calloc(1, sizeof(E_Event_Border_Lower));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
ev->below = below;
|
||||
e_object_ref(E_OBJECT(below));
|
||||
ecore_event_add(E_EVENT_BORDER_LOWER, ev, _e_border_event_border_lower_free, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If the border hasn't been lowered below anything, it is actually raised */
|
||||
E_Event_Border_Raise *ev;
|
||||
ev = calloc(1, sizeof(E_Event_Border_Raise));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
ev->above = NULL;
|
||||
ecore_event_add(E_EVENT_BORDER_RAISE, ev, _e_border_event_border_raise_free, NULL);
|
||||
}
|
||||
if (e_config->transient.lower)
|
||||
{
|
||||
Evas_List *l;
|
||||
for (l = bd->transients; l; l = l->next)
|
||||
for (l = evas_list_last(bd->transients); l; l = l->prev)
|
||||
{
|
||||
E_Border *child;
|
||||
|
||||
child = l->data;
|
||||
e_border_stack_above(child, bd);
|
||||
/* Don't stack iconic transients. If the user wants these shown,
|
||||
* thats another option.
|
||||
*/
|
||||
if (!child->iconic)
|
||||
{
|
||||
if (last)
|
||||
e_border_stack_below(child, last);
|
||||
else
|
||||
{
|
||||
E_Border *below;
|
||||
|
||||
/* First lower the border to find out which border we will end up below */
|
||||
below = e_container_border_lower(child);
|
||||
|
||||
if (below)
|
||||
{
|
||||
/* We ended up below a border, now we must stack this border to
|
||||
* generate the stacking event, and to check if this transient
|
||||
* has other transients etc.
|
||||
*/
|
||||
e_border_stack_below(child, below);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If we didn't end up below any border, we are on top! */
|
||||
e_border_raise(child);
|
||||
}
|
||||
}
|
||||
last = child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ev = calloc(1, sizeof(E_Event_Border_Stack));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
|
||||
if (last)
|
||||
{
|
||||
e_container_border_stack_below(bd, last);
|
||||
ev->stack = last;
|
||||
e_object_ref(E_OBJECT(last));
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
else
|
||||
{
|
||||
E_Border *below;
|
||||
|
||||
/* If we don't have any children, lower this border */
|
||||
below = e_container_border_lower(bd);
|
||||
if (below)
|
||||
{
|
||||
/* We ended up below a border */
|
||||
ev->stack = below;
|
||||
e_object_ref(E_OBJECT(below));
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* No border to hide under, same as a raise! */
|
||||
ev->stack = NULL;
|
||||
ev->type = E_STACKING_ABOVE;
|
||||
}
|
||||
}
|
||||
|
||||
ecore_event_add(E_EVENT_BORDER_STACK, ev, _e_border_event_border_stack_free, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_border_stack_above(E_Border *bd, E_Border *above)
|
||||
{
|
||||
/* TODO: Should stack above allow the border to change level */
|
||||
E_Event_Border_Stack *ev;
|
||||
E_Border *last = NULL;
|
||||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
|
||||
e_container_border_stack_above(bd, above);
|
||||
|
||||
if (e_config->transient.raise)
|
||||
{
|
||||
E_Event_Border_Raise *ev;
|
||||
|
||||
ev = calloc(1, sizeof(E_Event_Border_Raise));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
// e_object_breadcrumb_add(E_OBJECT(bd), "border_raise_event");
|
||||
ev->above = above;
|
||||
e_object_ref(E_OBJECT(above));
|
||||
// e_object_breadcrumb_add(E_OBJECT(above), "border_raise_event.above");
|
||||
ecore_event_add(E_EVENT_BORDER_RAISE, ev, _e_border_event_border_raise_free, NULL);
|
||||
for (l = evas_list_last(bd->transients); l; l = l->prev)
|
||||
{
|
||||
E_Border *child;
|
||||
|
||||
child = l->data;
|
||||
/* Don't stack iconic transients. If the user wants these shown,
|
||||
* thats another option.
|
||||
*/
|
||||
if (!child->iconic)
|
||||
{
|
||||
if (last)
|
||||
e_border_stack_below(child, last);
|
||||
else
|
||||
e_border_stack_above(child, above);
|
||||
last = child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ev = calloc(1, sizeof(E_Event_Border_Stack));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
|
||||
if (last)
|
||||
{
|
||||
e_container_border_stack_below(bd, last);
|
||||
ev->stack = last;
|
||||
e_object_ref(E_OBJECT(last));
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
else
|
||||
{
|
||||
e_container_border_stack_above(bd, above);
|
||||
ev->stack = above;
|
||||
e_object_ref(E_OBJECT(above));
|
||||
ev->type = E_STACKING_ABOVE;
|
||||
}
|
||||
|
||||
ecore_event_add(E_EVENT_BORDER_STACK, ev, _e_border_event_border_stack_free, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
e_border_stack_below(E_Border *bd, E_Border *below)
|
||||
{
|
||||
/* TODO: Should stack below allow the border to change level */
|
||||
E_Event_Border_Stack *ev;
|
||||
E_Border *last = NULL;
|
||||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
|
||||
e_container_border_stack_below(bd, below);
|
||||
if (e_config->transient.lower)
|
||||
{
|
||||
E_Event_Border_Lower *ev;
|
||||
|
||||
ev = calloc(1, sizeof(E_Event_Border_Lower));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
// e_object_breadcrumb_add(E_OBJECT(bd), "border_lower_event");
|
||||
ev->below = below;
|
||||
e_object_ref(E_OBJECT(below));
|
||||
// e_object_breadcrumb_add(E_OBJECT(below), "border_lower_event.below");
|
||||
ecore_event_add(E_EVENT_BORDER_LOWER, ev, _e_border_event_border_lower_free, NULL);
|
||||
for (l = evas_list_last(bd->transients); l; l = l->prev)
|
||||
{
|
||||
E_Border *child;
|
||||
|
||||
child = l->data;
|
||||
/* Don't stack iconic transients. If the user wants these shown,
|
||||
* thats another option.
|
||||
*/
|
||||
if (!child->iconic)
|
||||
{
|
||||
if (last)
|
||||
e_border_stack_below(child, last);
|
||||
else
|
||||
e_border_stack_below(child, below);
|
||||
last = child;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ev = calloc(1, sizeof(E_Event_Border_Stack));
|
||||
ev->border = bd;
|
||||
e_object_ref(E_OBJECT(bd));
|
||||
|
||||
if (last)
|
||||
{
|
||||
e_container_border_stack_below(bd, last);
|
||||
ev->stack = last;
|
||||
e_object_ref(E_OBJECT(last));
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
else
|
||||
{
|
||||
e_container_border_stack_below(bd, below);
|
||||
ev->stack = below;
|
||||
e_object_ref(E_OBJECT(below));
|
||||
ev->type = E_STACKING_BELOW;
|
||||
}
|
||||
|
||||
ecore_event_add(E_EVENT_BORDER_STACK, ev, _e_border_event_border_stack_free, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -6787,33 +6933,17 @@ _e_border_event_border_desk_set_free(void *data, void *ev)
|
|||
}
|
||||
|
||||
static void
|
||||
_e_border_event_border_raise_free(void *data, void *ev)
|
||||
_e_border_event_border_stack_free(void *data, void *ev)
|
||||
{
|
||||
E_Event_Border_Raise *e;
|
||||
E_Event_Border_Stack *e;
|
||||
|
||||
e = ev;
|
||||
// e_object_breadcrumb_del(E_OBJECT(e->border), "border_raise_event");
|
||||
e_object_unref(E_OBJECT(e->border));
|
||||
if (e->above)
|
||||
if (e->stack)
|
||||
{
|
||||
// e_object_breadcrumb_del(E_OBJECT(e->above), "border_raise_event.above");
|
||||
e_object_unref(E_OBJECT(e->above));
|
||||
}
|
||||
free(e);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_border_event_border_lower_free(void *data, void *ev)
|
||||
{
|
||||
E_Event_Border_Lower *e;
|
||||
|
||||
e = ev;
|
||||
// e_object_breadcrumb_del(E_OBJECT(e->border), "border_lower_event");
|
||||
e_object_unref(E_OBJECT(e->border));
|
||||
if (e->below)
|
||||
{
|
||||
// e_object_breadcrumb_del(E_OBJECT(e->below), "border_lower_event.below");
|
||||
e_object_unref(E_OBJECT(e->below));
|
||||
e_object_unref(E_OBJECT(e->stack));
|
||||
}
|
||||
free(e);
|
||||
}
|
||||
|
|
|
@ -74,8 +74,7 @@ typedef struct _E_Event_Border_Stick E_Event_Border_Stick;
|
|||
typedef struct _E_Event_Border_Unstick E_Event_Border_Unstick;
|
||||
typedef struct _E_Event_Border_Zone_Set E_Event_Border_Zone_Set;
|
||||
typedef struct _E_Event_Border_Desk_Set E_Event_Border_Desk_Set;
|
||||
typedef struct _E_Event_Border_Raise E_Event_Border_Raise;
|
||||
typedef struct _E_Event_Border_Lower E_Event_Border_Lower;
|
||||
typedef struct _E_Event_Border_Stack E_Event_Border_Stack;
|
||||
typedef struct _E_Event_Border_Icon_Change E_Event_Border_Icon_Change;
|
||||
|
||||
#else
|
||||
|
@ -463,14 +462,10 @@ struct _E_Event_Border_Desk_Set
|
|||
E_Desk *desk;
|
||||
};
|
||||
|
||||
struct _E_Event_Border_Raise
|
||||
struct _E_Event_Border_Stack
|
||||
{
|
||||
E_Border *border, *above;
|
||||
};
|
||||
|
||||
struct _E_Event_Border_Lower
|
||||
{
|
||||
E_Border *border, *below;
|
||||
E_Border *border, *stack;
|
||||
E_Stacking type;
|
||||
};
|
||||
|
||||
struct _E_Event_Border_Icon_Change
|
||||
|
@ -557,8 +552,7 @@ extern EAPI int E_EVENT_BORDER_STICK;
|
|||
extern EAPI int E_EVENT_BORDER_UNSTICK;
|
||||
extern EAPI int E_EVENT_BORDER_ZONE_SET;
|
||||
extern EAPI int E_EVENT_BORDER_DESK_SET;
|
||||
extern EAPI int E_EVENT_BORDER_RAISE;
|
||||
extern EAPI int E_EVENT_BORDER_LOWER;
|
||||
extern EAPI int E_EVENT_BORDER_STACK;
|
||||
extern EAPI int E_EVENT_BORDER_ICON_CHANGE;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -44,8 +44,7 @@ static int _pager_cb_event_border_uniconify(void *data, int type, void *
|
|||
static int _pager_cb_event_border_stick(void *data, int type, void *event);
|
||||
static int _pager_cb_event_border_unstick(void *data, int type, void *event);
|
||||
static int _pager_cb_event_border_desk_set(void *data, int type, void *event);
|
||||
static int _pager_cb_event_border_raise(void *data, int type, void *event);
|
||||
static int _pager_cb_event_border_lower(void *data, int type, void *event);
|
||||
static int _pager_cb_event_border_stack(void *data, int type, void *event);
|
||||
static int _pager_cb_event_border_icon_change(void *data, int type, void *event);
|
||||
static int _pager_cb_event_zone_desk_count_set(void *data, int type, void *event);
|
||||
static int _pager_cb_event_desk_show(void *data, int type, void *event);
|
||||
|
@ -299,12 +298,9 @@ _pager_new(void)
|
|||
pager->ev_handler_border_desk_set =
|
||||
ecore_event_handler_add(E_EVENT_BORDER_DESK_SET,
|
||||
_pager_cb_event_border_desk_set, pager);
|
||||
pager->ev_handler_border_raise =
|
||||
ecore_event_handler_add(E_EVENT_BORDER_RAISE,
|
||||
_pager_cb_event_border_raise, pager);
|
||||
pager->ev_handler_border_lower =
|
||||
ecore_event_handler_add(E_EVENT_BORDER_LOWER,
|
||||
_pager_cb_event_border_lower, pager);
|
||||
pager->ev_handler_border_stack =
|
||||
ecore_event_handler_add(E_EVENT_BORDER_STACK,
|
||||
_pager_cb_event_border_stack, pager);
|
||||
pager->ev_handler_border_icon_change =
|
||||
ecore_event_handler_add(E_EVENT_BORDER_ICON_CHANGE,
|
||||
_pager_cb_event_border_icon_change, pager);
|
||||
|
@ -360,10 +356,8 @@ _pager_free(Pager *pager)
|
|||
ecore_event_handler_del(pager->ev_handler_border_unstick);
|
||||
if (pager->ev_handler_border_desk_set)
|
||||
ecore_event_handler_del(pager->ev_handler_border_desk_set);
|
||||
if (pager->ev_handler_border_raise)
|
||||
ecore_event_handler_del(pager->ev_handler_border_raise);
|
||||
if (pager->ev_handler_border_lower)
|
||||
ecore_event_handler_del(pager->ev_handler_border_lower);
|
||||
if (pager->ev_handler_border_stack)
|
||||
ecore_event_handler_del(pager->ev_handler_border_stack);
|
||||
if (pager->ev_handler_border_icon_change)
|
||||
ecore_event_handler_del(pager->ev_handler_border_icon_change);
|
||||
if (pager->ev_handler_zone_desk_count_set)
|
||||
|
@ -1290,45 +1284,9 @@ _pager_cb_event_border_desk_set(void *data, int type, void *event)
|
|||
}
|
||||
|
||||
static int
|
||||
_pager_cb_event_border_raise(void *data, int type, void *event)
|
||||
_pager_cb_event_border_stack(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Raise *ev;
|
||||
Pager *pager;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
pager = data;
|
||||
ev = event;
|
||||
for (l = pager->faces; l; l = l->next)
|
||||
{
|
||||
Pager_Face *face;
|
||||
|
||||
face = l->data;
|
||||
if (face->zone != ev->border->zone) continue;
|
||||
for (l2 = face->desks; l2; l2 = l2->next)
|
||||
{
|
||||
Pager_Desk *pd;
|
||||
Pager_Win *pw, *pw2 = NULL;
|
||||
|
||||
pd = l2->data;
|
||||
pw = _pager_desk_border_find(pd, ev->border);
|
||||
if (pw)
|
||||
{
|
||||
if (ev->above)
|
||||
pw2 = _pager_desk_border_find(pd, ev->above);
|
||||
if (pw2)
|
||||
e_layout_child_raise_above(pw->window_object, pw2->window_object);
|
||||
else
|
||||
e_layout_child_raise(pw->window_object);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int
|
||||
_pager_cb_event_border_lower(void *data, int type, void *event)
|
||||
{
|
||||
E_Event_Border_Lower *ev;
|
||||
E_Event_Border_Stack *ev;
|
||||
Pager *pager;
|
||||
Evas_List *l, *l2;
|
||||
|
||||
|
@ -1349,12 +1307,22 @@ _pager_cb_event_border_lower(void *data, int type, void *event)
|
|||
pw = _pager_desk_border_find(pd, ev->border);
|
||||
if (pw)
|
||||
{
|
||||
if (ev->below)
|
||||
pw2 = _pager_desk_border_find(pd, ev->below);
|
||||
if (pw2)
|
||||
e_layout_child_lower_below(pw->window_object, pw2->window_object);
|
||||
else
|
||||
e_layout_child_lower(pw->window_object);
|
||||
if (ev->stack)
|
||||
pw2 = _pager_desk_border_find(pd, ev->stack);
|
||||
if (ev->type == E_STACKING_ABOVE)
|
||||
{
|
||||
if (pw2)
|
||||
e_layout_child_raise_above(pw->window_object, pw2->window_object);
|
||||
else
|
||||
e_layout_child_raise(pw->window_object);
|
||||
}
|
||||
else if (ev->type == E_STACKING_BELOW)
|
||||
{
|
||||
if (pw2)
|
||||
e_layout_child_lower_below(pw->window_object, pw2->window_object);
|
||||
else
|
||||
e_layout_child_lower(pw->window_object);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,8 +63,7 @@ struct _Pager
|
|||
Ecore_Event_Handler *ev_handler_border_stick;
|
||||
Ecore_Event_Handler *ev_handler_border_unstick;
|
||||
Ecore_Event_Handler *ev_handler_border_desk_set;
|
||||
Ecore_Event_Handler *ev_handler_border_raise;
|
||||
Ecore_Event_Handler *ev_handler_border_lower;
|
||||
Ecore_Event_Handler *ev_handler_border_stack;
|
||||
Ecore_Event_Handler *ev_handler_border_icon_change;
|
||||
Ecore_Event_Handler *ev_handler_zone_desk_count_set;
|
||||
Ecore_Event_Handler *ev_handler_desk_show;
|
||||
|
|
Loading…
Reference in New Issue