[Pkg-xfce-commits] r1308 - in desktop/trunk/xfwm4/debian: . patches

corsac-guest at alioth.debian.org corsac-guest at alioth.debian.org
Tue Jun 26 22:08:32 UTC 2007


Author: corsac-guest
Date: 2007-06-26 22:08:32 +0000 (Tue, 26 Jun 2007)
New Revision: 1308

Added:
   desktop/trunk/xfwm4/debian/patches/01_xfwm4-fix-transient-windows.patch
   desktop/trunk/xfwm4/debian/patches/series
Removed:
   desktop/trunk/xfwm4/debian/patches/00list
   desktop/trunk/xfwm4/debian/patches/01_xfwm4-mouse-grab-fix.dpatch
   desktop/trunk/xfwm4/debian/patches/xfwm4-mouse-grab-fix.patch
Modified:
   desktop/trunk/xfwm4/debian/changelog
   desktop/trunk/xfwm4/debian/control
   desktop/trunk/xfwm4/debian/rules
Log:
add patch to fix transient windows not coming on current desktop

Modified: desktop/trunk/xfwm4/debian/changelog
===================================================================
--- desktop/trunk/xfwm4/debian/changelog	2007-06-15 02:45:26 UTC (rev 1307)
+++ desktop/trunk/xfwm4/debian/changelog	2007-06-26 22:08:32 UTC (rev 1308)
@@ -1,3 +1,11 @@
+xfwm4 (4.4.1-2) UNRELEASED; urgency=low
+
+  * debian/patches: 01_xfwm4-fix-transient-windows.patch added to correct
+    behavior with transient windows.                            closes: #367616
+  * switch from dpatch to quilt. 
+
+ -- Yves-Alexis Perez <corsac at corsac.net>  Tue, 26 Jun 2007 23:41:22 +0200
+
 xfwm4 (4.4.1-1) unstable; urgency=low
 
   * New upstream release.

Modified: desktop/trunk/xfwm4/debian/control
===================================================================
--- desktop/trunk/xfwm4/debian/control	2007-06-15 02:45:26 UTC (rev 1307)
+++ desktop/trunk/xfwm4/debian/control	2007-06-26 22:08:32 UTC (rev 1308)
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian Xfce Maintainers <pkg-xfce-devel at lists.alioth.debian.org>
 Uploaders: Martin Loschwitz <madkiss at debian.org>, Emanuele Rocca <ema at debian.org>, Simon Huggins <huggie at earth.li>, Yves-Alexis Perez <corsac at corsac.net>
-Build-Depends: debhelper (>= 4.1.26), libgtk2.0-dev (>= 2.10.6), libxft-dev, xfce4-mcs-manager-dev (>= 4.4.1), dpatch, libxdamage-dev, libxrender-dev, libxcomposite-dev, libxfixes-dev, chrpath
+Build-Depends: debhelper (>= 4.1.26), libgtk2.0-dev (>= 2.10.6), libxft-dev, xfce4-mcs-manager-dev (>= 4.4.1), quilt, libxdamage-dev, libxrender-dev, libxcomposite-dev, libxfixes-dev, chrpath
 Standards-Version: 3.7.2
 
 Package: xfwm4

Deleted: desktop/trunk/xfwm4/debian/patches/00list
===================================================================

