Enlightenment CVS committal

Author  : handyande
Project : misc
Module  : engage

Dir     : misc/engage/src/module


Modified Files:
        Makefile.am e_mod_main.c e_mod_main.h 
Added Files:
        tray.c 


Log Message:
OK, trying to get some tray stuff in, please can someone tell me why I am not 
getting the CLIENT_MESSAGEs that I used to get???
I guess it is to do with the:
ecore_x_client_message32_send(root, ecore_x_atom_get("MANAGER"),
                                ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, CurrentTime
,
                                selection_atom, eb->con->win, 0, 0);
but that is just a guess
THANKS :)
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/Makefile.am,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- Makefile.am 30 Mar 2005 18:40:31 -0000      1.3
+++ Makefile.am 11 Jun 2005 23:57:16 -0000      1.4
@@ -16,6 +16,7 @@
 pkgdir                 = @e_modules@/engage/$(MODULE_ARCH)
 pkg_LTLIBRARIES        = module.la
 module_la_SOURCES      = e_mod_main.c \
+                         tray.c \
                         e_mod_main.h
 module_la_LIBADD       = @e_libs@ -lm
 module_la_LDFLAGS      = -module -avoid-version
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -3 -r1.52 -r1.53
--- e_mod_main.c        11 Jun 2005 20:27:40 -0000      1.52
+++ e_mod_main.c        11 Jun 2005 23:57:16 -0000      1.53
@@ -8,6 +8,7 @@
 
 #include "config.h"
 
+
 /* TODO List:
  *
  * immediate fixes needed:
@@ -16,13 +17,8 @@
  *
  * * pick up apps on enable (startup OK, disable then enable not)
  * * When a window gets focus move the selected_app pointer
- * * zoom and unzoom (eb->zoom from 1.0 to conf->zoom_factor) on timer
  * * bounce icons on click ( following e_app exec hints? )
  *
- * * maybe add system tray
- * 
- * * Fix menu
- *
  * * description bubbles/tooltips for icons
  * * app subdirs - need to somehow handle these...
  * * use overlay object and repeat events for doing auto hide/show
@@ -84,6 +80,7 @@
 static void    _engage_bar_cb_gmc_change(void *data, E_Gadman_Client *gmc, 
E_Gadman_Change change);
 static void    _engage_bar_cb_intercept_move(void *data, Evas_Object *o, 
Evas_Coord x, Evas_Coord y);
 static void    _engage_bar_cb_intercept_resize(void *data, Evas_Object *o, 
Evas_Coord w, Evas_Coord h);
+
 static void    _engage_bar_cb_mouse_in(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
 static void    _engage_bar_cb_mouse_out(void *data, Evas *e, Evas_Object *obj, 
void *event_info);
 static void    _engage_bar_cb_mouse_down(void *data, Evas *e, Evas_Object 
*obj, void *event_info);
@@ -128,6 +125,10 @@
 
 static void    _engage_bar_cb_menu_context_change(void *data, E_Menu *m, 
E_Menu_Item *mi);
 
+extern void    _engage_tray_init(Engage_Bar *eb);
+extern void    _engage_tray_shutdown(Engage_Bar *eb);
+
+
 static int      _engage_zoom_in_slave(void *data);
 static int      _engage_zoom_out_slave(void *data);
 
@@ -520,6 +521,19 @@
    e_object_ref(E_OBJECT(con));
    eb->evas = con->bg_evas;
    
+   o = e_box_add(eb->evas);
+   eb->box_object = o;
+
+   _engage_tray_init(eb);
+
+   e_box_pack_end(eb->box_object, eb->tray->tray);
+   e_box_pack_options_set(o,
+                         1, 1, /* fill */
+                         0, 0, /* expand */
+                         0.5, 0.5, /* align */
+                         eb->tray->w, eb->tray->h, /* min */
+                         eb->tray->w, eb->tray->h /* max */
+                         );
    eb->contexts = NULL;
    
    eb->x = eb->y = eb->w = eb->h = -1;
@@ -545,8 +559,8 @@
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, 
_engage_bar_cb_mouse_move, eb);
    evas_object_show(o);
 
-   o = e_box_add(eb->evas);
-   eb->box_object = o;
+   o = eb->box_object;
+
    evas_object_intercept_move_callback_add(o, _engage_bar_cb_intercept_move, 
eb);
    evas_object_intercept_resize_callback_add(o, 
_engage_bar_cb_intercept_resize, eb);
    e_box_freeze(o);
@@ -657,6 +671,7 @@
    evas_object_del(eb->bar_object);
    evas_object_del(eb->box_object);
    evas_object_del(eb->event_object);
+   _engage_tray_shutdown(eb);
 
    e_gadman_client_save(eb->gmc);
    e_object_del(E_OBJECT(eb->gmc));
