Now a border sends the added event before the sticky etc. events, so the

pager doesn't have to have a special check.


SVN revision: 13816
This commit is contained in:
sebastid 2005-03-20 19:07:20 +00:00 committed by sebastid
parent 9cf734e8f8
commit 890d073576
2 changed files with 14 additions and 32 deletions

View File

@ -2713,6 +2713,12 @@ _e_border_eval(E_Border *bd)
free(pnd);
bd->pending_move_resize = evas_list_remove_list(bd->pending_move_resize, bd->pending_move_resize);
}
ev = calloc(1, sizeof(E_Event_Border_Add));
ev->border = bd;
e_object_ref(E_OBJECT(bd));
ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL);
/* Recreate state */
if (e_hints_window_sticky_isset(bd->client.win))
e_border_stick(bd);
@ -2732,12 +2738,6 @@ _e_border_eval(E_Border *bd)
bd->y + bd->client_inset.t,
bd->client.w,
bd->client.h);
ev = calloc(1, sizeof(E_Event_Border_Add));
ev->border = bd;
e_object_ref(E_OBJECT(bd));
ecore_event_add(E_EVENT_BORDER_ADD, ev, _e_border_event_border_add_free, NULL);
}
/* effect changes to the window border itself */

View File

@ -782,33 +782,15 @@ _pager_face_cb_event_border_add(void *data, int type, void *event)
if ((face->zone != ev->border->zone) ||
(_pager_face_border_find(face, ev->border)))
return 1;
if (ev->border->sticky)
pd = _pager_face_desk_find(face, ev->border->desk);
if (pd)
{
Evas_List *l;
/* go through all desks */
for (l = face->desks; l; l = l->next)
{
Pager_Win *pw;
pd = l->data;
/* create it and add it */
pw = _pager_window_new(pd, ev->border);
if (pw)
pd->wins = evas_list_append(pd->wins, pw);
}
}
else
{
pd = _pager_face_desk_find(face, ev->border->desk);
if (pd)
{
Pager_Win *pw;
pw = _pager_window_new(pd, ev->border);
if (pw)
pd->wins = evas_list_append(pd->wins, pw);
}
Pager_Win *pw;
pw = _pager_window_new(pd, ev->border);
if (pw)
pd->wins = evas_list_append(pd->wins, pw);
}
return 1;
}