Windows will now be on top when you uniconify them, and will not reappear on their old desktop if you move around while they are iconified.

Also, added some event types.


SVN revision: 5859
This commit is contained in:
rephorm 2002-01-25 19:41:02 +00:00 committed by rephorm
parent ec6114213b
commit f4711b90b1
3 changed files with 20 additions and 6 deletions

View File

@ -1775,8 +1775,9 @@ e_border_uniconify(E_Border *b)
e_icccm_state_mapped(b->win.client);
b->changed = 1;
e_border_update(b);
/* should be UNICONIFY */
e_observee_notify_observers(E_OBSERVEE(b), E_EVENT_BORDER_ICONIFY);
e_border_raise(b);
e_observee_notify_observers(E_OBSERVEE(b), E_EVENT_BORDER_UNICONIFY);
}
void

View File

@ -391,7 +391,7 @@ e_desktops_goto(int d, int ax, int ay)
E_Border *b;
b = l->data;
if ((!b->client.sticky) && (!b->mode.move))
if ((!b->client.sticky) && (!b->mode.move) && (!b->client.iconified))
{
if (b->client.desk != d)
{

View File

@ -14,17 +14,30 @@ typedef struct _e_observee E_Observee;
typedef enum _e_event_type
{
/* basic event types */
E_EVENT_BORDER_NEW = 1 << 0,
E_EVENT_BORDER_RELEASE = 1 << 1,
E_EVENT_BORDER_DELETE = 1 << 1,
E_EVENT_BORDER_FOCUS_IN = 1 << 2,
E_EVENT_BORDER_ICONIFY = 1 << 3,
E_EVENT_BORDER_UNICONIFY = 1 << 4,
E_EVENT_BORDER_MAXIMIZE = 1 << 5,
E_EVENT_BORDER_UNMAXIMIZE = 1 << 6,
E_EVENT_BORDER_MOVE = 1 << 7,
E_EVENT_BORDER_RESIZE = 1 << 8,
E_EVENT_DESKTOP_SWITCH = 1 << 10,
E_EVENT_DESKTOP_NEW = 1 << 10,
E_EVENT_DESKTOP_DELETE = 1 << 11,
E_EVENT_DESKTOP_SWITCH = 1 << 12,
/* meta event types */
E_EVENT_BORDER_ALL = E_EVENT_BORDER_NEW |
E_EVENT_BORDER_DELETE | E_EVENT_BORDER_FOCUS_IN |
E_EVENT_BORDER_ICONIFY | E_EVENT_BORDER_UNICONIFY |
E_EVENT_BORDER_MAXIMIZE | E_EVENT_BORDER_UNMAXIMIZE,
E_EVENT_DESKTOP_ALL = E_EVENT_DESKTOP_NEW |
E_EVENT_DESKTOP_DELETE | E_EVENT_DESKTOP_SWITCH,
/* ALL events */
E_EVENT_MAX = 0xFFFFFFFF
} E_Event_Type;