Enlightenment CVS committal Author : urandom Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_border.h Log Message: the pager and iconbox now emit a signal when a border changes state from urgent to normal and the other way around. for the themers: the iconbox icon, the pager window and the pager desk, receive the signals e,state,urgent and e,state,not_urgent, so you can do something nice with those. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.556 retrieving revision 1.557 diff -u -3 -r1.556 -r1.557 --- e_border.c 21 Oct 2006 02:32:13 -0000 1.556 +++ e_border.c 24 Oct 2006 14:32:21 -0000 1.557 @@ -67,6 +67,7 @@ static void _e_border_event_border_desk_set_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_urgent_change_free(void *data, void *ev); static void _e_border_event_border_focus_in_free(void *data, void *ev); static void _e_border_event_border_focus_out_free(void *data, void *ev); static void _e_border_event_border_resize_free(void *data, void *ev); @@ -130,6 +131,7 @@ EAPI int E_EVENT_BORDER_UNSTICK = 0; EAPI int E_EVENT_BORDER_STACK = 0; EAPI int E_EVENT_BORDER_ICON_CHANGE = 0; +EAPI int E_EVENT_BORDER_URGENT_CHANGE = 0; EAPI int E_EVENT_BORDER_FOCUS_IN = 0; EAPI int E_EVENT_BORDER_FOCUS_OUT = 0; EAPI int E_EVENT_BORDER_PROPERTY = 0; @@ -183,6 +185,7 @@ E_EVENT_BORDER_UNSTICK = ecore_event_type_new(); E_EVENT_BORDER_STACK = ecore_event_type_new(); E_EVENT_BORDER_ICON_CHANGE = ecore_event_type_new(); + E_EVENT_BORDER_URGENT_CHANGE = ecore_event_type_new(); E_EVENT_BORDER_FOCUS_IN = ecore_event_type_new(); E_EVENT_BORDER_FOCUS_OUT = ecore_event_type_new(); E_EVENT_BORDER_PROPERTY = ecore_event_type_new(); @@ -6421,9 +6424,13 @@ edje_object_signal_emit(bd->bg_object, "e,state,urgent", "e"); else edje_object_signal_emit(bd->bg_object, "e,state,not_urgent", "e"); - /* FIXME: we should probably do something with the pager or - * maybe raising the window if it becomes urgent - */ + E_Event_Border_Urgent_Change *ev; + + ev = calloc(1, sizeof(E_Event_Border_Urgent_Change)); + ev->border = bd; + e_object_ref(E_OBJECT(bd)); + ecore_event_add(E_EVENT_BORDER_URGENT_CHANGE, ev, + _e_border_event_border_urgent_change_free, NULL); } bd->new_client = 0; @@ -6867,6 +6874,16 @@ e = ev; // e_object_breadcrumb_del(E_OBJECT(e->border), "border_icon_change_event"); + e_object_unref(E_OBJECT(e->border)); + free(e); +} + +static void +_e_border_event_border_urgent_change_free(void *data, void *ev) +{ + E_Event_Border_Urgent_Change *e; + + e = ev; e_object_unref(E_OBJECT(e->border)); free(e); } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.150 retrieving revision 1.151 diff -u -3 -r1.150 -r1.151 --- e_border.h 1 Sep 2006 15:37:23 -0000 1.150 +++ e_border.h 24 Oct 2006 14:32:22 -0000 1.151 @@ -87,6 +87,7 @@ typedef struct _E_Event_Border_Desk_Set E_Event_Border_Desk_Set; typedef struct _E_Event_Border_Stack E_Event_Border_Stack; typedef struct _E_Event_Border_Icon_Change E_Event_Border_Icon_Change; +typedef struct _E_Event_Border_Urgent_Change E_Event_Border_Urgent_Change; typedef struct _E_Event_Border_Focus_In E_Event_Border_Focus_In; typedef struct _E_Event_Border_Focus_Out E_Event_Border_Focus_Out; typedef struct _E_Event_Border_Property E_Event_Border_Property; @@ -545,6 +546,11 @@ E_Border *border; }; +struct _E_Event_Border_Urgent_Change +{ + E_Border *border; +}; + struct _E_Event_Border_Property { E_Border *border; @@ -642,6 +648,7 @@ extern EAPI int E_EVENT_BORDER_DESK_SET; extern EAPI int E_EVENT_BORDER_STACK; extern EAPI int E_EVENT_BORDER_ICON_CHANGE; +extern EAPI int E_EVENT_BORDER_URGENT_CHANGE; extern EAPI int E_EVENT_BORDER_FOCUS_IN; extern EAPI int E_EVENT_BORDER_FOCUS_OUT; extern EAPI int E_EVENT_BORDER_PROPERTY; ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs