Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_error.c e_hints.c e_manager.c e_utils.c 


Log Message:
More netwm

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.236
retrieving revision 1.237
diff -u -3 -r1.236 -r1.237
--- e_border.c  3 Jun 2005 12:23:34 -0000       1.236
+++ e_border.c  3 Jun 2005 19:10:24 -0000       1.237
@@ -1451,16 +1451,7 @@
    Evas_Object *o;
 
    o = NULL;
-   if (bd->client.netwm.icon.data)
-     {
-       printf("icon size: %d %d\n", bd->client.netwm.icon.width, 
bd->client.netwm.icon.height);
-       o = e_icon_add(evas);
-       e_icon_data_set(o, bd->client.netwm.icon.data,
-                       bd->client.netwm.icon.width,
-                       bd->client.netwm.icon.height);
-       e_icon_alpha_set(o, 1);
-     }
-   else if ((bd->client.icccm.name) && (bd->client.icccm.class))
+   if ((bd->client.icccm.name) && (bd->client.icccm.class))
      {
        E_App *a;
 
@@ -1472,6 +1463,14 @@
             edje_object_file_set(o, a->path, "icon");
          }
      }
+   else if (bd->client.netwm.icon.data)
+     {
+       o = e_icon_add(evas);
+       e_icon_data_set(o, bd->client.netwm.icon.data,
+                       bd->client.netwm.icon.width,
+                       bd->client.netwm.icon.height);
+       e_icon_alpha_set(o, 1);
+     }
    return o;
 }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_error.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- e_error.c   25 May 2005 08:08:44 -0000      1.22
+++ e_error.c   3 Jun 2005 19:10:25 -0000       1.23
@@ -235,7 +235,7 @@
 
        x = (man->w - error_w) / 2;
        y = (man->h - error_h) / 2;
-       con = e_manager_container_current_get(man);
+       con = e_container_current_get(man);
        if (con)
          {
             E_Zone *zone;
@@ -322,7 +322,7 @@
 
        x = (man->w - error_w) / 2;
        y = (man->h - error_h) / 2;
-       con = e_manager_container_current_get(man);
+       con = e_container_current_get(man);
        if (con)
          {
             E_Zone *zone;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_hints.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -3 -r1.43 -r1.44
--- e_hints.c   3 Jun 2005 16:35:29 -0000       1.43
+++ e_hints.c   3 Jun 2005 19:10:25 -0000       1.44
@@ -44,6 +44,7 @@
             ecore_x_netwm_supported(roots[i], 
ECORE_X_ATOM_NET_CLIENT_LIST_STACKING, 1);
 
             ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_FRAME_EXTENTS, 
1);
+            ecore_x_netwm_supported(roots[i], 
ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS, 1);
 
             ecore_x_netwm_supported(roots[i], ECORE_X_ATOM_NET_SUPPORTED, 1);
             ecore_x_netwm_supported(roots[i], 
ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, 1);
@@ -114,7 +115,7 @@
    /* Set desktop count, desktop names and workarea */
    int                 i = 0, num = 0;
    unsigned int                *areas = NULL;
-   Evas_List           *ml, *cl;
+   Evas_List           *cl;
    Ecore_X_Window      *vroots = NULL;
    /* FIXME: Desktop names not yet implemented */
 /*   char                      **names; */
@@ -154,7 +155,10 @@
      {
        ecore_x_netwm_desk_roots_set(man->root, num, vroots);
      }
+#if 0
+   /* No need for workarea without desktops */
    ecore_x_netwm_desk_workareas_set(man->root, num, areas);
+#endif
 
    free(vroots);
    free(areas);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_manager.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- e_manager.c 3 Jun 2005 16:59:34 -0000       1.29
+++ e_manager.c 3 Jun 2005 19:10:25 -0000       1.30
@@ -9,6 +9,7 @@
 static int _e_manager_cb_window_show_request(void *data, int ev_type, void 
*ev);
 static int _e_manager_cb_window_configure(void *data, int ev_type, void *ev);
 static int _e_manager_cb_key_down(void *data, int ev_type, void *ev);
+static int _e_manager_cb_frame_extents_request(void *data, int ev_type, void 
*ev);
 #if 0 /* use later - maybe */
 static int _e_manager_cb_window_destroy(void *data, int ev_type, void *ev);
 static int _e_manager_cb_window_hide(void *data, int ev_type, void *ev);
@@ -93,6 +94,8 @@
    if (h) man->handlers = evas_list_append(man->handlers, h);
    h = ecore_event_handler_add(ECORE_X_EVENT_KEY_DOWN, _e_manager_cb_key_down, 
man);
    if (h) man->handlers = evas_list_append(man->handlers, h);
+   h = ecore_event_handler_add(ECORE_X_EVENT_FRAME_EXTENTS_REQUEST, 
_e_manager_cb_frame_extents_request, man);
+   if (h) man->handlers = evas_list_append(man->handlers, h);
 
    return man;
 }
@@ -138,18 +141,14 @@
                                                       &id, 1);
                  if (ret == 1)
                    con = e_manager_container_number_get(man, id);
-                 else
-                   con = e_manager_container_current_get(man);
                  if (!con)
-                   e_container_current_get(man);
+                   con = e_container_current_get(man);
                  
                  ret = ecore_x_window_prop_card32_get(windows[i],
                                                       E_ATOM_ZONE,
                                                       &id, 1);
                  if (ret == 1)
                    zone = e_container_zone_number_get(con, id);
-                 else
-                   zone = e_zone_current_get(con);
                  if (!zone)
                    zone = e_zone_current_get(con);
                  ret = ecore_x_window_prop_card32_get(windows[i],
@@ -179,7 +178,7 @@
                   * should be seen */
                  E_Container *con;
                  E_Border *bd;
-                 con = e_manager_container_current_get(man);
+                 con = e_container_current_get(man);
                  bd = e_border_new(con, windows[i], 1);
                  if (bd)
                    e_border_show(bd);
@@ -339,18 +338,6 @@
 }
 
 E_Container *
-e_manager_container_current_get(E_Manager *man)
-{
-   /* FIXME
-    * Currently only one container, but...
-    */
-   E_OBJECT_CHECK_RETURN(man, NULL);
-   E_OBJECT_TYPE_CHECK_RETURN(man, E_MANAGER_TYPE, NULL);
-
-   return (E_Container *)man->containers->data;
-}
-
-E_Container *
 e_manager_container_number_get(E_Manager *man, int num)
 {
    Evas_List *l;
@@ -486,6 +473,42 @@
    return 1;
 }
 
+static int
+_e_manager_cb_frame_extents_request(void *data, int ev_type __UNUSED__, void 
*ev)
+{
+   E_Manager *man;
+   E_Container *con;
+   Ecore_X_Event_Frame_Extents_Request *e;
+   Evas_Object *o;
+   int ok;
+   
+   man = data;
+   con = e_container_current_get(man);
+   e = ev;
+
+   if (ecore_x_window_parent_get(e->win) != man->root) return 1;
+
+   o = edje_object_add(con->bg_evas);
+   ok = e_theme_edje_object_set(o, "base/theme/borders", 
"widgets/border/default/border");
+   if (ok)
+     {
+       Evas_Coord x, y, w, h;
+       int l, r, t, b;
+
+       evas_object_resize(o, 1000, 1000);
+       edje_object_calc_force(o);
+       edje_object_part_geometry_get(o, "client", &x, &y, &w, &h);
+       l = x;
+       r = 1000 - (x + w);
+       t = y;
+       b = 1000 - (y + h);
+
+       ecore_x_netwm_frame_size_set(e->win, l, r, t, b);
+     }
+
+   return 1;
+}
+
 #if 0 /* use later - maybe */
 static int _e_manager_cb_window_destroy(void *data, int ev_type, void 
*ev){return 1;}
 static int _e_manager_cb_window_hide(void *data, int ev_type, void *ev){return 
1;}
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_utils.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_utils.c   30 Apr 2005 04:21:55 -0000      1.6
+++ e_utils.c   3 Jun 2005 19:10:25 -0000       1.7
@@ -81,7 +81,7 @@
 {
    E_Container *con;
    
-   con = e_manager_container_current_get(man);
+   con = e_container_current_get(man);
    if (con)
      {
        E_Zone *zone;




-------------------------------------------------------
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