Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        ewmh.c gnome.c hints.c hints.h icccm.c 


Log Message:
Don't use atom name in client message processing.

===================================================================
RCS file: /cvs/e/e16/e/src/ewmh.c,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -3 -r1.114 -r1.115
--- ewmh.c      15 Apr 2007 14:39:07 -0000      1.114
+++ ewmh.c      15 Apr 2007 14:54:11 -0000      1.115
@@ -846,7 +846,7 @@
    return -1;
 }
 
-void
+int
 EWMH_ProcessClientClientMessage(EWin * ewin, XClientMessageEvent * ev)
 {
    int                 source;
@@ -858,14 +858,16 @@
        ts = ev->data.l[1];
 /*     cwin = ev->data.l[2]; */
        EwinOpActivate(ewin, source, 1);
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_CLOSE_WINDOW)
+   if (ev->message_type == ECORE_X_ATOM_NET_CLOSE_WINDOW)
      {
 /*     ts = ev->data.l[0]; */
        source = OPSRC(ev->data.l[1]);
        EwinOpClose(ewin, source);
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_WM_DESKTOP)
+   if (ev->message_type == ECORE_X_ATOM_NET_WM_DESKTOP)
      {
        source = OPSRC(ev->data.l[1]);
        if ((unsigned)ev->data.l[0] == 0xFFFFFFFF)
@@ -880,8 +882,9 @@
             else
                EwinMoveToDesktop(ewin, DeskGet(ev->data.l[0]));
          }
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_WM_STATE)
+   if (ev->message_type == ECORE_X_ATOM_NET_WM_STATE)
      {
        /*
         * It is assumed(!) that only the MAXIMIZE H/V ones can be set
@@ -949,20 +952,18 @@
                  maxh = do_set(maxh, action);
               }
 
-            if ((ewin->state.maximized_horz == maxh) &&
-                (ewin->state.maximized_vert == maxv))
-               goto done;
-
-            func(ewin, "available");
-            EWMH_SetWindowState(ewin);
+            if ((ewin->state.maximized_horz != maxh) ||
+                (ewin->state.maximized_vert != maxv))
+              {
+                 func(ewin, "available");
+                 EWMH_SetWindowState(ewin);
+              }
          }
        else if (atom == ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN)
          {
             action = do_set(ewin->state.fullscreen, action);
-            if (ewin->state.fullscreen == action)
-               goto done;
-
-            EwinOpFullscreen(ewin, source, action);
+            if (ewin->state.fullscreen != action)
+               EwinOpFullscreen(ewin, source, action);
          }
        else if (atom == ECORE_X_ATOM_NET_WM_STATE_ABOVE)
          {
@@ -986,8 +987,9 @@
             ewin->state.attention = action;
             EWMH_SetWindowState(ewin);
          }
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_MOVERESIZE_WINDOW)
+   if (ev->message_type == ECORE_X_ATOM_NET_MOVERESIZE_WINDOW)
      {
        int                 flags, grav, x, y, w, h;
 
@@ -1001,8 +1003,9 @@
        h = (flags & 0x0800) ? ev->data.l[4] : ewin->client.h;
 /*     source = OPSRC((flags & 0xF000) >> 12); */
        EwinMoveResizeWithGravity(ewin, x, y, w, h, grav);
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_WM_MOVERESIZE)
+   if (ev->message_type == ECORE_X_ATOM_NET_WM_MOVERESIZE)
      {
 /*     source = OPSRC(ev->data.l[4]); */
        switch (ev->data.l[2])
@@ -1028,47 +1031,48 @@
             /* doMove(NULL); */
             break;
          }
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_RESTACK_WINDOW)
+   if (ev->message_type == ECORE_X_ATOM_NET_RESTACK_WINDOW)
      {
 /*     source = OPSRC(ev->data.l[0]); */
        /* FIXME - Implement */
+       return 1;
      }
 
- done:
-   ;
+   return 0;
 }
 
