forked from enlightenment/enlightenment
Check if the event is relative to the current zone.
Add Desk Show event. SVN revision: 13373
This commit is contained in:
parent
c86091fcaf
commit
379a60fe5e
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
/* TODO
|
/* TODO
|
||||||
* which options should be in main menu, and which in face menu?
|
* which options should be in main menu, and which in face menu?
|
||||||
|
* check if a new desk is in the current zone
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* module private routines */
|
/* module private routines */
|
||||||
|
@ -44,6 +45,7 @@ static int _pager_face_cb_event_border_stick(void *data, int type, void
|
||||||
static int _pager_face_cb_event_border_unstick(void *data, int type, void *event);
|
static int _pager_face_cb_event_border_unstick(void *data, int type, void *event);
|
||||||
static int _pager_face_cb_event_border_desk_set(void *data, int type, void *event);
|
static int _pager_face_cb_event_border_desk_set(void *data, int type, void *event);
|
||||||
static int _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event);
|
static int _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event);
|
||||||
|
static int _pager_face_cb_event_desk_show(void *data, int type, void *event);
|
||||||
static void _pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _pager_face_cb_menu_scale(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_menu_scale(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _pager_face_cb_menu_resize_none(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _pager_face_cb_menu_resize_none(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
@ -316,6 +318,9 @@ _pager_face_new(E_Zone *zone)
|
||||||
face->ev_handler_zone_desk_count_set =
|
face->ev_handler_zone_desk_count_set =
|
||||||
ecore_event_handler_add(E_EVENT_ZONE_DESK_COUNT_SET,
|
ecore_event_handler_add(E_EVENT_ZONE_DESK_COUNT_SET,
|
||||||
_pager_face_cb_event_zone_desk_count_set, face);
|
_pager_face_cb_event_zone_desk_count_set, face);
|
||||||
|
face->ev_handler_desk_show =
|
||||||
|
ecore_event_handler_add(E_EVENT_DESK_SHOW,
|
||||||
|
_pager_face_cb_event_desk_show, face);
|
||||||
|
|
||||||
_pager_face_zone_set(face, zone);
|
_pager_face_zone_set(face, zone);
|
||||||
|
|
||||||
|
@ -358,6 +363,7 @@ _pager_face_free(Pager_Face *face)
|
||||||
ecore_event_handler_del(face->ev_handler_border_unstick);
|
ecore_event_handler_del(face->ev_handler_border_unstick);
|
||||||
ecore_event_handler_del(face->ev_handler_border_desk_set);
|
ecore_event_handler_del(face->ev_handler_border_desk_set);
|
||||||
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
|
ecore_event_handler_del(face->ev_handler_zone_desk_count_set);
|
||||||
|
ecore_event_handler_del(face->ev_handler_desk_show);
|
||||||
|
|
||||||
e_object_del(E_OBJECT(face->menu));
|
e_object_del(E_OBJECT(face->menu));
|
||||||
|
|
||||||
|
@ -760,9 +766,6 @@ _pager_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
|
||||||
{
|
{
|
||||||
desk->current = 1;
|
desk->current = 1;
|
||||||
e_desk_show(desk->desk);
|
e_desk_show(desk->desk);
|
||||||
evas_object_move(face->screen,
|
|
||||||
face->fx + xpos * face->fw,
|
|
||||||
face->fy + ypos * face->fh);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -878,6 +881,10 @@ _pager_face_cb_event_border_resize(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
desk = desks->data;
|
desk = desks->data;
|
||||||
|
@ -905,6 +912,10 @@ _pager_face_cb_event_border_move(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
desk = desks->data;
|
desk = desks->data;
|
||||||
|
@ -931,6 +942,10 @@ _pager_face_cb_event_border_add(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
if (_pager_window_find(face, ev->border))
|
if (_pager_window_find(face, ev->border))
|
||||||
{
|
{
|
||||||
|
@ -962,6 +977,10 @@ _pager_face_cb_event_border_remove(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
desk = desks->data;
|
desk = desks->data;
|
||||||
|
@ -990,6 +1009,10 @@ _pager_face_cb_event_border_hide(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
desk = desks->data;
|
desk = desks->data;
|
||||||
|
@ -1019,6 +1042,10 @@ _pager_face_cb_event_border_show(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
desk = desks->data;
|
desk = desks->data;
|
||||||
|
@ -1049,6 +1076,10 @@ _pager_face_cb_event_border_stick(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
desk = desks->data;
|
desk = desks->data;
|
||||||
|
@ -1073,6 +1104,10 @@ _pager_face_cb_event_border_unstick(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
|
||||||
for (desks = face->desks; desks; desks = desks->next)
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
{
|
{
|
||||||
|
@ -1105,6 +1140,10 @@ _pager_face_cb_event_border_desk_set(void *data, int type, void *event)
|
||||||
|
|
||||||
face = data;
|
face = data;
|
||||||
ev = event;
|
ev = event;
|
||||||
|
/* Only care about windows in our zone */
|
||||||
|
if (face->zone != ev->border->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (ev->border->sticky)
|
if (ev->border->sticky)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
@ -1226,6 +1265,36 @@ _pager_face_cb_event_zone_desk_count_set(void *data, int type, void *event)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
_pager_face_cb_event_desk_show(void *data, int type, void *event)
|
||||||
|
{
|
||||||
|
Pager_Face *face;
|
||||||
|
Pager_Desk *desk;
|
||||||
|
E_Event_Desk_Show *ev;
|
||||||
|
Evas_List *desks;
|
||||||
|
|
||||||
|
face = data;
|
||||||
|
ev = event;
|
||||||
|
/* Only care if this desk is in our zone */
|
||||||
|
if (face->zone != ev->desk->zone)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
for (desks = face->desks; desks; desks = desks->next)
|
||||||
|
{
|
||||||
|
desk = desks->data;
|
||||||
|
if (desk->desk == ev->desk)
|
||||||
|
{
|
||||||
|
desk->current = 1;
|
||||||
|
evas_object_move(face->screen,
|
||||||
|
face->fx + (face->fw * desk->xpos),
|
||||||
|
face->fy + (face->fh * desk->ypos));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
desk->current = 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi)
|
_pager_face_cb_menu_enabled(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
|
|
|
@ -67,6 +67,7 @@ struct _Pager_Face
|
||||||
Ecore_Event_Handler *ev_handler_border_unstick;
|
Ecore_Event_Handler *ev_handler_border_unstick;
|
||||||
Ecore_Event_Handler *ev_handler_border_desk_set;
|
Ecore_Event_Handler *ev_handler_border_desk_set;
|
||||||
Ecore_Event_Handler *ev_handler_zone_desk_count_set;
|
Ecore_Event_Handler *ev_handler_zone_desk_count_set;
|
||||||
|
Ecore_Event_Handler *ev_handler_desk_show;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Pager_Desk
|
struct _Pager_Desk
|
||||||
|
|
Loading…
Reference in New Issue