Added: desktop/trunk/xfwm4/debian/patches/01_xfwm4-fix-transient-windows.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/01_xfwm4-fix-transient-windows.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/01_xfwm4-fix-transient-windows.patch	2007-06-26 22:08:32 UTC (rev 1308)
@@ -0,0 +1,204 @@
+Index: xfwm4/src/client.c
+===================================================================
+--- xfwm4/src/client.c	(revision 25862)
++++ xfwm4/src/client.c	(revision 25863)
+@@ -2376,7 +2376,7 @@
+ }
+ 
+ static void
+-clientShowSingle (Client * c, gboolean change_state)
++clientShowSingle (Client * c, gboolean deiconify)
+ {
+     ScreenInfo *screen_info;
+     DisplayInfo *display_info;
+@@ -2398,7 +2398,7 @@
+         /* Adjust to urgency state as the window is visible */
+         clientUpdateUrgency (c);
+     }
+-    if (change_state)
++    if (deiconify)
+     {
+         FLAG_UNSET (c->flags, CLIENT_FLAG_ICONIFIED);
+         setWMState (display_info, c->window, NormalState);
+@@ -2407,16 +2407,14 @@
+ }
+ 
+ void
+-clientShow (Client * c, gboolean change_state)
++clientShow (Client * c, gboolean deiconify)
+ {
+     Client *c2;
+     GList *list_of_windows;
+     GList *index;
+ 
+     g_return_if_fail (c != NULL);
+-    TRACE ("entering clientShow \"%s\" (0x%lx) [with %s]",
+-           c->name, c->window,
+-           change_state ? "state change" : "no state change");
++    TRACE ("entering clientShow \"%s\" (0x%lx)", c->name, c->window);
+ 
+     list_of_windows = clientListTransientOrModal (c);
+     for (index = g_list_last (list_of_windows); index; index = g_list_previous (index))
+@@ -2428,7 +2426,7 @@
+         {
+             continue;
+         }
+-        clientShowSingle (c2, change_state);
++        clientShowSingle (c2, deiconify);
+     }
+     g_list_free (list_of_windows);
+ 
+@@ -2437,7 +2435,7 @@
+ }
+ 
+ static void
+-clientHideSingle (Client * c, gboolean change_state)
++clientHideSingle (Client * c, gboolean iconify)
+ {
+     ScreenInfo *screen_info;
+     DisplayInfo *display_info;
+@@ -2458,7 +2456,7 @@
+     }
+     XUnmapWindow (display_info->dpy, c->window);
+     XUnmapWindow (display_info->dpy, c->frame);
+-    if (change_state)
++    if (iconify)
+     {
+         FLAG_SET (c->flags, CLIENT_FLAG_ICONIFIED);
+         setWMState (display_info, c->window, IconicState);
+@@ -2467,14 +2465,14 @@
+ }
+ 
+ void
+-clientHide (Client * c, int ws, gboolean change_state)
++clientHide (Client * c, int ws, gboolean iconify)
+ {
+     Client *c2;
+     GList *list_of_windows;
+     GList *index;
+ 
+     g_return_if_fail (c != NULL);
+-    TRACE ("entering clientHide");
++    TRACE ("entering clientHide \"%s\" (0x%lx)", c->name, c->window);
+ 
+     list_of_windows = clientListTransientOrModal (c);
+     for (index = list_of_windows; index; index = g_list_next (index))
+@@ -2500,7 +2498,12 @@
+              */
+             continue;
+         }
+-        clientHideSingle (c2, change_state);
++
++        if (FLAG_TEST (c2->flags, CLIENT_FLAG_STICKY) && !iconify)
++        {
++            continue;
++        }
++        clientHideSingle (c2, iconify);
+     }
+     g_list_free (list_of_windows);
+ 
+Index: xfwm4/src/netwm.c
+===================================================================
+--- xfwm4/src/netwm.c	(revision 25862)
++++ xfwm4/src/netwm.c	(revision 25863)
+@@ -844,53 +844,56 @@
+     display_info = screen_info->display_info;
+     val = 0;
+ 
+-    /* This is to make sure that transient are shown with their "ancestor" window */
+-    c2 = clientGetTransient (c);
+-    if (c2)
++    if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_SESSION_MANAGED)
++        &&  !FLAG_TEST (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET))
+     {
+         FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
+-        c->win_workspace = c2->win_workspace;
+-        if (FLAG_TEST (c2->flags, CLIENT_FLAG_STICKY))
++        c->win_workspace = c->screen_info->current_ws;
++    }
++    if (getHint (display_info, c->window, NET_WM_DESKTOP, &val))
++    {
++        TRACE ("atom net_wm_desktop detected");
++        if (val == (int) ALL_WORKSPACES)
+         {
+-            FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
+-            c->win_state |= WIN_STATE_STICKY;
++            if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_STICK) && !FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
++            {
++                TRACE ("atom net_wm_desktop specifies window \"%s\" is sticky", c->name);
++                FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
++                c->win_state |= WIN_STATE_STICKY;
++            }
++            c->win_workspace = c->screen_info->current_ws;
+         }
++        else
++        {
++            TRACE ("atom net_wm_desktop specifies window \"%s\" is on desk %i", c->name, (int) val);
++            c->win_workspace = (int) val;
++        }
++        FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
+     }
+-    else
++    else if (getHint (display_info, c->window, WIN_WORKSPACE, &val))
+     {
+-        if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_SESSION_MANAGED)
+-            &&  !FLAG_TEST (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET))
++        TRACE ("atom win_workspace specifies window \"%s\" is on desk %i", c->name, (int) val);
++        c->win_workspace = (int) val;
++        FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
++    }
++
++    /* This is to make sure that transient are shown with their "ancestor" window */
++    if (!FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
++    {
++        c2 = clientGetTransient (c);
++        if (c2)
+         {
+             FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
+-            c->win_workspace = c->screen_info->current_ws;
+-        }
+-        if (getHint (display_info, c->window, NET_WM_DESKTOP, &val))
+-        {
+-            TRACE ("atom net_wm_desktop detected");
+-            if (val == (int) ALL_WORKSPACES)
++            c->win_workspace = c2->win_workspace;
++            if (FLAG_TEST (c2->flags, CLIENT_FLAG_STICKY))
+             {
+-                if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_STICK) && !FLAG_TEST (c->flags, CLIENT_FLAG_STICKY))
+-                {
+-                    TRACE ("atom net_wm_desktop specifies window \"%s\" is sticky", c->name);
+-                    FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
+-                    c->win_state |= WIN_STATE_STICKY;
+-                }
++                FLAG_SET (c->flags, CLIENT_FLAG_STICKY);
++                c->win_state |= WIN_STATE_STICKY;
+                 c->win_workspace = c->screen_info->current_ws;
+             }
+-            else
+-            {
+-                TRACE ("atom net_wm_desktop specifies window \"%s\" is on desk %i", c->name, (int) val);
+-                c->win_workspace = (int) val;
+-            }
+-            FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
+         }
+-        else if (getHint (display_info, c->window, WIN_WORKSPACE, &val))
+-        {
+-            TRACE ("atom win_workspace specifies window \"%s\" is on desk %i", c->name, (int) val);
+-            c->win_workspace = (int) val;
+-            FLAG_SET (c->xfwm_flags, XFWM_FLAG_WORKSPACE_SET);
+-        }
+     }
++
+     TRACE ("initial desktop for window \"%s\" is %i", c->name, c->win_workspace);
+     if (c->win_workspace > c->screen_info->workspace_count - 1)
+     {
+@@ -1259,8 +1262,7 @@
+             c->initial_layer = c2->win_layer;
+             TRACE ("Applied layer is %i", c->initial_layer);
+         }
+-        FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_HAS_HIDE | XFWM_FLAG_HAS_STICK);
+-        FLAG_UNSET (c->flags, CLIENT_FLAG_STICKY);
++        FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_HAS_HIDE);
+     }
+     if ((old_type != c->type) || (c->initial_layer != c->win_layer))
+     {

Deleted: desktop/trunk/xfwm4/debian/patches/01_xfwm4-mouse-grab-fix.dpatch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/01_xfwm4-mouse-grab-fix.dpatch	2007-06-15 02:45:26 UTC (rev 1307)
+++ desktop/trunk/xfwm4/debian/patches/01_xfwm4-mouse-grab-fix.dpatch	2007-06-26 22:08:32 UTC (rev 1308)
@@ -1,59 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01_xfwm4-mouse-grab-fix.dpatch by  <corsac at corsac.net>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Patch to fix mouse grab
-
- at DPATCH@
-
-diff -Naur xfwm4-r22409/src/client.c xfwm4-mouse-grab-fix/src/client.c
---- xfwm4-r22409/src/client.c	2006-07-11 23:47:05.000000000 +0200
-+++ xfwm4-mouse-grab-fix/src/client.c	2006-07-12 09:24:35.000000000 +0200
-@@ -3732,7 +3732,7 @@
-     }
-     clientConfigure (c, &wc, changes, NO_CFG_FLAG);
- 
--    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabKeyboard (screen_info, CurrentTime);
-     if (!passdata.released)
-     {
-         /* If this is a drag-move, wait for the button to be released.
-@@ -3742,7 +3742,7 @@
-         gtk_main ();
-         eventFilterPop (display_info->xfilter);
-     }
--    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabPointer (screen_info, CurrentTime);
-     if (passdata.grab && screen_info->params->box_move)
-     {
-         myDisplayUngrabServer (display_info);
-@@ -4243,7 +4243,7 @@
-     wc.height = c->height;
-     clientConfigure (c, &wc, CWX | CWY | CWHeight | CWWidth, CFG_NOTIFY);
- 
--    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabKeyboard (screen_info, CurrentTime);
-     if (!passdata.released)
-     {
-         /* If this is a drag-resize, wait for the button to be released.
-@@ -4253,7 +4253,7 @@
-         gtk_main ();
-         eventFilterPop (display_info->xfilter);
-     }
--    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabPointer (screen_info, CurrentTime);
-     if (passdata.grab && screen_info->params->box_resize)
-     {
-         myDisplayUngrabServer (display_info);
-@@ -4445,8 +4445,8 @@
-         tabwinDestroy (passdata.tabwin);
-         g_free (passdata.tabwin);
-     }
--    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
--    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabKeyboard (screen_info, CurrentTime);
-+    myScreenUngrabPointer (screen_info, CurrentTime);
- 
-     if (passdata.c)
-     {
-

Added: desktop/trunk/xfwm4/debian/patches/series
===================================================================
--- desktop/trunk/xfwm4/debian/patches/series	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/series	2007-06-26 22:08:32 UTC (rev 1308)
@@ -0,0 +1 @@
+01_xfwm4-fix-transient-windows.patch

Deleted: desktop/trunk/xfwm4/debian/patches/xfwm4-mouse-grab-fix.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/xfwm4-mouse-grab-fix.patch	2007-06-15 02:45:26 UTC (rev 1307)
+++ desktop/trunk/xfwm4/debian/patches/xfwm4-mouse-grab-fix.patch	2007-06-26 22:08:32 UTC (rev 1308)
@@ -1,51 +0,0 @@
-diff -Naur xfwm4-r22409/src/client.c xfwm4-mouse-grab-fix/src/client.c
---- xfwm4-r22409/src/client.c	2006-07-11 23:47:05.000000000 +0200
-+++ xfwm4-mouse-grab-fix/src/client.c	2006-07-12 09:24:35.000000000 +0200
-@@ -3732,7 +3732,7 @@
-     }
-     clientConfigure (c, &wc, changes, NO_CFG_FLAG);
- 
--    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabKeyboard (screen_info, CurrentTime);
-     if (!passdata.released)
-     {
-         /* If this is a drag-move, wait for the button to be released.
-@@ -3742,7 +3742,7 @@
-         gtk_main ();
-         eventFilterPop (display_info->xfilter);
-     }
--    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabPointer (screen_info, CurrentTime);
-     if (passdata.grab && screen_info->params->box_move)
-     {
-         myDisplayUngrabServer (display_info);
-@@ -4243,7 +4243,7 @@
-     wc.height = c->height;
-     clientConfigure (c, &wc, CWX | CWY | CWHeight | CWWidth, CFG_NOTIFY);
- 
--    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabKeyboard (screen_info, CurrentTime);
-     if (!passdata.released)
-     {
-         /* If this is a drag-resize, wait for the button to be released.
-@@ -4253,7 +4253,7 @@
-         gtk_main ();
-         eventFilterPop (display_info->xfilter);
-     }
--    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabPointer (screen_info, CurrentTime);
-     if (passdata.grab && screen_info->params->box_resize)
-     {
-         myDisplayUngrabServer (display_info);
-@@ -4445,8 +4445,8 @@
-         tabwinDestroy (passdata.tabwin);
-         g_free (passdata.tabwin);
-     }
--    myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
--    myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-+    myScreenUngrabKeyboard (screen_info, CurrentTime);
-+    myScreenUngrabPointer (screen_info, CurrentTime);
- 
-     if (passdata.c)
-     {
-

Modified: desktop/trunk/xfwm4/debian/rules
===================================================================
--- desktop/trunk/xfwm4/debian/rules	2007-06-15 02:45:26 UTC (rev 1307)
+++ desktop/trunk/xfwm4/debian/rules	2007-06-26 22:08:32 UTC (rev 1308)
@@ -9,8 +9,17 @@
 	CFLAGS += -O2
 endif
 
-include /usr/share/dpatch/dpatch.make
+patch: patch-stamp
+patch-stamp:
+	dh_testdir
+	QUILT_PATCHES=debian/patches quilt push -a || test $$? = 2
+	touch patch-stamp
 
+unpatch:
+	dh_testdir
+	QUILT_PATCHES=debian/patches quilt pop -a -R || test $$? = 2
+	rm -rf .pc patch-stamp
+
 configure: patch configure-stamp
 configure-stamp:
 




More information about the Pkg-xfce-commits mailing list