-void
+int
 EWMH_ProcessRootClientMessage(XClientMessageEvent * ev)
 {
    if (ev->message_type == ECORE_X_ATOM_NET_CURRENT_DESKTOP)
      {
        DeskGotoNum(ev->data.l[0]);
-       goto done;
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_DESKTOP_VIEWPORT)
+   if (ev->message_type == ECORE_X_ATOM_NET_DESKTOP_VIEWPORT)
      {
        DeskCurrentGotoArea(ev->data.l[0] / VRoot.w, ev->data.l[1] / VRoot.h);
-       goto done;
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_SHOWING_DESKTOP)
+   if (ev->message_type == ECORE_X_ATOM_NET_SHOWING_DESKTOP)
      {
        EwinsShowDesktop(ev->data.l[0]);
-       goto done;
+       return 1;
      }
 #if 0                          /* These messages are sent to dedicated window 
*/
-   else if (ev->message_type == ECORE_X_ATOM_NET_STARTUP_INFO_BEGIN)
+   if (ev->message_type == ECORE_X_ATOM_NET_STARTUP_INFO_BEGIN)
      {
        Eprintf("ECORE_X_ATOM_NET_STARTUP_INFO_BEGIN: %lx: %s\n",
                ev->window, (char *)ev->data.l);
-       goto done;
+       return 1;
      }
-   else if (ev->message_type == ECORE_X_ATOM_NET_STARTUP_INFO)
+   if (ev->message_type == ECORE_X_ATOM_NET_STARTUP_INFO)
      {
        Eprintf("ECORE_X_ATOM_NET_STARTUP_INFO      : %lx: %s\n",
                ev->window, (char *)ev->data.l);
-       goto done;
+       return 1;
      }
 #endif
 
@@ -1082,6 +1086,7 @@
        if (ev->message_type == ECORE_X_ATOM_NET_WM_DESKTOP)
          {
             ecore_x_netwm_desktop_set(ev->window, ev->data.l[0]);
+            return 1;
          }
        else if (ev->message_type == ECORE_X_ATOM_NET_WM_STATE)
          {
@@ -1096,11 +1101,9 @@
                                                     ECORE_X_ATOM_NET_WM_STATE,
                                                     ev->data.l[2],
                                                     ev->data.l[0]);
+            return 1;
          }
-       goto done;
      }
 #endif
-
- done:
-   ;
+   return 0;
 }
===================================================================
RCS file: /cvs/e/e16/e/src/gnome.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -3 -r1.71 -r1.72
--- gnome.c     15 Apr 2007 14:39:07 -0000      1.71
+++ gnome.c     15 Apr 2007 14:54:11 -0000      1.72
@@ -750,7 +750,7 @@
    }
 }
 
-void
+int
 GNOME_ProcessClientClientMessage(EWin * ewin, XClientMessageEvent * event)
 {
    static Atom         a4 = 0, a5 = 0;
@@ -768,7 +768,7 @@
        EoSetLayer(ewin, val);
        ecore_x_window_prop_card32_set(EwinGetClientXwin(ewin), a4, &val, 1);
        EwinRaise(ewin);
-       return;
+       return 1;
      }
    if (event->message_type == a5)
      {
@@ -798,11 +798,13 @@
                         (event->data.l[1] & WIN_STATE_SHADED) != 0);
          }
        HintsSetWindowState(ewin);
-       return;
+       return 1;
      }
+
+   return 0;
 }
 
-void
+int
 GNOME_ProcessRootClientMessage(XClientMessageEvent * event)
 {
    static Atom         a2 = 0, a3 = 0;
@@ -815,11 +817,13 @@
    if (event->message_type == a2)
      {
        DeskCurrentGotoArea(event->data.l[0], event->data.l[1]);
-       return;
+       return 1;
      }
    if (event->message_type == a3)
      {
        DeskGotoNum(event->data.l[0]);
-       return;
+       return 1;
      }
+
+   return 0;
 }
===================================================================
RCS file: /cvs/e/e16/e/src/hints.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -3 -r1.80 -r1.81
--- hints.c     15 Apr 2007 14:34:46 -0000      1.80
+++ hints.c     15 Apr 2007 14:54:11 -0000      1.81
@@ -27,6 +27,7 @@
 #include "borders.h"           /* FIXME - Should not be here */
 #include "desktops.h"          /* FIXME - Should not be here */
 #include "e16-ecore_hints.h"
+#include "events.h"
 #include "ewins.h"
 #include "hints.h"
 #include "xwin.h"
