[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