Enlightenment CVS committal Author : rephorm Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_desk.c e_desk.h Log Message: Add desktop name to the pager (turn it on in the pager's config menu). The theme could probably use a bit of touch up, but it works for now :) Add an event when desktop names change. Note: currently 'adding' a name with enlightenment_remote sends out change events for ALL of the desktops (even the ones that didn't change). This should be fixed... =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -3 -r1.50 -r1.51 --- e_desk.c 5 Sep 2005 15:24:07 -0000 1.50 +++ e_desk.c 5 Sep 2005 23:14:58 -0000 1.51 @@ -10,13 +10,16 @@ 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_name_change_free(void *data, void *ev); int E_EVENT_DESK_SHOW = 0; +int E_EVENT_DESK_NAME_CHANGE = 0; int e_desk_init(void) { E_EVENT_DESK_SHOW = ecore_event_type_new(); + E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new(); return 1; } @@ -74,10 +77,17 @@ void e_desk_name_set(E_Desk *desk, const char *name) { + E_Event_Desk_Name_Change *ev; + E_OBJECT_CHECK(desk); E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE); E_FREE(desk->name); desk->name = strdup(name); + + ev = E_NEW(E_Event_Desk_Name_Change, 1); + ev->desk = desk; + e_object_ref(E_OBJECT(desk)); + ecore_event_add(E_EVENT_DESK_NAME_CHANGE, ev, _e_border_event_desk_name_change_free, NULL); } void @@ -402,3 +412,12 @@ free(ev); } +static void +_e_border_event_desk_name_change_free(void *data, void *event) +{ + E_Event_Desk_Name_Change *ev; + + ev = event; + e_object_unref(E_OBJECT(ev->desk)); + free(ev); +} =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- e_desk.h 6 Aug 2005 04:00:03 -0000 1.20 +++ e_desk.h 5 Sep 2005 23:14:58 -0000 1.21 @@ -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_Name_Change E_Event_Desk_Name_Change; #else #ifndef E_DESK_H @@ -29,6 +30,11 @@ E_Desk *desk; }; +struct _E_Event_Desk_Name_Change +{ + E_Desk *desk; +}; + EAPI int e_desk_init(void); EAPI int e_desk_shutdown(void); EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y); @@ -50,6 +56,7 @@ EAPI void e_desk_col_remove(E_Zone *zone); extern EAPI int E_EVENT_DESK_SHOW; +extern EAPI int E_EVENT_DESK_NAME_CHANGE; #endif #endif ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs