[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