@@ -268,44 +269,39 @@
 void
 HintsProcessClientClientMessage(EWin * ewin, XClientMessageEvent * event)
 {
-   char               *name;
-
-   name = XGetAtomName(disp, event->message_type);
-   if (name == NULL)
+   if (ICCCM_ProcessClientClientMessage(ewin, event))
+      return;
+   if (EWMH_ProcessClientClientMessage(ewin, event))
       return;
-
-   if (!memcmp(name, "WM_", 3))
-      ICCCM_ProcessClientClientMessage(ewin, event);
-   else if (!memcmp(name, "_NET_", 5))
-      EWMH_ProcessClientClientMessage(ewin, event);
 #if ENABLE_GNOME
-   else if (!memcmp(name, "_WIN_", 5))
-      GNOME_ProcessClientClientMessage(ewin, event);
+   if (GNOME_ProcessClientClientMessage(ewin, event))
+      return;
 #endif
-   XFree(name);
+   if (EDebug(1))
+     {
+       Eprintf("HintsProcessClientClientMessage:\n");
+       EventShow((XEvent *) event);
+     }
 }
 
 void
 HintsProcessRootClientMessage(XClientMessageEvent * event)
 {
-   char               *name;
-
-   name = XGetAtomName(disp, event->message_type);
-   if (name == NULL)
-      return;
-
 #if 0
-   if (!memcmp(name, "WM_", 3))
-      ICCCM_ProcessRootClientMessage(event);
-   else
+   if (ICCCM_ProcessRootClientMessage(event))
+      return;
 #endif
-   if (!memcmp(name, "_NET_", 5))
-      EWMH_ProcessRootClientMessage(event);
+   if (EWMH_ProcessRootClientMessage(event))
+      return;
 #if ENABLE_GNOME
-   else if (!memcmp(name, "_WIN_", 5))
-      GNOME_ProcessRootClientMessage(event);
+   if (GNOME_ProcessRootClientMessage(event))
+      return;
 #endif
-   XFree(name);
+   if (EDebug(1))
+     {
+       Eprintf("HintsProcessRootClientMessage:\n");
+       EventShow((XEvent *) event);
+     }
 }
 
 Pixmap
===================================================================
RCS file: /cvs/e/e16/e/src/hints.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- hints.h     15 Apr 2007 14:34:46 -0000      1.12
+++ hints.h     15 Apr 2007 14:54:11 -0000      1.13
@@ -52,10 +52,10 @@
 void                EWMH_GetWindowHints(EWin * ewin);
 void                EWMH_DelWindowHints(const EWin * ewin);
 void                EWMH_ProcessPropertyChange(EWin * ewin, Atom atom_change);
-void                EWMH_ProcessClientClientMessage(EWin * ewin,
+int                 EWMH_ProcessClientClientMessage(EWin * ewin,
                                                    XClientMessageEvent *
                                                    event);
-void                EWMH_ProcessRootClientMessage(XClientMessageEvent * event);
+int                 EWMH_ProcessRootClientMessage(XClientMessageEvent * event);
 
 #if ENABLE_GNOME
 /* gnome.c */
@@ -71,10 +71,10 @@
 void                GNOME_GetHints(EWin * ewin, Atom atom_change);
 void                GNOME_DelHints(const EWin * ewin);
 void                GNOME_SetHints(Window win_wm_check);
-void                GNOME_ProcessClientClientMessage(EWin * ewin,
+int                 GNOME_ProcessClientClientMessage(EWin * ewin,
                                                     XClientMessageEvent *
                                                     event);
-void                GNOME_ProcessRootClientMessage(XClientMessageEvent * 
event);
+int                 GNOME_ProcessRootClientMessage(XClientMessageEvent * 
event);
 #endif
 
 /* hints.c */
@@ -119,7 +119,7 @@
 
 /* icccm.c */
 void                ICCCM_Init(void);
-void                ICCCM_ProcessClientClientMessage(EWin * ewin,
+int                 ICCCM_ProcessClientClientMessage(EWin * ewin,
                                                     XClientMessageEvent *
                                                     event);
 void                ICCCM_GetTitle(EWin * ewin, Atom atom_change);
===================================================================
RCS file: /cvs/e/e16/e/src/icccm.c,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -3 -r1.137 -r1.138
--- icccm.c     15 Apr 2007 14:34:46 -0000      1.137
+++ icccm.c     15 Apr 2007 14:54:11 -0000      1.138
@@ -53,7 +53,7 @@
      }
 }
 
-void
+int
 ICCCM_ProcessClientClientMessage(EWin * ewin, XClientMessageEvent * event)
 {
    Atom                a;
@@ -64,13 +64,17 @@
          {
             EwinIconify(ewin);
          }
+       return 1;
      }
-   else if (event->message_type == ECORE_X_ATOM_WM_PROTOCOLS)
+   if (event->message_type == ECORE_X_ATOM_WM_PROTOCOLS)
      {
        a = event->data.l[0];
        if (a == ECORE_X_ATOM_WM_DELETE_WINDOW && event->window == VRoot.xwin)
           SessionExit(EEXIT_EXIT, NULL);
+       return 1;
      }
+
+   return 0;
 }
 
 void



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to