rpms/xfwm4/devel xfwm4-4.6.1-multi-monitor.patch, NONE, 1.1 xfwm4.spec, 1.39, 1.40

Kevin Fenzi kevin at fedoraproject.org
Tue Dec 15 22:39:13 UTC 2009


Author: kevin

Update of /cvs/extras/rpms/xfwm4/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23159

Modified Files:
	xfwm4.spec 
Added Files:
	xfwm4-4.6.1-multi-monitor.patch 
Log Message:
Add patch for multi monitor issue (xfce bug #5795)


xfwm4-4.6.1-multi-monitor.patch:
 client.c |   17 ++++++++++-------
 client.h |    4 ++--
 2 files changed, 12 insertions(+), 9 deletions(-)

--- NEW FILE xfwm4-4.6.1-multi-monitor.patch ---
>From 455157569524053f1383a1b6fe1fa3f162e6d5cf Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan at xfce.org>
Date: Sat, 10 Oct 2009 18:05:36 +0000
Subject: Keep windows entirely visible on screen change (bug #5795)

---
diff --git a/src/client.c b/src/client.c
index b3181e9..2e6342a 100644
--- a/src/client.c
+++ b/src/client.c
@@ -722,8 +722,7 @@ clientConfigure (Client * c, XWindowChanges * wc, unsigned long mask, unsigned s
          && CONSTRAINED_WINDOW (c)
          && !((c->gravity == StaticGravity) && (c->x == 0) && (c->y == 0)))
     {
-        /* Keep fully visible only on resize */
-        clientConstrainPos (c, (mask & (CWWidth | CWHeight)));
+        clientConstrainPos (c, CFG_KEEP_VISIBLE);
 
         if (c->x != px)
         {
@@ -804,7 +803,7 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask)
 {
     ScreenInfo *screen_info;
     DisplayInfo *display_info;
-    gboolean constrained;
+    unsigned short flags;
 
     g_return_if_fail (c != NULL);
     TRACE ("entering clientMoveResizeWindow");
@@ -843,14 +842,18 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask)
     }
 
     /* Still a move/resize after cleanup? */
-    constrained = FALSE;
+    flags = CFG_REQUEST;
     if (mask & (CWX | CWY | CWWidth | CWHeight))
     {
         if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
         {
             clientRemoveMaximizeFlag (c);
         }
-        constrained = TRUE;
+        flags |= CFG_REQUEST;
+    }
+    if (mask & (CWWidth | CWHeight))
+    {
+        flags |= CFG_KEEP_VISIBLE;
     }
     /*
        Let's say that if the client performs a XRaiseWindow, we show the window if focus
@@ -878,7 +881,7 @@ clientMoveResizeWindow (Client * c, XWindowChanges * wc, unsigned long mask)
         }
     }
     /* And finally, configure the window */
-    clientConfigure (c, wc, mask, (constrained ? CFG_CONSTRAINED : 0) | CFG_REQUEST);
+    clientConfigure (c, wc, mask, flags);
 }
 
 void
@@ -3499,7 +3502,7 @@ clientScreenResize(ScreenInfo *screen_info)
         {
              wc.x = c->x;
              wc.y = c->y;
-             clientConfigure (c, &wc, CWX | CWY, CFG_CONSTRAINED | CFG_REQUEST);
+             clientConfigure (c, &wc, CWX | CWY, CFG_CONSTRAINED | CFG_REQUEST | CFG_KEEP_VISIBLE);
         }
     }
 
diff --git a/src/client.h b/src/client.h
index 58e0e51..1c6c032 100644
--- a/src/client.h
+++ b/src/client.h
@@ -64,7 +64,8 @@
 #define CFG_CONSTRAINED                 (1<<0)
 #define CFG_REQUEST                     (1<<1)
 #define CFG_NOTIFY                      (1<<2)
-#define CFG_FORCE_REDRAW                (1<<3)
+#define CFG_KEEP_VISIBLE                (1<<3)
+#define CFG_FORCE_REDRAW                (1<<4)
 
 #define INCLUDE_HIDDEN                  (1<<0)
 #define INCLUDE_SHADED                  (1<<1)
--
cgit v0.8.2.1


Index: xfwm4.spec
===================================================================
RCS file: /cvs/extras/rpms/xfwm4/devel/xfwm4.spec,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -p -r1.39 -r1.40
--- xfwm4.spec	20 Sep 2009 13:15:23 -0000	1.39
+++ xfwm4.spec	15 Dec 2009 22:39:12 -0000	1.40
@@ -1,12 +1,13 @@
 Summary: Next generation window manager for Xfce
 Name: xfwm4
 Version: 4.6.1
-Release: 5%{?dist}
+Release: 6%{?dist}
 License: GPLv2+
 URL: http://www.xfce.org/
 Source0: http://www.xfce.org/archive/xfce-%{version}/src/xfwm4-%{version}.tar.bz2
 Patch0: xfwm4-4.6.1-nodoka.patch
 Patch1: xfwm4-4.6.1-focus.patch
+Patch2: xfwm4-4.6.1-multi-monitor.patch
 
 Group: User Interface/Desktops
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -32,6 +33,7 @@ xfwm4 is a window manager compatible wit
 # use Nodoka Theme
 %patch0 -p1 -b .nodoka
 %patch1 -p1 -b .focus
+%patch2 -p1 -b .multiwindow
 
 %build
 %configure  --disable-static
@@ -79,6 +81,9 @@ fi
 %{_libexecdir}/xfce4/xfwm4
 
 %changelog
+* Sun Dec 13 2009 Kevin Fenzi <kevin at tummy.com> - 4.6.1-6
+- Add patch for multi monitor issue (xfce bug #5795)
+
 * Sun Sep 20 2009 Christoph Wickert <cwickert at fedoraproject.org> - 4.6.1-5
 - Validate *.desktop files
 




More information about the scm-commits mailing list