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

corsac at alioth.debian.org corsac at alioth.debian.org
Thu Oct 2 14:04:57 UTC 2008


Author: corsac
Date: 2008-10-02 14:04:56 +0000 (Thu, 02 Oct 2008)
New Revision: 2342

Added:
   desktop/trunk/xfwm4/debian/patches/06_resize-overlay-on-randr-notif.patch
   desktop/trunk/xfwm4/debian/patches/07_overlay-counting-bug.patch
   desktop/trunk/xfwm4/debian/patches/08_only-count-fullscreen-overlay.patch
   desktop/trunk/xfwm4/debian/patches/09_set-monitor-menu.patch
   desktop/trunk/xfwm4/debian/patches/10_fix-artifacts-resize.patch
   desktop/trunk/xfwm4/debian/patches/11_fix-maximization-claim.patch
   desktop/trunk/xfwm4/debian/patches/12_fix-iconization.patch
Modified:
   desktop/trunk/xfwm4/debian/changelog
   desktop/trunk/xfwm4/debian/patches/series
Log:
* debian/patches, added:
  - 06_resize-overlay-on-randr-notif
    Resize overlays on XRandr notification. (r26969, Xfce #3763)
  - 07_overlay-counting-bug
    Fix a bug in overlays counting causing xscreensaver window to remain
    invisible. (r26973, Xfce #3849)                           closes: #483070
  - 08_only-count-fullscreen-overlay
    Make sure to count only the fullscreen overlays to be extra safe. (r26978)
  - 09_set-monitor-menu
    Set monitor when positionning menu (r27226, Xfce #4162)
  - 10_fix-artifacts-resize
    rework the resize of windows to avoid hidden portions to become visible,
    add a hook to update the compositor as relying on configure notify 
    introduces lags and flickers (r27454, Xfce #4283)
  - 11_fix-maximization-claim
    Fix NET_WM_STATE claiming maximization vertical and horizontal even if
    only horizontal of vertical is actually set (r27996, Xfce #3969)
  - 12_fix-iconization
    Loosen the rule that prevents an application from iconifying itself when
    skip_taskbar is set (r28012, Xfce #4434).                 closes: #491817

Modified: desktop/trunk/xfwm4/debian/changelog
===================================================================
--- desktop/trunk/xfwm4/debian/changelog	2008-10-01 21:27:02 UTC (rev 2341)
+++ desktop/trunk/xfwm4/debian/changelog	2008-10-02 14:04:56 UTC (rev 2342)
@@ -1,3 +1,28 @@
+xfwm4 (4.4.2-6) UNRELEASED; urgency=low
+
+  * debian/patches, added:
+    - 06_resize-overlay-on-randr-notif
+      Resize overlays on XRandr notification. (r26969, Xfce #3763)
+    - 07_overlay-counting-bug
+      Fix a bug in overlays counting causing xscreensaver window to remain
+      invisible. (r26973, Xfce #3849)                           closes: #483070
+    - 08_only-count-fullscreen-overlay
+      Make sure to count only the fullscreen overlays to be extra safe. (r26978)
+    - 09_set-monitor-menu
+      Set monitor when positionning menu (r27226, Xfce #4162)
+    - 10_fix-artifacts-resize
+      rework the resize of windows to avoid hidden portions to become visible,
+      add a hook to update the compositor as relying on configure notify 
+      introduces lags and flickers (r27454, Xfce #4283)
+    - 11_fix-maximization-claim
+      Fix NET_WM_STATE claiming maximization vertical and horizontal even if
+      only horizontal of vertical is actually set (r27996, Xfce #3969)
+    - 12_fix-iconization
+      Loosen the rule that prevents an application from iconifying itself when
+      skip_taskbar is set (r28012, Xfce #4434).                 closes: #491817
+
+ -- Yves-Alexis Perez <corsac at debian.org>  Thu, 02 Oct 2008 15:58:57 +0200
+
 xfwm4 (4.4.2-5) unstable; urgency=low
 
   * switch to triggers:

Added: desktop/trunk/xfwm4/debian/patches/06_resize-overlay-on-randr-notif.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/06_resize-overlay-on-randr-notif.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/06_resize-overlay-on-randr-notif.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,19 @@
+Index: xfce_4_4/src/compositor.c
+===================================================================
+--- xfce_4_4/src/compositor.c	(revision 26968)
++++ xfce_4_4/src/compositor.c	(revision 26969)
+@@ -3063,7 +3063,13 @@
+     {
+         return;
+     }
+-
++#if HAVE_OVERLAYS
++    if (display_info->have_overlays)
++    {
++        XResizeWindow (display_info->dpy, screen_info->overlay, screen_info->width, screen_info->height);
++        XResizeWindow (display_info->dpy, screen_info->root_overlay, screen_info->width, screen_info->height);
++    }
++#endif
+     if (screen_info->rootBuffer)
+     {
+         XRenderFreePicture (display_info->dpy, screen_info->rootBuffer);

Added: desktop/trunk/xfwm4/debian/patches/07_overlay-counting-bug.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/07_overlay-counting-bug.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/07_overlay-counting-bug.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,44 @@
+Index: xfce_4_4/src/compositor.c
+===================================================================
+--- xfce_4_4/src/compositor.c	(revision 26972)
++++ xfce_4_4/src/compositor.c	(revision 26973)
+@@ -1757,18 +1757,15 @@
+     DisplayInfo *display_info;
+ 
+     g_return_if_fail (cw != NULL);
+-    TRACE ("entering map_win 0x%lx\n", cw->id);
++    TRACE ("entering map_win 0x%lx", cw->id);
+ 
+     screen_info = cw->screen_info;
+     display_info = screen_info->display_info;
+ 
+     if (!WIN_IS_REDIRECTED(cw))
+     {
+-        /* To be safe, we count only the fullscreen overlays */
+-        if (WIN_IS_FULLSCREEN(cw) && WIN_IS_VIEWABLE (cw))
+-        {
+-            screen_info->wins_unredirected++;
+-        }
++        screen_info->wins_unredirected++;
++        TRACE ("Mapping unredirected window 0x%lx, wins_unredirected increased to %i", cw->id, screen_info->wins_unredirected);
+ #if HAVE_OVERLAYS
+         if ((screen_info->wins_unredirected == 1) && (display_info->have_overlays))
+         {
+@@ -1819,7 +1816,7 @@
+     screen_info = cw->screen_info;
+     display_info = screen_info->display_info;
+ 
+-    if (!WIN_IS_REDIRECTED(cw) && WIN_IS_FULLSCREEN(cw) && (screen_info->wins_unredirected > 0))
++    if (!WIN_IS_REDIRECTED(cw) && (screen_info->wins_unredirected > 0))
+     {
+         screen_info->wins_unredirected--;
+         TRACE ("Unmapped window 0x%lx, wins_unredirected decreased to %i", cw->id, screen_info->wins_unredirected);
+@@ -1844,6 +1841,8 @@
+ 
+     cw->viewable = FALSE;
+     cw->damaged = FALSE;
++    cw->redirected = TRUE;
++
+     free_win_data (cw, FALSE);
+ }
+ 

Added: desktop/trunk/xfwm4/debian/patches/08_only-count-fullscreen-overlay.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/08_only-count-fullscreen-overlay.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/08_only-count-fullscreen-overlay.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,85 @@
+Index: xfce_4_4/src/compositor.c
+===================================================================
+--- xfce_4_4/src/compositor.c	(revision 26977)
++++ xfce_4_4/src/compositor.c	(revision 26978)
+@@ -77,8 +77,8 @@
+ #define WIN_IS_NATIVE_OPAQUE(cw)        ((cw->native_opacity) && !WIN_IS_ARGB(cw))
+ #define WIN_IS_FULLSCREEN(cw)           ((cw->attr.x <= 0) && \
+                                            (cw->attr.y <= 0) && \
+-                                           (cw->attr.width >= cw->screen_info->width) && \
+-                                           (cw->attr.height >= cw->screen_info->height))
++                                           (cw->attr.width + 2 * cw->attr.border_width >= cw->screen_info->width) && \
++                                           (cw->attr.height + 2 * cw->attr.border_width >= cw->screen_info->height))
+ #define WIN_IS_SHAPED(cw)               ((WIN_HAS_CLIENT(cw) && FLAG_TEST (cw->c->flags, CLIENT_FLAG_HAS_SHAPE)) || \
+                                            (WIN_IS_OVERRIDE(cw) && (cw->shaped)))
+ #define WIN_IS_VIEWABLE(cw)             (cw->viewable)
+@@ -101,6 +101,7 @@
+     gboolean viewable;
+     gboolean shaped;
+     gboolean redirected;
++    gboolean fulloverlay;
+     gboolean argb;
+     gboolean skipped;
+     gboolean native_opacity;
+@@ -1764,8 +1765,19 @@
+ 
+     if (!WIN_IS_REDIRECTED(cw))
+     {
+-        screen_info->wins_unredirected++;
+-        TRACE ("Mapping unredirected window 0x%lx, wins_unredirected increased to %i", cw->id, screen_info->wins_unredirected);
++        cw->fulloverlay = WIN_IS_FULLSCREEN(cw);
++        if (cw->fulloverlay)
++        {
++            /*
++             * To be safe, we only count the fullscreen un-redirected windows.
++             * We do not want a smaller override redirect such as a tooltip
++             * for example to prevent the overlay to be remapped and leave
++             * a black screen until the tooltip is unmapped...
++             */
++            screen_info->wins_unredirected++;
++            TRACE ("Mapping fullscreen window 0x%lx, wins_unredirected increased to %i", cw->id, screen_info->wins_unredirected);
++        }
++        TRACE ("Mapping unredirected window 0x%lx, wins_unredirected is now %i", cw->id, screen_info->wins_unredirected);
+ #if HAVE_OVERLAYS
+         if ((screen_info->wins_unredirected == 1) && (display_info->have_overlays))
+         {
+@@ -1797,7 +1809,7 @@
+ 
+         if (cw == top)
+         {
+-            TRACE ("Toplevel window 0x%lx is fullscreen, unredirecting", cw->id);
++            TRACE ("Unredirecting toplevel window 0x%lx", cw->id);
+             unredirect_win (cw);
+         }
+     }
+@@ -1817,8 +1829,12 @@
+ 
+     if (!WIN_IS_REDIRECTED(cw) && (screen_info->wins_unredirected > 0))
+     {
+-        screen_info->wins_unredirected--;
+-        TRACE ("Unmapped window 0x%lx, wins_unredirected decreased to %i", cw->id, screen_info->wins_unredirected);
++        if (cw->fulloverlay)
++        {
++            screen_info->wins_unredirected--;
++            TRACE ("Unmapping fullscreen window 0x%lx, wins_unredirected decreased to %i", cw->id, screen_info->wins_unredirected);
++        }
++        TRACE ("Unmapped window 0x%lx, wins_unredirected is now %i", cw->id, screen_info->wins_unredirected);
+         if (!screen_info->wins_unredirected)
+         {
+             /* Restore the overlay if that was the last unredirected window */
+@@ -1841,6 +1857,7 @@
+     cw->viewable = FALSE;
+     cw->damaged = FALSE;
+     cw->redirected = TRUE;
++    cw->fulloverlay = FALSE;
+ 
+     free_win_data (cw, FALSE);
+ }
+@@ -1940,6 +1957,7 @@
+     new->id = id;
+     new->damaged = FALSE;
+     new->redirected = TRUE;
++    new->fulloverlay = FALSE;
+     new->shaped = is_shaped (display_info, id);
+     new->viewable = (new->attr.map_state == IsViewable);
+ 

Added: desktop/trunk/xfwm4/debian/patches/09_set-monitor-menu.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/09_set-monitor-menu.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/09_set-monitor-menu.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,25 @@
+Index: xfce_4_4/src/menu.c
+===================================================================
+--- xfce_4_4/src/menu.c	(revision 27225)
++++ xfce_4_4/src/menu.c	(revision 27226)
+@@ -88,6 +88,8 @@
+ {
+     GtkRequisition req;
+     GdkPoint *pos;
++    gint monitor;
++    GdkScreen *screen;
+ 
+     pos = user_data;
+ 
+@@ -111,6 +113,11 @@
+     {
+         *y = (gdk_screen_height () - req.height) / 2;
+     }
++
++    screen = gtk_widget_get_screen (GTK_WIDGET(menu));
++    monitor = find_monitor_at_point (screen, *x, *y);
++    gtk_menu_set_monitor (GTK_MENU (menu), monitor);
++
+     g_free (user_data);
+ }
+ 

Added: desktop/trunk/xfwm4/debian/patches/10_fix-artifacts-resize.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/10_fix-artifacts-resize.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/10_fix-artifacts-resize.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,387 @@
+Index: xfce_4_4/src/events.c
+===================================================================
+--- xfce_4_4/src/events.c	(revision 27453)
++++ xfce_4_4/src/events.c	(revision 27454)
+@@ -2312,14 +2312,7 @@
+     {
+         c->xsync_waiting = FALSE;
+         c->xsync_value = ev->counter_value;
+-        if (c->xsync_enabled)
+-        {
+-            wc.x = c->x;
+-            wc.y = c->y;
+-            wc.width = c->width;
+-            wc.height = c->height;
+-            clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, NO_CFG_FLAG);
+-        }
++        clientXSyncClearTimeout (c);
+     }
+ }
+ #endif /* HAVE_XSYNC */
+Index: xfce_4_4/src/compositor.c
+===================================================================
+--- xfce_4_4/src/compositor.c	(revision 27453)
++++ xfce_4_4/src/compositor.c	(revision 27454)
+@@ -1550,7 +1550,7 @@
+             {
+                 cw2->clientSize = client_size (cw2);
+             }
+-            /* ...before substracting them from the damaged zone. */
++            /* ...before subtracting them from the damaged zone. */
+             if ((cw2->clientSize) && (screen_info->params->frame_opacity < 100))
+             {
+                 XFixesSubtractRegion (display_info->dpy, region,
+@@ -1665,7 +1665,7 @@
+ }
+ 
+ static void
+-determine_mode(CWindow *cw)
++determine_mode (CWindow *cw)
+ {
+     DisplayInfo *display_info;
+     ScreenInfo *screen_info;
+@@ -2627,6 +2627,29 @@
+ }
+ 
+ void
++compositorResizeWindow (DisplayInfo *display_info, Window id, int x, int y, int width, int height)
++{
++#ifdef HAVE_COMPOSITOR
++    CWindow *cw;
++
++    g_return_if_fail (display_info != NULL);
++    g_return_if_fail (id != None);
++    TRACE ("entering compositorDamageWindow: 0x%lx", id);
++
++    if (!compositorIsUsable (display_info))
++    {
++        return;
++    }
++
++    cw = find_cwindow_in_display (display_info, id);
++    if (cw)
++    {
++        resize_win (cw, x, y, width, height, 0, FALSE);
++    }
++#endif /* HAVE_COMPOSITOR */
++}
++
++void
+ compositorHandleEvent (DisplayInfo *display_info, XEvent *ev)
+ {
+ #ifdef HAVE_COMPOSITOR
+Index: xfce_4_4/src/compositor.h
+===================================================================
+--- xfce_4_4/src/compositor.h	(revision 27453)
++++ xfce_4_4/src/compositor.h	(revision 27454)
+@@ -43,6 +43,12 @@
+                                                                  Window);
+ void                     compositorDamageWindow                 (DisplayInfo *,
+                                                                  Window);
++void                     compositorResizeWindow                 (DisplayInfo *,
++                                                                 Window,
++                                                                 int,
++                                                                 int,
++                                                                 int,
++                                                                 int);
+ void                     compositorHandleEvent                  (DisplayInfo *,
+                                                                  XEvent *);
+ void                     compositorInitDisplay                  (DisplayInfo *);
+Index: xfce_4_4/src/client.c
+===================================================================
+--- xfce_4_4/src/client.c	(revision 27453)
++++ xfce_4_4/src/client.c	(revision 27454)
+@@ -640,34 +640,45 @@
+ static void
+ clientConfigureWindows (Client * c, XWindowChanges * wc, unsigned long mask, unsigned short flags)
+ {
+-    unsigned long change_mask;
++    unsigned long change_mask_frame, change_mask_client;
+     XWindowChanges change_values;
++    DisplayInfo *display_info;
++    ScreenInfo *screen_info;
+ 
+-    change_mask = (mask & (CWX | CWY | CWWidth | CWHeight));
++    screen_info = c->screen_info;
++    display_info = screen_info->display_info;
++
++    change_mask_frame = mask & (CWX | CWY | CWWidth | CWHeight);
++    change_mask_client = mask & (CWWidth | CWHeight);
++
++    if ((WIN_RESIZED) || (flags & CFG_FORCE_REDRAW))
++    {
++        frameDraw (c, (flags & CFG_FORCE_REDRAW));
++    }
++
+     if (flags & CFG_FORCE_REDRAW)
+     {
+-        change_mask |= (CWX | CWY);
++        change_mask_client |= (CWX | CWY);
+     }
+ 
+-    if (change_mask & (CWX | CWY | CWWidth | CWHeight))
++    if (change_mask_frame & (CWX | CWY | CWWidth | CWHeight))
+     {
+         change_values.x = frameX (c);
+         change_values.y = frameY (c);
+         change_values.width = frameWidth (c);
+         change_values.height = frameHeight (c);
+-        XConfigureWindow (clientGetXDisplay (c), c->frame, change_mask, &change_values);
++        XConfigureWindow (display_info->dpy, c->frame, change_mask_frame, &change_values);
++    }
+ 
+-        if (WIN_RESIZED || (flags & CFG_FORCE_REDRAW))
+-        {
+-            frameDraw (c, (flags & CFG_FORCE_REDRAW));
+-        }
+-
++    if (change_mask_client & (CWX | CWY | CWWidth | CWHeight))
++    {
+         change_values.x = frameLeft (c);
+         change_values.y = frameTop (c);
+         change_values.width = c->width;
+         change_values.height = c->height;
+-        XConfigureWindow (clientGetXDisplay (c), c->window, change_mask, &change_values);
++        XConfigureWindow (display_info->dpy, c->window, change_mask_client, &change_values);
+     }
++    compositorResizeWindow (display_info, c->frame, frameX (c), frameY (c), frameWidth (c), frameHeight (c));
+ }
+ 
+ void
+@@ -1211,20 +1222,6 @@
+     c->xsync_alarm = None;
+ }
+ 
+-static void
+-clientXSyncClearTimeout (Client * c)
+-{
+-    g_return_if_fail (c != NULL);
+-
+-    TRACE ("entering clientXSyncClearTimeout");
+-
+-    if (c->xsync_timeout_id)
+-    {
+-        g_source_remove (c->xsync_timeout_id);
+-        c->xsync_timeout_id = 0;
+-    }
+-}
+-
+ static gboolean
+ clientXSyncTimeout (gpointer data)
+ {
+@@ -1265,6 +1262,20 @@
+ }
+ 
+ void
++clientXSyncClearTimeout (Client * c)
++{
++    g_return_if_fail (c != NULL);
++
++    TRACE ("entering clientXSyncClearTimeout");
++
++    if (c->xsync_timeout_id)
++    {
++        g_source_remove (c->xsync_timeout_id);
++        c->xsync_timeout_id = 0;
++    }
++}
++
++void
+ clientXSyncRequest (Client * c)
+ {
+     ScreenInfo *screen_info;
+@@ -4163,38 +4174,18 @@
+     ScreenInfo *screen_info;
+     DisplayInfo *display_info;
+     XWindowChanges wc;
+-    unsigned long value_mask;
+ 
+     screen_info = c->screen_info;
+     display_info = screen_info->display_info;
+ 
+-    value_mask = 0L;
+-    if (c->x != px)
++#ifdef HAVE_XSYNC
++    if (c->xsync_waiting)
+     {
+-        value_mask |= CWX;
+-    }
+-    if (c->y != py)
+-    {
+-        value_mask |= CWY;
+-    }
+-    if (c->width != pw)
+-    {
+-        value_mask |= CWWidth;
+-    }
+-    if (c->height != ph)
+-    {
+-        value_mask |= CWHeight;
+-    }
+-    if (!value_mask)
+-    {
+         return;
+     }
+-
+-#ifdef HAVE_XSYNC
+-    if (!c->xsync_waiting)
++    else
+     {
+-        if ((display_info->have_xsync) && (c->xsync_enabled) && (c->xsync_counter)
+-            && (value_mask & (CWWidth | CWHeight)))
++        if ((display_info->have_xsync) && (c->xsync_enabled) && (c->xsync_counter))
+         {
+             clientXSyncRequest (c);
+         }
+@@ -4203,7 +4194,7 @@
+         wc.y = c->y;
+         wc.width = c->width;
+         wc.height = c->height;
+-        clientConfigure (c, &wc, value_mask, NO_CFG_FLAG);
++        clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, NO_CFG_FLAG);
+ #ifdef HAVE_XSYNC
+     }
+ #endif /* HAVE_XSYNC */
+Index: xfce_4_4/src/client.h
+===================================================================
+--- xfce_4_4/src/client.h	(revision 27453)
++++ xfce_4_4/src/client.h	(revision 27454)
+@@ -303,48 +303,48 @@
+ 
+ Display                 *clientGetXDisplay                      (Client *);
+ void                     clientClearLastOpTime                  (Client *);
+-void                     clientUpdateWinState                   (Client *, 
++void                     clientUpdateWinState                   (Client *,
+                                                                  XClientMessageEvent *);
+ void                     clientUpdateUrgency                    (Client *);
+-void                     clientCoordGravitate                   (Client *, 
+-                                                                 int, 
+-                                                                 int *, 
++void                     clientCoordGravitate                   (Client *,
++                                                                 int,
++                                                                 int *,
+                                                                  int *);
+-void                     clientGravitate                        (Client *, 
++void                     clientGravitate                        (Client *,
+                                                                  int);
+-void                     clientConfigure                        (Client *, 
+-                                                                 XWindowChanges *, 
+-                                                                 unsigned long, 
+-                                                                 unsigned short); 
+-void                     clientGetMWMHints                      (Client *, 
++void                     clientConfigure                        (Client *,
++                                                                 XWindowChanges *,
++                                                                 unsigned long,
++                                                                 unsigned short);
++void                     clientGetMWMHints                      (Client *,
+                                                                  gboolean);
+-void                     clientGetWMNormalHints                 (Client *, 
++void                     clientGetWMNormalHints                 (Client *,
+                                                                  gboolean);
+ void                     clientGetWMProtocols                   (Client *);
+ void                     clientUpdateIcon                       (Client * c);
+-Client                  *clientFrame                            (DisplayInfo *, 
+-                                                                 Window, 
++Client                  *clientFrame                            (DisplayInfo *,
++                                                                 Window,
+                                                                  gboolean);
+-void                     clientUnframe                          (Client *, 
++void                     clientUnframe                          (Client *,
+                                                                  gboolean);
+ void                     clientFrameAll                         (ScreenInfo *);
+ void                     clientUnframeAll                       (ScreenInfo *);
+ void                     clientInstallColormaps                 (Client *);
+ void                     clientUpdateColormaps                  (Client *);
+ void                     clientUpdateName                       (Client *);
+-void                     clientUpdateAllFrames                  (ScreenInfo *, 
++void                     clientUpdateAllFrames                  (ScreenInfo *,
+                                                                  gboolean);
+ void                     clientGrabButtons                      (Client *);
+ void                     clientUngrabButtons                    (Client *);
+-Client                  *clientGetFromWindow                    (ScreenInfo *, 
+-                                                                 Window, 
++Client                  *clientGetFromWindow                    (ScreenInfo *,
++                                                                 Window,
+                                                                  int);
+-void                     clientShow                             (Client *, 
++void                     clientShow                             (Client *,
+                                                                  gboolean);
+-void                     clientHide                             (Client *, 
+-                                                                 int, 
++void                     clientHide                             (Client *,
++                                                                 int,
+                                                                  gboolean);
+-void                     clientHideAll                          (Client *, 
++void                     clientHideAll                          (Client *,
+                                                                  int);
+ void                     clientClearAllShowDesktop              (ScreenInfo *);
+ void                     clientToggleShowDesktop                (ScreenInfo *);
+@@ -353,50 +353,51 @@
+ void                     clientClose                            (Client *);
+ void                     clientKill                             (Client *);
+ void                     clientEnterContextMenuState            (Client *);
+-void                     clientSetLayer                         (Client *, 
++void                     clientSetLayer                         (Client *,
+                                                                  int);
+-void                     clientSetWorkspace                     (Client *, 
+-                                                                 int, 
++void                     clientSetWorkspace                     (Client *,
++                                                                 int,
+                                                                  gboolean);
+ void                     clientShade                            (Client *);
+ void                     clientUnshade                          (Client *);
+ void                     clientToggleShaded                     (Client *);
+-void                     clientStick                            (Client *, 
++void                     clientStick                            (Client *,
+                                                                  gboolean);
+-void                     clientUnstick                          (Client *, 
++void                     clientUnstick                          (Client *,
+                                                                  gboolean);
+-void                     clientToggleSticky                     (Client *, 
++void                     clientToggleSticky                     (Client *,
+                                                                  gboolean);
+ void                     clientToggleFullscreen                 (Client *);
+ void                     clientToggleAbove                      (Client *);
+ void                     clientToggleBelow                      (Client *);
+ void                     clientRemoveMaximizeFlag               (Client *);
+-void                     clientToggleMaximized                  (Client *, 
+-                                                                 int, 
++void                     clientToggleMaximized                  (Client *,
++                                                                 int,
+                                                                  gboolean);
+-void                     clientUpdateOpacity                    (ScreenInfo *, 
++void                     clientUpdateOpacity                    (ScreenInfo *,
+                                                                  Client *);
+-void                     clientSetOpacity                       (Client *, 
+-                                                                 guint, 
++void                     clientSetOpacity                       (Client *,
++                                                                 guint,
+                                                                  guint, guint);
+ void                     clientIncOpacity                       (Client *);
+ void                     clientDecOpacity                       (Client *);
+ void                     clientScreenResize                     (ScreenInfo *);
+-void                     clientMove                             (Client *, 
++void                     clientMove                             (Client *,
+                                                                  XEvent *);
+-void                     clientResize                           (Client *, 
+-                                                                 int, 
++void                     clientResize                           (Client *,
++                                                                 int,
+                                                                  XEvent *);
+-void                     clientCycle                            (Client *, 
++void                     clientCycle                            (Client *,
+                                                                  XEvent *);
+-void                     clientButtonPress                      (Client *, 
+-                                                                 Window, 
++void                     clientButtonPress                      (Client *,
++                                                                 Window,
+                                                                  XButtonEvent *);
+ Client                  *clientGetLeader                        (Client *);
+ #ifdef HAVE_LIBSTARTUP_NOTIFICATION
+ char                    *clientGetStartupId                     (Client *);
+ #endif /* HAVE_LIBSTARTUP_NOTIFICATION */
+ #ifdef HAVE_XSYNC
++void                     clientXSyncClearTimeout                (Client *);
+ void                     clientXSyncRequest                     (Client *);
+ #endif /* HAVE_XSYNC */
+ 

Added: desktop/trunk/xfwm4/debian/patches/11_fix-maximization-claim.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/11_fix-maximization-claim.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/11_fix-maximization-claim.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,22 @@
+Index: xfce_4_4/src/netwm.c
+===================================================================
+--- xfce_4_4/src/netwm.c	(revision 27995)
++++ xfce_4_4/src/netwm.c	(revision 27996)
+@@ -85,7 +85,7 @@
+         TRACE ("clientSetNetState : skip_taskbar");
+         data[i++] = display_info->atoms[NET_WM_STATE_SKIP_TASKBAR];
+     }
+-    if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
++    if (FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED))
+     {
+         TRACE ("clientSetNetState : maximize vert + horiz");
+         data[i++] = display_info->atoms[NET_WM_STATE_MAXIMIZED_HORZ];
+@@ -672,7 +672,7 @@
+             resize = FALSE; /* Move */
+             break;
+     }
+-    
++
+     if (!FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
+     {
+         if (resize && FLAG_TEST_ALL (c->xfwm_flags, XFWM_FLAG_HAS_RESIZE | XFWM_FLAG_IS_RESIZABLE))

Added: desktop/trunk/xfwm4/debian/patches/12_fix-iconization.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/12_fix-iconization.patch	                        (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/12_fix-iconization.patch	2008-10-02 14:04:56 UTC (rev 2342)
@@ -0,0 +1,13 @@
+Index: xfce_4_4/src/events.c
+===================================================================
+--- xfce_4_4/src/events.c	(revision 28011)
++++ xfce_4_4/src/events.c	(revision 28012)
+@@ -2021,7 +2021,7 @@
+         if ((ev->message_type == display_info->atoms[WM_CHANGE_STATE]) && (ev->format == 32) && (ev->data.l[0] == IconicState))
+         {
+             TRACE ("client \"%s\" (0x%lx) has received a WM_CHANGE_STATE event", c->name, c->window);
+-            if (!FLAG_TEST (c->flags, CLIENT_FLAG_ICONIFIED) && CLIENT_CAN_HIDE_WINDOW (c))
++            if (!FLAG_TEST (c->flags, CLIENT_FLAG_ICONIFIED))
+             {
+                 clientHide (c, c->win_workspace, TRUE);
+             }

Modified: desktop/trunk/xfwm4/debian/patches/series
===================================================================
--- desktop/trunk/xfwm4/debian/patches/series	2008-10-01 21:27:02 UTC (rev 2341)
+++ desktop/trunk/xfwm4/debian/patches/series	2008-10-02 14:04:56 UTC (rev 2342)
@@ -3,3 +3,10 @@
 03_fix-compositing-overlay.patch
 04_fix-automaximize-on-move.patch
 05_awn-focus.patch
+06_resize-overlay-on-randr-notif.patch
+07_overlay-counting-bug.patch
+08_only-count-fullscreen-overlay.patch
+09_set-monitor-menu.patch
+10_fix-artifacts-resize.patch
+11_fix-maximization-claim.patch
+12_fix-iconization.patch




More information about the Pkg-xfce-commits mailing list