Author: olivier
Date: 2008-10-19 21:46:10 +0000 (Sun, 19 Oct 2008)
New Revision: 28313

Modified:
   xfwm4/trunk/ChangeLog
   xfwm4/trunk/NEWS
   xfwm4/trunk/README
   xfwm4/trunk/src/display.c
   xfwm4/trunk/src/display.h
   xfwm4/trunk/src/events.c
   xfwm4/trunk/src/hints.c
   xfwm4/trunk/src/netwm.c
   xfwm4/trunk/src/netwm.h
Log:
Add support for NET_MOVERESIZE_WINDOW

Modified: xfwm4/trunk/ChangeLog
===================================================================
--- xfwm4/trunk/ChangeLog       2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/ChangeLog       2008-10-19 21:46:10 UTC (rev 28313)
@@ -1,3 +1,8 @@
+2008-10-19  olivier
+
+       * src/netwm.h, src/display.c, src/display.h, src/events.c, src/hints.c, 
+         src/netwm.c: Add support for NET_MOVERESIZE_WINDOW
+
 2008-10-18  olivier
 
        * settings-dialogs/xfwm4-tweaks-dialog.glade,

Modified: xfwm4/trunk/NEWS
===================================================================
--- xfwm4/trunk/NEWS    2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/NEWS    2008-10-19 21:46:10 UTC (rev 28313)
@@ -2,6 +2,7 @@
 ======================
 
 - Add support for restart style SmRestartImmediately.
+- Add support for NET_MOVERESIZE_WINDOW
 
 4.5.91 (Xfce 4.6beta1)
 ======================

Modified: xfwm4/trunk/README
===================================================================
--- xfwm4/trunk/README  2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/README  2008-10-19 21:46:10 UTC (rev 28313)
@@ -16,6 +16,7 @@
     NET_DESKTOP_NAMES
     NET_DESKTOP_VIEWPORT
     NET_FRAME_EXTENTS
+    NET_MOVERESIZE_WINDOW
     NET_NUMBER_OF_DESKTOPS
     NET_REQUEST_FRAME_EXTENTS
     NET_SHOWING_DESKTOP

Modified: xfwm4/trunk/src/display.c
===================================================================
--- xfwm4/trunk/src/display.c   2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/src/display.c   2008-10-19 21:46:10 UTC (rev 28313)
@@ -90,6 +90,7 @@
         "_NET_DESKTOP_NAMES",
         "_NET_DESKTOP_VIEWPORT",
         "_NET_FRAME_EXTENTS",
+        "_NET_MOVERESIZE_WINDOW",
         "_NET_NUMBER_OF_DESKTOPS",
         "_NET_REQUEST_FRAME_EXTENTS",
         "_NET_SHOWING_DESKTOP",

Modified: xfwm4/trunk/src/display.h
===================================================================
--- xfwm4/trunk/src/display.h   2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/src/display.h   2008-10-19 21:46:10 UTC (rev 28313)
@@ -184,6 +184,7 @@
     NET_DESKTOP_NAMES,
     NET_DESKTOP_VIEWPORT,
     NET_FRAME_EXTENTS,
+    NET_MOVERESIZE_WINDOW,
     NET_NUMBER_OF_DESKTOPS,
     NET_REQUEST_FRAME_EXTENTS,
     NET_SHOWING_DESKTOP,

Modified: xfwm4/trunk/src/events.c
===================================================================
--- xfwm4/trunk/src/events.c    2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/src/events.c    2008-10-19 21:46:10 UTC (rev 28313)
@@ -2103,6 +2103,11 @@
             TRACE ("client \"%s\" (0x%lx) has received a NET_WM_MOVERESIZE 
event", c->name, c->window);
             clientNetMoveResize (c, ev);
         }
+        else if ((ev->message_type == 
display_info->atoms[NET_MOVERESIZE_WINDOW]) && (ev->format == 32))
+        {
+            TRACE ("client \"%s\" (0x%lx) has received a NET_MOVERESIZE_WINDOW 
event", c->name, c->window);
+            clientNetMoveResizeWindow (c, ev);
+        }
         else if ((ev->message_type == display_info->atoms[NET_ACTIVE_WINDOW]) 
&& (ev->format == 32))
         {
             gboolean source_is_application;

Modified: xfwm4/trunk/src/hints.c
===================================================================
--- xfwm4/trunk/src/hints.c     2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/src/hints.c     2008-10-19 21:46:10 UTC (rev 28313)
@@ -401,6 +401,7 @@
     atoms[i++] = display_info->atoms[NET_DESKTOP_NAMES];
     atoms[i++] = display_info->atoms[NET_DESKTOP_VIEWPORT];
     atoms[i++] = display_info->atoms[NET_FRAME_EXTENTS];
+    atoms[i++] = display_info->atoms[NET_MOVERESIZE_WINDOW];
     atoms[i++] = display_info->atoms[NET_NUMBER_OF_DESKTOPS];
     atoms[i++] = display_info->atoms[NET_REQUEST_FRAME_EXTENTS];
     atoms[i++] = display_info->atoms[NET_SHOWING_DESKTOP];

Modified: xfwm4/trunk/src/netwm.c
===================================================================
--- xfwm4/trunk/src/netwm.c     2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/src/netwm.c     2008-10-19 21:46:10 UTC (rev 28313)
@@ -691,6 +691,35 @@
 }
 
 void
+clientNetMoveResizeWindow (Client * c, XClientMessageEvent * ev)
+{
+    XWindowChanges wc;
+    unsigned long mask;
+    int gravity, client_gravity;
+
+    g_return_if_fail (c != NULL);
+    TRACE ("entering clientNetMoveResizeWindow");
+    TRACE ("client \"%s\" (0x%lx)", c->name, c->window);
+
+    client_gravity = c->gravity;
+    gravity = (ev->data.l[0] & 0xff);
+    if (!gravity)
+    {
+        gravity = c->gravity;
+    }
+
+    wc.x = ev->data.l[1];
+    wc.y = ev->data.l[2];
+    wc.width = ev->data.l[3];
+    wc.height = ev->data.l[4];
+    mask = (ev->data.l[0] & 0xf00) >> 8;
+
+    clientAdjustCoordGravity (c, &mask, &wc);
+    clientConfigure (c, &wc, mask, CFG_REQUEST);
+    c->gravity = client_gravity;
+}
+
+void
 clientUpdateFullscreenState (Client * c)
 {
     ScreenInfo *screen_info;

Modified: xfwm4/trunk/src/netwm.h
===================================================================
--- xfwm4/trunk/src/netwm.h     2008-10-19 21:45:39 UTC (rev 28312)
+++ xfwm4/trunk/src/netwm.h     2008-10-19 21:46:10 UTC (rev 28313)
@@ -39,6 +39,8 @@
                                                                  
XClientMessageEvent *);
 void                     clientNetMoveResize                    (Client *,
                                                                  
XClientMessageEvent *);
+void                     clientNetMoveResizeWindow              (Client *,
+                                                                 
XClientMessageEvent *);
 void                     clientUpdateFullscreenState            (Client *);
 void                     clientGetNetWmType                     (Client *);
 void                     clientGetInitialNetWmDesktop           (Client *);

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to