Enlightenment CVS committal

Author  : iamsthitha
Project : e_modules
Module  : taskbar

Dir     : e_modules/taskbar


Modified Files:
        e_mod_config.c e_mod_main.c e_mod_main.h 


Log Message:
-Added morten's patch:code cleanup + show all config feature
-Added the images needed to compile themes
Note: The makefile for the themes is still messed up. You must compile the 
themes manually for now.


===================================================================
RCS file: /cvs/e/e_modules/taskbar/e_mod_config.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- e_mod_config.c      22 Jun 2006 05:30:18 -0000      1.1
+++ e_mod_config.c      22 Jun 2006 22:21:17 -0000      1.2
@@ -4,6 +4,7 @@
 struct _E_Config_Dialog_Data
 {
    int show_label;
+   int show_all;
 };
 
 /* Protos */
@@ -35,6 +36,7 @@
 _fill_data(Config_Item *ci, E_Config_Dialog_Data *cfdata)
 {
    cfdata->show_label = ci->show_label;
+   cfdata->show_all = ci->show_all;
 }
 
 static void *
@@ -68,10 +70,14 @@
    o = e_widget_list_add(evas, 0, 0);
 
    of = e_widget_framelist_add(evas, _("Display"), 0);
-   label = e_widget_check_add(evas, _("Show Labels"), &(cfdata->show_label));
+   ob = e_widget_check_add(evas, _("Show Labels"), &(cfdata->show_label));
    if (cfdata->show_label)
-      e_widget_check_checked_set(label, 1);
-   e_widget_framelist_object_append(of, label);
+      e_widget_check_checked_set(ob, 1);
+   e_widget_framelist_object_append(of, ob);  
+   ob = e_widget_check_add(evas, _("Show windows from all desktops"), 
&(cfdata->show_all));
+   if (cfdata->show_all)
+      e_widget_check_checked_set(ob, 1);
+   e_widget_framelist_object_append(of, ob);
    e_widget_list_object_append(o, of, 1, 1, 0.5);
 
    return o;
@@ -84,6 +90,7 @@
 
    ci = cfd->data;
    ci->show_label = cfdata->show_label;
+   ci->show_all = cfdata->show_all;
 
    e_config_save_queue();
 
===================================================================
RCS file: /cvs/e/e_modules/taskbar/e_mod_main.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_mod_main.c        22 Jun 2006 05:30:18 -0000      1.3
+++ e_mod_main.c        22 Jun 2006 22:21:17 -0000      1.4
@@ -65,25 +65,25 @@
    E_Border *border;
 };
 
