[Pkg-xfce-commits] r6111 - in desktop/trunk/xfwm4/debian: . patches
Yves-Alexis Perez
corsac at alioth.debian.org
Tue Oct 11 12:03:57 UTC 2011
Author: corsac
Date: 2011-10-11 12:03:57 +0000 (Tue, 11 Oct 2011)
New Revision: 6111
Added:
desktop/trunk/xfwm4/debian/patches/0001-Do-not-enforce-the-size-increment-only-if-the-size-r.patch
desktop/trunk/xfwm4/debian/patches/series
Modified:
desktop/trunk/xfwm4/debian/changelog
Log:
* debian/patches:
- 0001-Do-not-enforce-the-size-increment-only-if-the-size-r added,
cherry-picked from upstream.
Modified: desktop/trunk/xfwm4/debian/changelog
===================================================================
--- desktop/trunk/xfwm4/debian/changelog 2011-10-11 10:07:16 UTC (rev 6110)
+++ desktop/trunk/xfwm4/debian/changelog 2011-10-11 12:03:57 UTC (rev 6111)
@@ -1,8 +1,14 @@
xfwm4 (4.8.2-1) UNRELEASED; urgency=low
+ [ Lionel Le Folgoc ]
* New upstream release, including:
- Updated Dutch translation. lp: #781061
+ [ Yves-Alexis Perez ]
+ * debian/patches:
+ - 0001-Do-not-enforce-the-size-increment-only-if-the-size-r added,
+ cherry-picked from upstream.
+
-- Lionel Le Folgoc <mrpouit at gmail.com> Thu, 22 Sep 2011 21:34:26 +0200
xfwm4 (4.8.1-4) unstable; urgency=low
Added: desktop/trunk/xfwm4/debian/patches/0001-Do-not-enforce-the-size-increment-only-if-the-size-r.patch
===================================================================
--- desktop/trunk/xfwm4/debian/patches/0001-Do-not-enforce-the-size-increment-only-if-the-size-r.patch (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/0001-Do-not-enforce-the-size-increment-only-if-the-size-r.patch 2011-10-11 12:03:57 UTC (rev 6111)
@@ -0,0 +1,346 @@
+From 41ce9e6b77ce2b601cc6cec46d29a6c59cebde82 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <fourdan at xfce.org>
+Date: Fri, 7 Oct 2011 15:19:41 +0200
+Subject: [PATCH] Do not enforce the size increment only if the size request
+ comes from the application itself (refix bug #7445)
+
+---
+ src/client.c | 5 +-
+ src/moveresize.c | 136 +++++++++++++++++++-----------------------------------
+ src/moveresize.h | 6 ++-
+ 3 files changed, 55 insertions(+), 92 deletions(-)
+
+diff --git a/src/client.c b/src/client.c
+index 64bd2e7..67c5f36 100644
+--- a/src/client.c
++++ b/src/client.c
+@@ -666,11 +666,11 @@ clientConfigure (Client * c, XWindowChanges * wc, unsigned long mask, unsigned s
+ }
+ if (mask & CWWidth)
+ {
+- c->width = wc->width;
++ clientSetWidth (c, wc->width, flags & CFG_REQUEST);
+ }
+ if (mask & CWHeight)
+ {
+- c->height = wc->height;
++ clientSetHeight (c, wc->height, flags & CFG_REQUEST);
+ }
+ if (mask & CWBorderWidth)
+ {
+@@ -1834,6 +1834,7 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
+ (c->win_layer == WIN_LAYER_NORMAL) &&
+ (c->type == WINDOW_NORMAL))
+ {
++ g_print ("Full screen for old apps\n");
+ FLAG_SET (c->xfwm_flags, XFWM_FLAG_LEGACY_FULLSCREEN);
+ }
+
+diff --git a/src/moveresize.c b/src/moveresize.c
+index 0ee9ebf..0653ffa 100644
+--- a/src/moveresize.c
++++ b/src/moveresize.c
+@@ -77,48 +77,48 @@ struct _MoveResizeData
+ };
+
+ static void
+-clientComputeWidth (Client * c, int *w)
++clientSetSize (Client * c, int *size, int size_min, int size_max, int size_inc, gboolean source_is_application)
+ {
+- int w2;
++ int temp;
+
+ g_return_if_fail (c != NULL);
+- g_return_if_fail (w != NULL);
+- TRACE ("entering clientComputeWidth");
++ g_return_if_fail (size != NULL);
++ TRACE ("entering clientSetSize");
+
+ /* Bypass resize increment and max sizes for fullscreen */
+ if (!FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
+ && !(FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+ && (c->screen_info->params->borderless_maximize)))
+ {
+- if ((c->size->flags & PResizeInc) && (c->size->width_inc))
++ if (!source_is_application && (c->size->flags & PResizeInc) && (size_inc))
+ {
+- w2 = (*w - c->size->min_width) / c->size->width_inc;
+- *w = c->size->min_width + (w2 * c->size->width_inc);
++ temp = (*size - size_min) / size_inc;
++ *size = size_min + (temp * size_inc);
+ }
+ if (c->size->flags & PMaxSize)
+ {
+- if (*w > c->size->max_width)
++ if (*size > size_max)
+ {
+- *w = c->size->max_width;
++ *size = size_max;
+ }
+ }
+ }
+
+ if (c->size->flags & PMinSize)
+ {
+- if (*w < c->size->min_width)
++ if (*size < size_min)
+ {
+- *w = c->size->min_width;
++ *size = size_min;
+ }
+ }
+- if (*w < 1)
++ if (*size < 1)
+ {
+- *w = 1;
++ *size = 1;
+ }
+ }
+
+ void
+-clientSetWidth (Client * c, int w)
++clientSetWidth (Client * c, int w, gboolean source_is_application)
+ {
+ int temp;
+
+@@ -127,52 +127,12 @@ clientSetWidth (Client * c, int w)
+ TRACE ("setting width %i for client \"%s\" (0x%lx)", w, c->name, c->window);
+
+ temp = w;
+- clientComputeWidth (c, &temp);
++ clientSetSize (c, &temp, c->size->min_width, c->size->max_width, c->size->width_inc, source_is_application);
+ c->width = temp;
+ }
+
+-static void
+-clientComputeHeight (Client * c, int *h)
+-{
+- int h2;
+-
+- g_return_if_fail (c != NULL);
+- TRACE ("entering clientComputeHeight");
+-
+- /* Bypass resize increment and max sizes for fullscreen */
+- if (!FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN)
+- && !(FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED)
+- && (c->screen_info->params->borderless_maximize)))
+- {
+- if ((c->size->flags & PResizeInc) && (c->size->height_inc))
+- {
+- h2 = (*h - c->size->min_height) / c->size->height_inc;
+- *h = c->size->min_height + (h2 * c->size->height_inc);
+- }
+- if (c->size->flags & PMaxSize)
+- {
+- if (*h > c->size->max_height)
+- {
+- *h = c->size->max_height;
+- }
+- }
+- }
+-
+- if (c->size->flags & PMinSize)
+- {
+- if (*h < c->size->min_height)
+- {
+- *h = c->size->min_height;
+- }
+- }
+- if (*h < 1)
+- {
+- *h = 1;
+- }
+-}
+-
+ void
+-clientSetHeight (Client * c, int h)
++clientSetHeight (Client * c, int h, gboolean source_is_application)
+ {
+ int temp;
+
+@@ -181,7 +141,7 @@ clientSetHeight (Client * c, int h)
+ TRACE ("setting height %i for client \"%s\" (0x%lx)", h, c->name, c->window);
+
+ temp = h;
+- clientComputeHeight (c, &temp);
++ clientSetSize (c, &temp, c->size->min_height, c->size->max_height, c->size->height_inc, source_is_application);
+ c->height = temp;
+ }
+
+@@ -273,7 +233,7 @@ clientSetHandle(MoveResizeData *passdata, int handle)
+
+ #define MAKE_MULT(a,b) ((b==1) ? (a) : (((int)((a)/(b))) * (b)) )
+ static void
+-clientConstrainRatio (Client * c, int *w, int *h, int handle)
++clientConstrainRatio (Client * c, int handle)
+ {
+
+ g_return_if_fail (c != NULL);
+@@ -291,59 +251,59 @@ clientConstrainRatio (Client * c, int *w, int *h, int handle)
+ maxx = c->size->max_aspect.x;
+ maxy = c->size->max_aspect.y;
+
+- if ((minx * *h > miny * *w) && (miny) &&
++ if ((minx * c->height > miny * c->width) && (miny) &&
+ ((handle == CORNER_COUNT + SIDE_TOP) || (handle == CORNER_COUNT + SIDE_BOTTOM)))
+ {
+ /* Change width to match */
+- delta = MAKE_MULT (minx * *h / miny - *w, xinc);
++ delta = MAKE_MULT (minx * c->height / miny - c->width, xinc);
+ if (!(c->size->flags & PMaxSize) ||
+- (*w + delta <= c->size->max_width))
++ (c->width + delta <= c->size->max_width))
+ {
+- *w += delta;
++ c->width += delta;
+ }
+ }
+- if ((minx * *h > miny * *w) && (minx))
++ if ((minx * c->height > miny * c->width) && (minx))
+ {
+- delta = MAKE_MULT (*h - *w * miny / minx, yinc);
++ delta = MAKE_MULT (c->height - c->width * miny / minx, yinc);
+ if (!(c->size->flags & PMinSize) ||
+- (*h - delta >= c->size->min_height))
++ (c->height - delta >= c->size->min_height))
+ {
+- *h -= delta;
++ c->height -= delta;
+ }
+ else
+ {
+- delta = MAKE_MULT (minx * *h / miny - *w, xinc);
++ delta = MAKE_MULT (minx * c->height / miny - c->width, xinc);
+ if (!(c->size->flags & PMaxSize) ||
+- (*w + delta <= c->size->max_width))
+- *w += delta;
++ (c->width + delta <= c->size->max_width))
++ c->width += delta;
+ }
+ }
+
+- if ((maxx * *h < maxy * *w) && (maxx) &&
++ if ((maxx * c->height < maxy * c->width) && (maxx) &&
+ ((handle == CORNER_COUNT + SIDE_LEFT) || (handle == CORNER_COUNT + SIDE_RIGHT)))
+ {
+- delta = MAKE_MULT (*w * maxy / maxx - *h, yinc);
++ delta = MAKE_MULT (c->width * maxy / maxx - c->height, yinc);
+ if (!(c->size->flags & PMaxSize) ||
+- (*h + delta <= c->size->max_height))
++ (c->height + delta <= c->size->max_height))
+ {
+- *h += delta;
++ c->height += delta;
+ }
+ }
+- if ((maxx * *h < maxy * *w) && (maxy))
++ if ((maxx * c->height < maxy * c->width) && (maxy))
+ {
+- delta = MAKE_MULT (*w - maxx * *h / maxy, xinc);
++ delta = MAKE_MULT (c->width - maxx * c->height / maxy, xinc);
+ if (!(c->size->flags & PMinSize) ||
+- (*w - delta >= c->size->min_width))
++ (c->width - delta >= c->size->min_width))
+ {
+- *w -= delta;
++ c->width -= delta;
+ }
+ else
+ {
+- delta = MAKE_MULT (*w * maxy / maxx - *h, yinc);
++ delta = MAKE_MULT (c->width * maxy / maxx - c->height, yinc);
+ if (!(c->size->flags & PMaxSize) ||
+- (*h + delta <= c->size->max_height))
++ (c->height + delta <= c->size->max_height))
+ {
+- *h += delta;
++ c->height += delta;
+ }
+ }
+ }
+@@ -1427,9 +1387,9 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ c->height = clientFindClosestEdgeY (c, c->y + c->height + frameBottom (c)) - c->y - frameBottom (c);
+ }
+ }
+- clientConstrainRatio (c, &c->width, &c->height, passdata->handle);
++ clientConstrainRatio (c, passdata->handle);
+
+- clientSetWidth (c, c->width);
++ clientSetWidth (c, c->width, FALSE);
+ if (move_left)
+ {
+ c->x = c->x - (c->width - passdata->oldw);
+@@ -1442,7 +1402,7 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ frame_x = frameX (c);
+ }
+
+- clientSetHeight (c, c->height);
++ clientSetHeight (c, c->height, FALSE);
+ if (!FLAG_TEST (c->flags, CLIENT_FLAG_SHADED) && move_top)
+ {
+ c->y = c->y - (c->height - passdata->oldh);
+@@ -1463,14 +1423,14 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ temp = c->y + c->height;
+ c->y = CLAMP (c->y, screen_info->margins [STRUTS_TOP] + frame_top,
+ MAX (disp_max_y - min_visible, screen_info->height - screen_info->margins [STRUTS_BOTTOM] - min_visible));
+- clientSetHeight (c, temp - c->y);
++ clientSetHeight (c, temp - c->y, FALSE);
+ c->y = temp - c->height;
+ }
+ else if (frame_y < 0)
+ {
+ temp = c->y + c->height;
+ c->y = frame_top;
+- clientSetHeight (c, temp - c->y);
++ clientSetHeight (c, temp - c->y, FALSE);
+ c->y = temp - c->height;
+ }
+ }
+@@ -1479,7 +1439,7 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ if (c->y + c->height < MAX (disp_y + min_visible, screen_info->margins [STRUTS_TOP] + min_visible))
+ {
+ temp = MAX (disp_y + min_visible, screen_info->margins [STRUTS_TOP] + min_visible);
+- clientSetHeight (c, temp - c->y);
++ clientSetHeight (c, temp - c->y, FALSE);
+ }
+ }
+ if (move_left)
+@@ -1488,7 +1448,7 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ {
+ temp = c->x + c->width;
+ c->x = MIN (disp_max_x - min_visible, screen_info->width - screen_info->margins [STRUTS_RIGHT] - min_visible);
+- clientSetWidth (c, temp - c->x);
++ clientSetWidth (c, temp - c->x, FALSE);
+ c->x = temp - c->width;
+ }
+ }
+@@ -1497,7 +1457,7 @@ clientResizeEventFilter (XEvent * xevent, gpointer data)
+ if (c->x + c->width < MAX (disp_x + min_visible, screen_info->margins [STRUTS_LEFT] + min_visible))
+ {
+ temp = MAX (disp_x + min_visible, screen_info->margins [STRUTS_LEFT] + min_visible);
+- clientSetWidth (c, temp - c->x);
++ clientSetWidth (c, temp - c->x, FALSE);
+ }
+ }
+
+diff --git a/src/moveresize.h b/src/moveresize.h
+index cd5c770..f6ffc9b 100644
+--- a/src/moveresize.h
++++ b/src/moveresize.h
+@@ -34,9 +34,11 @@
+ #ifndef INC_MOVERESIZE_H
+ #define INC_MOVERESIZE_H
+ void clientSetWidth (Client *,
+- int);
++ int,
++ gboolean);
+ void clientSetHeight (Client *,
+- int);
++ int,
++ gboolean);
+ void clientMove (Client *,
+ XEvent *);
+ void clientResize (Client *,
+--
+1.7.6.3
+
Added: desktop/trunk/xfwm4/debian/patches/series
===================================================================
--- desktop/trunk/xfwm4/debian/patches/series (rev 0)
+++ desktop/trunk/xfwm4/debian/patches/series 2011-10-11 12:03:57 UTC (rev 6111)
@@ -0,0 +1 @@
+0001-Do-not-enforce-the-size-increment-only-if-the-size-r.patch
More information about the Pkg-xfce-commits
mailing list