Make compiz behave with gnome-terminal (#304051)
This commit is contained in:
parent
417da9b6c2
commit
5bd152c593
|
@ -0,0 +1,75 @@
|
|||
From: Danny Baumann <dannybaumann@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;
|
|
@ -14,7 +14,7 @@ URL: http://www.go-compiz.org
|
|||
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 @@ BuildRequires: dbus-qt-devel
|
|||
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 @@ and other kde integration related stuff
|
|||
%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 @@ rm -rf $RPM_BUILD_ROOT
|
|||
|
||||
|
||||
%changelog
|
||||
* Tue Oct 9 2007 Warren Togami <wtogami@redhat.com> - 0.5.2-14
|
||||
- Make compiz behave with gnome-terminal (#304051)
|
||||
|
||||
* Fri Oct 5 2007 Matthias Clasen <mclasen@redhat.com> - 0.5.2-13
|
||||
- Also install gwd.schemas (#319621)
|
||||
|
||||
|
|
Loading…
Reference in New Issue