-static Taskbar *_taskbar_new(Evas *evas, E_Zone * zone);
-static void _taskbar_free(Taskbar * b);
+static Taskbar *_taskbar_new(Evas *evas, E_Zone *zone);
+static void _taskbar_free(Taskbar *b);
 static void _taskbar_cb_empty_mouse_down(void *data, Evas *e, Evas_Object 
*obj, void *event_info);
-static void _taskbar_empty_handle(Taskbar * b);
-static void _taskbar_fill(Taskbar * b);
-static void _taskbar_repack(Taskbar * b);
-static void _taskbar_empty(Taskbar * b);
-static void _taskbar_orient_set(Taskbar * b, int horizontal);
-static void _taskbar_resize_handle(Taskbar * b);
-static Taskbar_Icon *_taskbar_icon_find(Taskbar * b, E_Border * bd);
-static Taskbar_Icon *_taskbar_icon_at_coord(Taskbar * b, Evas_Coord x, 
Evas_Coord y);
-static Taskbar_Icon *_taskbar_icon_new(Taskbar * b, E_Border * bd);
-static void _taskbar_icon_add(Taskbar * b, E_Border * bd);
-static void _taskbar_icon_remove(Taskbar * b, Taskbar_Icon * ic);
-static void _taskbar_icon_free(Taskbar_Icon * ic);
-static void _taskbar_icon_fill(Taskbar_Icon * ic);
-static void _taskbar_icon_empty(Taskbar_Icon * ic);
-static void _taskbar_icon_signal_emit(Taskbar_Icon * ic, char *sig, char *src);
-static Taskbar *_taskbar_zone_find(E_Zone * zone);
+static void _taskbar_empty_handle(Taskbar *b);
+static void _taskbar_fill(Taskbar *b);
+static void _taskbar_repack(Taskbar *b);
+static void _taskbar_empty(Taskbar *b);
+static void _taskbar_orient_set(Taskbar *b, int horizontal);
+static void _taskbar_resize_handle(Taskbar *b);
+static Taskbar_Icon *_taskbar_icon_find(Taskbar *b, E_Border *bd);
+static Taskbar_Icon *_taskbar_icon_at_coord(Taskbar *b, Evas_Coord x, 
Evas_Coord y);
+static Taskbar_Icon *_taskbar_icon_new(Taskbar *b, E_Border *bd);
+static int  _taskbar_icon_check_add(Taskbar *b, E_Border *bd);
+static void _taskbar_icon_add(Taskbar *b, E_Border *bd);
+static void _taskbar_icon_remove(Taskbar *b, E_Border *bd);
+static void _taskbar_icon_free(Taskbar_Icon *ic);
+static void _taskbar_icon_fill(Taskbar_Icon *ic);
+static void _taskbar_icon_empty(Taskbar_Icon *ic);
+static void _taskbar_icon_signal_emit(Taskbar_Icon *ic, char *sig, char *src);
 static void _taskbar_cb_obj_moveresize(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
 static void _taskbar_cb_menu_configure(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _taskbar_cb_menu_post(void *data, E_Menu *m);
@@ -150,7 +150,7 @@
 {
    Instance *inst;
 
-   inst = gcc->data;
+   inst = (Instance *)gcc->data;
    taskbar_config->instances = evas_list_remove(taskbar_config->instances, 
inst);
    _taskbar_free(inst->taskbar);
    free(inst);
@@ -162,7 +162,7 @@
    Instance *inst;
    int w;
 
-   inst = gcc->data;
+   inst = (Instance *)gcc->data;
    
    switch (gcc->gadcon->orient)
      {
@@ -218,8 +218,10 @@
  /**/
 /***************************************************************************/
 /***************************************************************************/
- /**/ static Taskbar *
-_taskbar_new(Evas *evas, E_Zone * zone)
+ /**/ 
+
+static Taskbar *
+_taskbar_new(Evas *evas, E_Zone *zone)
 {
    Taskbar *b;
 
@@ -237,12 +239,11 @@
    e_table_homogenous_set(b->o_box, 0);
    e_table_align_set(b->o_box, 0.5, 0.5);
    b->zone = zone;
-   _taskbar_fill(b);
    return b;
 }
 
 static void
-_taskbar_free(Taskbar * b)
+_taskbar_free(Taskbar *b)
 {
    _taskbar_empty(b);
    evas_object_del(b->o_box);
@@ -280,13 +281,15 @@
         e_gadcon_canvas_zone_geometry_get(b->inst->gcc->gadcon, &cx, &cy, &cw, 
&ch);
         e_menu_activate_mouse(mn,
                               e_util_zone_current_get(e_manager_current_get()),
-                              cx + ev->output.x, cy + ev->output.y, 1, 1, 
E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
-        evas_event_feed_mouse_up(b->inst->gcc->gadcon->evas, ev->button, 
EVAS_BUTTON_NONE, ev->timestamp, NULL);
+                              cx + ev->output.x, cy + ev->output.y, 1, 1, 
+                             E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
+        evas_event_feed_mouse_up(b->inst->gcc->gadcon->evas, ev->button, 
+                                EVAS_BUTTON_NONE, ev->timestamp, NULL);
      }
 }
 
 static void
-_taskbar_empty_handle(Taskbar * b)
+_taskbar_empty_handle(Taskbar *b)
 {
    if (!b->borders)
      {
@@ -301,7 +304,6 @@
              e_table_pack(b->o_box, b->o_empty, 0, 0, 1, 1);
              evas_object_geometry_get(b->o_box, NULL, NULL, &w, &h);
 
-            //edje_object_size_min_calc(b->o_box, &w, &h);
              e_table_pack_options_set(b->o_empty, 1, 1,   /* fill */
                                     1, 1,                 /* expand */
                                     0.5, 0.5,             /* align */
@@ -318,12 +320,14 @@
 }
 
 static void
-_taskbar_fill(Taskbar * b)
+_taskbar_fill(Taskbar *b)
 {
    Taskbar_Icon *ic;
    E_Border_List *bl;
    E_Border *bd;
+   Config_Item *ci;
 
+   ci = _taskbar_config_item_get(b->inst->gcc->id);
    bl = e_container_border_list_first(b->zone->container);
    while ((bd = e_container_border_list_next(bl)))
      {
@@ -331,7 +335,7 @@
            continue;
         if (bd->client.netwm.state.skip_taskbar)
            continue;
-        if (((bd->desk == e_desk_current_get(b->zone)) && (bd->zone == 
b->zone)) || (bd->sticky))
+        if (((bd->desk == e_desk_current_get(b->zone)) && (bd->zone == 
b->zone)) || (bd->sticky) || (ci->show_all))
           {
             b->borders = evas_list_append(b->borders, bd);
              ic = _taskbar_icon_new(b, bd);
@@ -362,7 +366,7 @@
 }
 
 static void
-_taskbar_repack(Taskbar * b)
+_taskbar_repack(Taskbar *b)
 {
    Evas_List *borders;
    E_Border *bd;
@@ -408,7 +412,7 @@
 }
 
 static void
-_taskbar_empty(Taskbar * b)
+_taskbar_empty(Taskbar *b)
 {
    while (b->icons)
      {
@@ -425,13 +429,13 @@
 }
 
 static void
-_taskbar_orient_set(Taskbar * b, int horizontal)
+_taskbar_orient_set(Taskbar *b, int horizontal)
 {
    e_table_align_set(b->o_box, 0.5, 0.5);
 }
 
 static void
-_taskbar_resize_handle(Taskbar * b)
+_taskbar_resize_handle(Taskbar *b)
 {
    Evas_List *l;
    Taskbar_Icon *ic;
@@ -462,7 +466,7 @@
 }
 
 static Taskbar_Icon *
-_taskbar_icon_find(Taskbar * b, E_Border * bd)
+_taskbar_icon_find(Taskbar *b, E_Border *bd)
 {
    Evas_List *l;
    Taskbar_Icon *ic;
@@ -478,7 +482,7 @@
 }
 
 static Taskbar_Icon *
-_taskbar_icon_at_coord(Taskbar * b, Evas_Coord x, Evas_Coord y)
+_taskbar_icon_at_coord(Taskbar *b, Evas_Coord x, Evas_Coord y)
 {
    Evas_List *l;
    Taskbar_Icon *ic;
@@ -497,7 +501,7 @@
 }
 
 static Taskbar_Icon *
-_taskbar_icon_new(Taskbar * b, E_Border * bd)
+_taskbar_icon_new(Taskbar *b, E_Border *bd)
 {
    Taskbar_Icon *ic;
    char buf[4096];
@@ -529,8 +533,33 @@
    return ic;
 }
 
+static int
+_taskbar_icon_check_add(Taskbar *b, E_Border *bd)
+{
+   Config_Item *ci;
+   
+   ci = _taskbar_config_item_get(b->inst->gcc->id);
+   
+   if (bd->user_skip_winlist)
+     return 1;
+   if (bd->client.netwm.state.skip_taskbar)
+     return 1;
+   if (_taskbar_icon_find(b, bd))
+     return 1;
+   if (!(bd->sticky || ci->show_all))
+     {
+       if (bd->zone != b->zone)
+         return 1;
+       if (bd->desk != e_desk_current_get(bd->zone))
+         return 1;
+     }
+
+   _taskbar_icon_add(b, bd);
+   return 0;
+}
+
 static void
-_taskbar_icon_add(Taskbar * b, E_Border * bd)
+_taskbar_icon_add(Taskbar *b, E_Border *bd)
 {
 
    b->borders = evas_list_append(b->borders, bd);
@@ -542,10 +571,9 @@
 }
 
 static void
-_taskbar_icon_remove(Taskbar * b, Taskbar_Icon * ic)
+_taskbar_icon_remove(Taskbar *b, E_Border *bd)
 {
-
-   b->borders = evas_list_remove(b->borders, ic->border);
+   b->borders = evas_list_remove(b->borders, bd);
    _taskbar_repack(b);
    _taskbar_empty_handle(b);
    _taskbar_resize_handle(b);
@@ -553,7 +581,7 @@
 }
 
 static void
-_taskbar_icon_free(Taskbar_Icon * ic)
+_taskbar_icon_free(Taskbar_Icon *ic)
 {
 
    if (taskbar_config->menu)
@@ -570,7 +598,7 @@
 }
 
 static void
-_taskbar_icon_fill(Taskbar_Icon * ic)
+_taskbar_icon_fill(Taskbar_Icon *ic)
 {
    char *label;
 
@@ -583,7 +611,6 @@
    evas_object_pass_events_set(ic->o_icon2, 1);
    evas_object_show(ic->o_icon2);
 
-   /* FIXME: preferences for icon name */
    label = ic->border->client.netwm.name;
    if (!label)
       label = ic->border->client.icccm.title;
@@ -594,7 +621,7 @@
 }
 
 static void
-_taskbar_icon_empty(Taskbar_Icon * ic)
+_taskbar_icon_empty(Taskbar_Icon *ic)
 {
    if (ic->o_icon)
       evas_object_del(ic->o_icon);
@@ -605,7 +632,7 @@
 }
 
 static void
-_taskbar_icon_signal_emit(Taskbar_Icon * ic, char *sig, char *src)
+_taskbar_icon_signal_emit(Taskbar_Icon *ic, char *sig, char *src)
 {
    if (ic->o_holder)
       edje_object_signal_emit(ic->o_holder, sig, src);
@@ -617,22 +644,6 @@
       edje_object_signal_emit(ic->o_icon2, sig, src);
 }
 
-static Taskbar *
-_taskbar_zone_find(E_Zone * zone)
-{
-   Evas_List *l;
-
-   for (l = taskbar_config->instances; l; l = l->next)
-     {
-        Instance *inst;
-
-        inst = l->data;
-        if (inst->taskbar->zone == zone)
-           return inst->taskbar;
-     }
-   return NULL;
-}
-
 static void
 _taskbar_cb_obj_moveresize(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
 {
@@ -676,6 +687,9 @@
                    edje_object_signal_emit(l->data, "label_visible", "");
 
               }
+
+            _taskbar_empty(inst->taskbar);
+            _taskbar_fill(inst->taskbar);
             _taskbar_resize_handle(inst->taskbar);
             _gc_orient(inst->gcc);
             break;
@@ -696,12 +710,10 @@
 static void
 _taskbar_cb_icon_mouse_in(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
 {
-   Evas_Event_Mouse_In *ev;
    Taskbar_Icon *ic;
    Config_Item *ci;
 
-   ev = event_info;
-   ic = data;
+   ic = (Taskbar_Icon *)data;
    ci = _taskbar_config_item_get(ic->taskbar->inst->gcc->id);
    _taskbar_icon_signal_emit(ic, "active", "");
    if (ci->show_label)
@@ -711,12 +723,10 @@
 static void
 _taskbar_cb_icon_mouse_out(void *data, Evas *e, Evas_Object *obj, void 
*event_info)
 {
-   Evas_Event_Mouse_Out *ev;
    Taskbar_Icon *ic;
    Config_Item *ci;
 
-   ev = event_info;
-   ic = data;
+   ic = (Taskbar_Icon *)data;
    ci = _taskbar_config_item_get(ic->taskbar->inst->gcc->id);
    _taskbar_icon_signal_emit(ic, "passive", "");
    if (ci->show_label)
@@ -730,7 +740,7 @@
    Evas_Event_Mouse_Down *ev;
    Taskbar_Icon *ic;
 
-   ic = data;
+   ic = (Taskbar_Icon *)data;
    ev = event_info;
 
    if ((ev->button == 3) && (!taskbar_config->menu))
@@ -779,11 +789,15 @@
 {
    Evas_Event_Mouse_Up *ev;
    Taskbar_Icon *ic;
+   Config_Item *ci;
 
    ev = event_info;
    ic = data;
+   ci = _taskbar_config_item_get(ic->taskbar->inst->gcc->id);
    if (ev->button == 1)
      {
+       if (!ic->border->sticky && ci->show_all)
+         e_desk_show(ic->border->desk);
         if (evas_key_modifier_is_set(ev->modifiers, "Alt"))
           {
              if (ic->border->iconic)
@@ -832,6 +846,8 @@
      }
    else if (ev->button == 2)
      {
+       if (!ic->border->sticky && ci->show_all)
+         e_desk_show(ic->border->desk);
         e_border_raise(ic->border);
         e_border_focus_set(ic->border, 1, 1);
         if (ic->border->maximized)
@@ -870,20 +886,19 @@
 {
    E_Event_Border_Add *ev;
    Taskbar *b;
+   Evas_List *l;
 
    ev = event;
-   b = _taskbar_zone_find(ev->border->zone);
-   if (!b)
-      return 1;
-   if (_taskbar_icon_find(b, ev->border))
-      return 1;
    if (ev->border->client.netwm.state.skip_taskbar)
-      return 1;
+     return 1;
    if (ev->border->user_skip_winlist)
-      return 1;
-   if ((ev->border->desk == e_desk_current_get(ev->border->zone)) || 
(ev->border->sticky))
+     return 1;
+   for (l = taskbar_config->instances; l; l = l->next)
      {
-       _taskbar_icon_add(b, ev->border);
+       Instance *inst;
+
+       inst = l->data;
+       _taskbar_icon_check_add(inst->taskbar, ev->border);
      }
    return 1;
 }
@@ -893,17 +908,16 @@
 {
    E_Event_Border_Remove *ev;
    Taskbar *b;
-   Taskbar_Icon *ic;
+   Evas_List *l;
 
    ev = event;
-   /* find icon and remove if there */
-   b = _taskbar_zone_find(ev->border->zone);
-   if (!b)
-      return 1;
-   ic = _taskbar_icon_find(b, ev->border);
-   if (!ic)
-      return 1;
-   _taskbar_icon_remove(b, ic);
+   for (l = taskbar_config->instances; l; l = l->next)
+     {
+       Instance *inst;
+
+       inst = l->data;
+       _taskbar_icon_remove(inst->taskbar, ev->border);
+     }
    return 1;
 }
 
@@ -911,18 +925,21 @@
 _taskbar_cb_event_border_iconify(void *data, int type, void *event)
 {
    E_Event_Border_Iconify *ev;
-   Taskbar *b;
    Taskbar_Icon *ic;
+   Evas_List *l;
 
    ev = event;
    /* do some sort of anim when iconifying */
-   b = _taskbar_zone_find(ev->border->zone);
-   if (!b)
-      return 1;
-   ic = _taskbar_icon_find(b, ev->border);
-   if (!ic)
-      return 1;
-   _taskbar_icon_signal_emit(ic, "iconify", "");
+   for (l = taskbar_config->instances; l; l = l->next)
+     {
+       Instance *inst;
+
+       inst = l->data;
+       ic = _taskbar_icon_find(inst->taskbar, ev->border);
+       if (!ic)
+         continue;
+       _taskbar_icon_signal_emit(ic, "iconify", "");
+     }
    return 1;
 }
 
@@ -930,18 +947,21 @@
 _taskbar_cb_event_border_uniconify(void *data, int type, void *event)
 {
    E_Event_Border_Uniconify *ev;
-   Taskbar *b;
    Taskbar_Icon *ic;
+   Evas_List *l;
 
    ev = event;
    /* do some sort of anim when uniconifying */
-   b = _taskbar_zone_find(ev->border->zone);
-   if (!b)
-      return 1;
-   ic = _taskbar_icon_find(b, ev->border);
-   if (!ic)
-      return 1;
-   _taskbar_icon_signal_emit(ic, "uniconify", "");
+   for (l = taskbar_config->instances; l; l = l->next)
+     {
+       Instance *inst;
+
+       inst = l->data;
+       ic = _taskbar_icon_find(inst->taskbar, ev->border);
+       if (!ic)
+         continue;
+       _taskbar_icon_signal_emit(ic, "uniconify", "");
+     }
    return 1;
 }
 
@@ -949,20 +969,22 @@
 _taskbar_cb_event_border_icon_change(void *data, int type, void *event)
 {
    E_Event_Border_Icon_Change *ev;
-   Taskbar *b;
    Taskbar_Icon *ic;
+   Evas_List *l;
 
    ev = event;
    /* update icon */
-   b = _taskbar_zone_find(ev->border->zone);
-   if (!b)
-      return 1;
-   ic = _taskbar_icon_find(b, ev->border);
-   if (!ic)
-      return 1;
-   _taskbar_icon_empty(ic);
-   _taskbar_icon_fill(ic);
+   for (l = taskbar_config->instances; l; l = l->next)
+     {
+       Instance *inst;
 
+       inst = l->data;
+       ic = _taskbar_icon_find(inst->taskbar, ev->border);
+       if (!ic)
+         continue;
+       _taskbar_icon_empty(ic);
+       _taskbar_icon_fill(ic);
+     }
    return 1;
 }
 
@@ -971,38 +993,24 @@
 {
    E_Event_Border_Zone_Set *ev;
    Taskbar_Icon *ic;
+   Config_Item *ci;
+   Evas_List *l;
 
    ev = event;
 
-   Evas_List *l;
-
    for (l = taskbar_config->instances; l; l = l->next)
      {
         Instance *inst;
 
         inst = l->data;
-        if (inst->taskbar->zone == ev->border->zone)
+       ci = _taskbar_config_item_get(inst->gcc->id);
+        if ((inst->taskbar->zone == ev->border->zone)||ci->show_all)
           {
-             if ((ev->border->desk == e_desk_current_get(ev->border->zone)) || 
(ev->border->sticky))
-               {
-                  ic = _taskbar_icon_find(inst->taskbar, ev->border);
-                  if (!ic)
-                    {
-                       if (ev->border->user_skip_winlist)
-                          continue;
-                       if (ev->border->client.netwm.state.skip_taskbar)
-                          continue;
-                      _taskbar_icon_add(inst->taskbar, ev->border);
-                   }
-               }
+            _taskbar_icon_check_add(inst->taskbar, ev->border);
           }
         else
           {
-             ic = _taskbar_icon_find(inst->taskbar, ev->border);
-             if ((ic) && (!ev->border->sticky))
-               {
-                 _taskbar_icon_remove(inst->taskbar, ic);
-              }
+            _taskbar_icon_remove(inst->taskbar, ev->border);
           }
      }
    return 1;
@@ -1012,39 +1020,25 @@
 _taskbar_cb_event_border_desk_set(void *data, int type, void *event)
 {
    E_Event_Border_Desk_Set *ev;
-   Taskbar *b;
-   Taskbar_Icon *ic;
-   E_Border *bd;
+   Evas_List *l;
+   Config_Item *ci;
 
    ev = event;
-   bd = ev->border;
-   if (!bd)
-      return 1;
-   /* do some sort of anim when uniconifying */
-   b = _taskbar_zone_find(bd->zone);
-   if (!b)
-      return 1;
 
-   if ((ev->border->desk == e_desk_current_get(ev->border->zone)) || 
(bd->sticky))
-     {
-        ic = _taskbar_icon_find(b, bd);
-        if (ic)
-           return 1;
-        if (b->zone == ev->border->zone)
-          {
-             if (bd->user_skip_winlist)
-                return 1;
-             if (bd->client.netwm.state.skip_taskbar)
-                return 1;
-            _taskbar_icon_add(b, bd);
-         }
-     }
-   else
+   for (l = taskbar_config->instances; l; l = l->next)
      {
-        ic = _taskbar_icon_find(b, bd);
-        if (!ic)
-           return 1;
-       _taskbar_icon_remove(b, ic);
+       Instance *inst;
+
+       inst = l->data;
+       ci = _taskbar_config_item_get(inst->gcc->id);
+       if ((ev->border->desk == e_desk_current_get(ev->border->zone)) || 
(ev->border->sticky) || (ci->show_all))
+         {
+            _taskbar_icon_check_add(inst->taskbar, ev->border);
+         }
+       else
+         {
+            _taskbar_icon_remove(inst->taskbar, ev->border);
+         }
      }
    return 0;
 }
@@ -1135,18 +1129,26 @@
 static int
 _taskbar_cb_event_desk_show(void *data, int type, void *event)
 {
-   E_Event_Desk_Show *e;
-   Taskbar *b;
+   E_Event_Desk_Show *ev;
+   Evas_List *l;
+   Config_Item *ci;
 
-   e = event;
-   b = _taskbar_zone_find(e->desk->zone);
-   if (!b)
-      return 1;
-   _taskbar_empty(b);
-   _taskbar_fill(b);
-   _taskbar_empty_handle(b);
-   _taskbar_resize_handle(b);
-   _gc_orient(b->inst->gcc);
+   ev = event;
+   for (l = taskbar_config->instances; l; l = l->next)
+     {
+       Instance *inst;
+
+       inst = l->data;
+       ci = _taskbar_config_item_get(inst->gcc->id);
+       if ((inst->taskbar->zone == ev->desk->zone) && !(ci->show_all))
+         {
+            _taskbar_empty(inst->taskbar);
+            _taskbar_fill(inst->taskbar);
+            _taskbar_empty_handle(inst->taskbar);
+            _taskbar_resize_handle(inst->taskbar);
+            _gc_orient(inst->gcc);
+         }
+     }
    return 1;
 }
 
@@ -1166,6 +1168,7 @@
    ci = E_NEW(Config_Item, 1);
    ci->id = evas_stringshare_add(id);
    ci->show_label = 1;
+   ci->show_all   = 0;
 
    taskbar_config->items = evas_list_append(taskbar_config->items, ci);
    return ci;
@@ -1193,6 +1196,7 @@
 #define D conf_item_edd
   E_CONFIG_VAL(D, T, id, STR);
   E_CONFIG_VAL(D, T, show_label, INT);
+  E_CONFIG_VAL(D, T, show_all, INT);
 
   conf_edd = E_CONFIG_DD_NEW("TClock_Config", Config);
 #undef T
@@ -1208,6 +1212,7 @@
        ci = E_NEW(Config_Item, 1);
        ci->id = evas_stringshare_add("0");
        ci->show_label = 1;
+       ci->show_all   = 0;
 
        taskbar_config->items = evas_list_append(taskbar_config->items, ci);
    }
@@ -1215,27 +1220,38 @@
    taskbar_config->module = m;
 
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, ecore_event_handler_add(E_EVENT_BORDER_ADD, 
_taskbar_cb_event_border_add, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_ADD, _taskbar_cb_event_border_add, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_REMOVE, _taskbar_cb_event_border_remove, 
NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_REMOVE, _taskbar_cb_event_border_remove, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_ICONIFY, 
_taskbar_cb_event_border_iconify, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_ICONIFY, _taskbar_cb_event_border_iconify, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_UNICONIFY, 
_taskbar_cb_event_border_uniconify, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_UNICONIFY, _taskbar_cb_event_border_uniconify, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_ICON_CHANGE, 
_taskbar_cb_event_border_icon_change, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_ICON_CHANGE, _taskbar_cb_event_border_icon_change, 
NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_DESK_SET, 
_taskbar_cb_event_border_desk_set, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_DESK_SET, _taskbar_cb_event_border_desk_set, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(E_EVENT_BORDER_ZONE_SET, 
_taskbar_cb_event_border_zone_set, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_BORDER_ZONE_SET, _taskbar_cb_event_border_zone_set, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_IN, 
_taskbar_cb_window_focus_in, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (ECORE_X_EVENT_WINDOW_FOCUS_IN, _taskbar_cb_window_focus_in, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_OUT, 
_taskbar_cb_window_focus_out, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (ECORE_X_EVENT_WINDOW_FOCUS_OUT, _taskbar_cb_window_focus_out, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, 
ecore_event_handler_add(ECORE_X_EVENT_WINDOW_PROPERTY, 
_taskbar_cb_window_property, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (ECORE_X_EVENT_WINDOW_PROPERTY, _taskbar_cb_window_property, NULL));
    taskbar_config->handlers = evas_list_append
-      (taskbar_config->handlers, ecore_event_handler_add(E_EVENT_DESK_SHOW, 
_taskbar_cb_event_desk_show, NULL));
+      (taskbar_config->handlers, ecore_event_handler_add
+       (E_EVENT_DESK_SHOW, _taskbar_cb_event_desk_show, NULL));
 
    e_gadcon_provider_register(&_gadcon_class);
 }
@@ -1285,16 +1301,6 @@
    return 1;
 }
 
-/*
-EAPI int
-e_modapi_info(E_Module *m)
-{
-   char buf[4096];
-   
-   snprintf(buf, sizeof(buf), "%s/module_icon.png", e_module_dir_get(m));
-   m->icon_file = strdup(buf);
-   return 1;
-}*/
 
 EAPI int
 e_modapi_about(E_Module *m)
===================================================================
RCS file: /cvs/e/e_modules/taskbar/e_mod_main.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_mod_main.h        22 Jun 2006 05:30:18 -0000      1.3
+++ e_mod_main.h        22 Jun 2006 22:21:18 -0000      1.4
@@ -22,6 +22,7 @@
 {
    const char *id;
    int show_label;
+   int show_all;
 };
 
 EAPI extern E_Module_Api e_modapi;



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