Enlightenment CVS committal Author : urandom Project : e17 Module : apps/e
Dir : e17/apps/e/src/modules/ibox Modified Files: e_mod_main.c 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/modules/ibox/e_mod_main.c,v retrieving revision 1.69 retrieving revision 1.70 diff -u -3 -r1.69 -r1.70 --- e_mod_main.c 24 Sep 2006 13:37:37 -0000 1.69 +++ e_mod_main.c 24 Oct 2006 14:32:22 -0000 1.70 @@ -113,6 +113,7 @@ static int _ibox_cb_event_border_iconify(void *data, int type, void *event); static int _ibox_cb_event_border_uniconify(void *data, int type, void *event); static int _ibox_cb_event_border_icon_change(void *data, int type, void *event); +static int _ibox_cb_event_border_urgent_change(void *data, int type, void *event); static int _ibox_cb_event_border_zone_set(void *data, int type, void *event); static int _ibox_cb_event_desk_show(void *data, int type, void *event); static Config_Item *_ibox_config_item_get(const char *id); @@ -1146,6 +1147,31 @@ } static int +_ibox_cb_event_border_urgent_change(void *data, int type, void *event) +{ + E_Event_Border_Urgent_Change *ev; + IBox *b; + IBox_Icon *ic; + Evas_List *l, *ibox; + + ev = event; + /* update icon */ + ibox = _ibox_zone_find(ev->border->zone); + for (l = ibox; l; l = l->next) + { + b = l->data; + ic = _ibox_icon_find(b, ev->border); + if (!ic) continue; + if (ev->border->client.icccm.urgent) + edje_object_signal_emit(ic->o_holder2, "e,state,urgent", "e"); + else + edje_object_signal_emit(ic->o_holder2, "e,state,not_urgent", "e"); + } + + return 1; +} + +static int _ibox_cb_event_border_zone_set(void *data, int type, void *event) { E_Event_Border_Zone_Set *ev; @@ -1318,6 +1344,10 @@ ibox_config->handlers = evas_list_append (ibox_config->handlers, ecore_event_handler_add (E_EVENT_BORDER_ICON_CHANGE, _ibox_cb_event_border_icon_change, NULL)); + ibox_config->handlers = evas_list_append + (ibox_config->handlers, ecore_event_handler_add + (E_EVENT_BORDER_URGENT_CHANGE, + _ibox_cb_event_border_urgent_change, NULL)); ibox_config->handlers = evas_list_append (ibox_config->handlers, ecore_event_handler_add (E_EVENT_BORDER_ZONE_SET, _ibox_cb_event_border_zone_set, NULL)); ------------------------------------------------------------------------- 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