rpms/compiz/devel compiz-synthetic-configure-notify-events.patch, NONE, 1.1 compiz.spec, 1.104, 1.105

Warren Togami (wtogami) fedora-extras-commits at redhat.com
Tue Oct 9 20:30:06 UTC 2007


Author: wtogami

Update of /cvs/pkgs/rpms/compiz/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10932

Modified Files:
	compiz.spec 
Added Files:
	compiz-synthetic-configure-notify-events.patch 
Log Message:
Make compiz behave with gnome-terminal (#304051)


compiz-synthetic-configure-notify-events.patch:

--- NEW FILE compiz-synthetic-configure-notify-events.patch ---
From: Danny Baumann <dannybaumann at web.de>
Date: Tue, 2 Oct 2007 10:17:42 +0000 (+0200)
Subject: Send synthetic configure notify events where needed according to ICCCM chapter 4 ...
X-Git-Url: http://gitweb.opencompositing.org/?p=compiz;a=commitdiff_plain;h=d301a011471469fea70f3d3d519ed47ead1f8e22;hp=d5f647f57219b8413e3d964a214570a1ca12bac3

Send synthetic configure notify events where needed according to ICCCM chapter 4.1.5.
Specifically, we have to send them when
a) moving or restacking a window without resizing it
b) not reacting to ConfigureRequest events.
---

diff --git a/src/window.c b/src/window.c
index 253976c..bbcdbeb 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2805,6 +2805,8 @@ syncWindowPosition (CompWindow *w)
     w->serverY = w->attrib.y;
 
     XMoveWindow (w->screen->display->display, w->id, w->attrib.x, w->attrib.y);
+    /* we moved without resizing, so we have to send a configure notify */
+    sendConfigureNotify (w);
 
     if (w->frame)
 	XMoveWindow (w->screen->display->display, w->frame,
@@ -3347,8 +3349,16 @@ configureXWindow (CompWindow	 *w,
     if (valueMask & CWBorderWidth)
 	w->serverBorderWidth = xwc->border_width;
 
-    XConfigureWindow (w->screen->display->display, w->id,
-		      valueMask, xwc);
+    if (valueMask)
+    {
+	XConfigureWindow (w->screen->display->display, w->id, valueMask, xwc);
+    	if (!(valueMask & (CWWidth | CWHeight)))
+	{
+	    /* we have to send a configure notify event if we move or restack
+	       a window without resizing it according to ICCCM 4.1.5 */
+    	    sendConfigureNotify (w);
+	}
+    }
 
     if (w->frame && (valueMask & (CWSibling | CWStackMode)))
 	XConfigureWindow (w->screen->display->display, w->frame,
@@ -3795,6 +3805,18 @@ moveResizeWindow (CompWindow     *w,
 	}
     }
 
+    if (xwcm & CWX)
+    {
+	if (xwc->x == w->serverX)
+	    xwcm &= ~CWX;
+    }
+
+    if (xwcm & CWY)
+    {
+	if (xwc->y == w->serverY)
+	    xwcm &= ~CWY;
+    }
+
     if (xwcm & CWBorderWidth)
     {
 	if (xwc->border_width == w->serverBorderWidth)
@@ -3820,6 +3842,12 @@ moveResizeWindow (CompWindow     *w,
 	sendSyncRequest (w);
 
     configureXWindow (w, xwcm, xwc);
+    if (!xwcm)
+    {
+	/* we have to send a configure notify on ConfigureRequest events if
+	   we decide not to do anything according to ICCCM 4.1.5 */
+	sendConfigureNotify (w);
+    }
 
     if (placed)
 	w->placed = TRUE;


Index: compiz.spec
===================================================================
RCS file: /cvs/pkgs/rpms/compiz/devel/compiz.spec,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -r1.104 -r1.105
--- compiz.spec	5 Oct 2007 14:47:15 -0000	1.104
+++ compiz.spec	9 Oct 2007 20:29:33 -0000	1.105
@@ -14,7 +14,7 @@
 License:        X11/MIT/GPL
 Group:          User Interface/Desktops
 Version:        0.5.2
-Release:        13.%{snapshot}%{?dist}
+Release:        14.%{snapshot}%{?dist}
 
 Summary:        OpenGL window and compositing manager
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -47,6 +47,7 @@
 Source0:        %{name}-%{snapshot}.tar.gz
 Source1:	desktop-effects-%{dialogversion}.tar.bz2
 
+Patch0:   compiz-synthetic-configure-notify-events.patch
 # Patches that are not upstream
 Patch103: composite-cube-logo.patch
 Patch105: fedora-logo.patch
@@ -108,6 +109,7 @@
 %setup -q -T -b1 -n desktop-effects-%{dialogversion}
 %setup -q  -n compiz-%{snapshot}
 
+%patch0 -p1 -b .synthetic-configure-notify-events
 %patch103 -p1 -b .composite-cube-logo
 %if 0%{?fedora}
 %patch105 -p1 -b .fedora-logo
@@ -273,6 +275,9 @@
 
 
 %changelog
+* Tue Oct  9 2007 Warren Togami <wtogami at redhat.com> - 0.5.2-14
+- Make compiz behave with gnome-terminal (#304051)
+
 * Fri Oct  5 2007 Matthias Clasen <mclasen at redhat.com> - 0.5.2-13
 - Also install gwd.schemas (#319621)
 




More information about the scm-commits mailing list