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