@@ -771,6 +786,7 @@
    evas_object_show(eb->bar_object);
    evas_object_show(eb->box_object);
    evas_object_show(eb->event_object);
+   evas_object_show(eb->tray->tray);
    e_config_save_queue();
 }
 
@@ -781,6 +797,7 @@
    evas_object_hide(eb->bar_object);
    evas_object_hide(eb->box_object);
    evas_object_hide(eb->event_object);
+   evas_object_hide(eb->tray->tray);
    e_config_save_queue();
 }
 
@@ -838,7 +855,7 @@
 
    evas_object_raise(ic->event_object);
 
-   e_box_pack_end(eb->box_object, ic->bg_object);
+   e_box_pack_before(eb->box_object, ic->bg_object, eb->tray->tray);
    e_box_pack_options_set(ic->bg_object,
                          1, 1, /* fill */
                          0, 0, /* expand */
@@ -1298,7 +1315,7 @@
    else
      {
        ic->eb->icons = evas_list_append(ic->eb->icons, ic);
-       e_box_pack_end(ic->eb->box_object, ic->bg_object);
+       e_box_pack_before(ic->eb->box_object, ic->bg_object, 
ic->eb->tray->tray);
      }
    edje_object_size_min_calc(ic->bg_object, &bw, &bh);
    e_box_pack_options_set(ic->bg_object,
@@ -1329,7 +1346,7 @@
    e_gadman_client_geometry_get(eb->gmc, &x, &y, NULL, NULL);
 
    e_gadman_client_resize(eb->gmc, w, h);
-   evas_object_resize(eb->event_object, w, h);
+   evas_object_resize(eb->event_object, w - eb->tray->w, h);
    evas_object_move(eb->event_object, x, y);
    e_box_thaw(eb->box_object);
    evas_event_thaw(eb->evas);
@@ -1789,7 +1806,7 @@
    eb = data;
 
    evas_object_resize(o, w, h);
-   evas_object_resize(eb->event_object, w, h);
+   evas_object_resize(eb->event_object, w - eb->tray->w, h);
    edje_extern_object_min_size_set(eb->box_object, w, h);
    
    if (eb->gmc)
@@ -1984,20 +2001,20 @@
 
    if (edge == E_GADMAN_EDGE_LEFT)
      {
-       evas_object_resize(eb->event_object, w * (multiplier + 1), h);
+       evas_object_resize(eb->event_object, w * (multiplier + 1), h - 
eb->tray->h);
      }
    else if (edge == E_GADMAN_EDGE_RIGHT)
      {
-       evas_object_resize(eb->event_object, w * (multiplier + 1), h);
+       evas_object_resize(eb->event_object, w * (multiplier + 1), h - 
eb->tray->h);
        evas_object_move(eb->event_object, x - w * multiplier, y);
      }
    else if (edge == E_GADMAN_EDGE_TOP)
      {
-       evas_object_resize(eb->event_object, w , h * (multiplier + 1));
+       evas_object_resize(eb->event_object, w - eb->tray->w, h * (multiplier + 
1));
      }
    else
      {
-       evas_object_resize(eb->event_object, w , h * (multiplier + 1));
+       evas_object_resize(eb->event_object, w - eb->tray->w, h * (multiplier + 
1));
        evas_object_move(eb->event_object, x, y - h * multiplier);
      }
   _engage_bar_motion_handle(eb, ev->canvas.x, ev->canvas.y);
===================================================================
RCS file: /cvsroot/enlightenment/misc/engage/src/module/e_mod_main.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_mod_main.h        11 Jun 2005 20:27:42 -0000      1.12
+++ e_mod_main.h        11 Jun 2005 23:57:16 -0000      1.13
@@ -8,6 +8,7 @@
 typedef struct _Config_Bar  Config_Bar;
 typedef struct _Engage        Engage;
 typedef struct _Engage_Bar    Engage_Bar;
+typedef struct _Engage_Tray   Engage_Tray;
 typedef struct _Engage_Icon   Engage_Icon;
 typedef struct _Engage_App_Icon Engage_App_Icon;
 
@@ -40,6 +41,15 @@
    Evas_Coord   iconbordersize;
 };
 
+struct _Engage_Tray
+{
+   Evas_Object *tray;
+   int          w, h;
+   int          icons;
+   Evas_List   *wins;
+   Ecore_X_Window tray_container;
+};
+
 struct _Engage_Bar
 {
    Engage        *engage;
@@ -70,6 +80,8 @@
    Ecore_Event_Handler *remove_handler;
    Ecore_Event_Handler *iconify_handler;
    Ecore_Event_Handler *uniconify_handler;
+
+   Engage_Tray     *tray;
 };
 
 struct _Engage_Icon




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to