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

Reply via email to