forked from enlightenment/enlightenment
Patch by Michael Stapelberg <michael+e17@stapelberg.de> (needed by the new tiling module).
SVN revision: 34748
This commit is contained in:
parent
577623dc71
commit
34eb4aeda4
|
@ -10,6 +10,7 @@
|
|||
|
||||
static void _e_desk_free(E_Desk *desk);
|
||||
static void _e_border_event_desk_show_free(void *data, void *ev);
|
||||
static void _e_border_event_desk_before_show_free(void *data, void *ev);
|
||||
static void _e_border_event_desk_deskshow_free(void *data, void *ev);
|
||||
static void _e_border_event_desk_name_change_free(void *data, void *ev);
|
||||
|
||||
|
@ -21,6 +22,7 @@ static void _e_desk_hide_end(E_Desk *desk);
|
|||
static int _e_desk_hide_animator(void *data);
|
||||
|
||||
EAPI int E_EVENT_DESK_SHOW = 0;
|
||||
EAPI int E_EVENT_DESK_BEFORE_SHOW = 0;
|
||||
EAPI int E_EVENT_DESK_DESKSHOW = 0;
|
||||
EAPI int E_EVENT_DESK_NAME_CHANGE = 0;
|
||||
|
||||
|
@ -28,6 +30,7 @@ EAPI int
|
|||
e_desk_init(void)
|
||||
{
|
||||
E_EVENT_DESK_SHOW = ecore_event_type_new();
|
||||
E_EVENT_DESK_BEFORE_SHOW = ecore_event_type_new();
|
||||
E_EVENT_DESK_DESKSHOW = ecore_event_type_new();
|
||||
E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new();
|
||||
return 1;
|
||||
|
@ -200,6 +203,7 @@ e_desk_show(E_Desk *desk)
|
|||
E_Border_List *bl;
|
||||
E_Border *bd;
|
||||
E_Event_Desk_Show *ev;
|
||||
E_Event_Desk_Before_Show *eev;
|
||||
Evas_List *l;
|
||||
int was_zone = 0;
|
||||
int x, y, dx = 0, dy = 0;
|
||||
|
@ -208,6 +212,11 @@ e_desk_show(E_Desk *desk)
|
|||
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
||||
if (desk->visible) return;
|
||||
|
||||
eev = E_NEW(E_Event_Desk_Before_Show, 1);
|
||||
eev->desk = e_desk_current_get(desk->zone);
|
||||
e_object_ref(E_OBJECT(eev->desk));
|
||||
ecore_event_add(E_EVENT_DESK_BEFORE_SHOW, eev, _e_border_event_desk_before_show_free, NULL);
|
||||
|
||||
ecore_x_window_shadow_tree_flush();
|
||||
for (x = 0; x < desk->zone->desk_x_count; x++)
|
||||
{
|
||||
|
@ -508,6 +517,17 @@ _e_border_event_desk_show_free(void *data, void *event)
|
|||
free(ev);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_border_event_desk_before_show_free(void *data, void *event)
|
||||
{
|
||||
E_Event_Desk_Before_Show *ev;
|
||||
|
||||
ev = event;
|
||||
e_object_unref(E_OBJECT(ev->desk));
|
||||
free(ev);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_e_border_event_desk_deskshow_free(void *data, void *event)
|
||||
{
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
typedef struct _E_Desk E_Desk;
|
||||
typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
|
||||
typedef struct _E_Event_Desk_Before_Show E_Event_Desk_Before_Show;
|
||||
typedef struct _E_Event_Desk_DeskShow E_Event_Desk_DeskShow;
|
||||
typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
|
||||
|
||||
|
@ -34,6 +35,12 @@ struct _E_Event_Desk_Show
|
|||
E_Desk *desk;
|
||||
};
|
||||
|
||||
struct _E_Event_Desk_Before_Show
|
||||
{
|
||||
E_Desk *desk;
|
||||
};
|
||||
|
||||
|
||||
struct _E_Event_Desk_Name_Change
|
||||
{
|
||||
E_Desk *desk;
|
||||
|
@ -61,6 +68,7 @@ EAPI void e_desk_col_add(E_Zone *zone);
|
|||
EAPI void e_desk_col_remove(E_Zone *zone);
|
||||
|
||||
extern EAPI int E_EVENT_DESK_SHOW;
|
||||
extern EAPI int E_EVENT_DESK_BEFORE_SHOW;
|
||||
extern EAPI int E_EVENT_DESK_DESKSHOW;
|
||||
extern EAPI int E_EVENT_DESK_NAME_CHANGE;
|
||||
|
||||
|
|
Loading…
Reference in New Issue