summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD10
-rw-r--r--client-Handle-removal-of-GTK_FRAME_EXTENTS.patch53
-rw-r--r--gaps.patch62
4 files changed, 34 insertions, 99 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b9c20448f6c2..a8997ca109cb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = xfwm4-gaps
pkgdesc = Xfce's window manager - now with extra gaps
- pkgver = 4.16.1
+ pkgver = 4.18.0
pkgrel = 1
url = https://docs.xfce.org/xfce/xfwm4/start
arch = x86_64
@@ -15,11 +15,9 @@ pkgbase = xfwm4-gaps
depends = hicolor-icon-theme
provides = xfwm4
conflicts = xfwm4
- source = https://archive.xfce.org/src/xfce/xfwm4/4.16/xfwm4-4.16.1.tar.bz2
- source = client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
+ source = https://archive.xfce.org/src/xfce/xfwm4/4.18/xfwm4-4.18.0.tar.bz2
source = gaps.patch
- sha256sums = b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c
- sha256sums = SKIP
+ sha256sums = 92cd1b889bb25cb4bc06c1c6736c238d96e79c1e706b9f77fad0a89d6e5fc13f
sha256sums = SKIP
pkgname = xfwm4-gaps
diff --git a/PKGBUILD b/PKGBUILD
index a6ea92ec3362..d1ee36acfce1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,5 @@
pkgname=xfwm4-gaps
-pkgver=4.16.1
+pkgver=4.18.0
pkgrel=1
pkgdesc="Xfce's window manager - now with extra gaps"
arch=('x86_64')
@@ -12,16 +12,12 @@ makedepends=('intltool')
provides=('xfwm4')
conflicts=('xfwm4')
source=(https://archive.xfce.org/src/xfce/xfwm4/${pkgver%.*}/xfwm4-$pkgver.tar.bz2
- client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
gaps.patch)
-sha256sums=('b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c'
- SKIP
+sha256sums=('92cd1b889bb25cb4bc06c1c6736c238d96e79c1e706b9f77fad0a89d6e5fc13f'
SKIP)
prepare() {
cd "$srcdir/xfwm4-$pkgver"
- # https://gitlab.xfce.org/xfce/xfwm4/-/issues/603
- patch -Np1 -i ../client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
patch -Np1 -i ../gaps.patch
}
@@ -31,9 +27,7 @@ build() {
./configure \
--prefix=/usr \
--sysconfdir=/etc \
- --libexecdir=/usr/lib \
--localstatedir=/var \
- --disable-static \
--enable-startup-notification \
--enable-randr \
--enable-compositor \
diff --git a/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch b/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
deleted file mode 100644
index c0d5b69817ac..000000000000
--- a/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 488288f6e35d5d3dc077e87fe2ed83129692f62e Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <fourdan@xfce.org>
-Date: Sun, 14 Nov 2021 11:00:55 +0100
-Subject: [PATCH] client: Handle removal of GTK_FRAME_EXTENTS
-
-Chromium and GOOGLE Chrome have now support for GTK_FRAME_EXTENTS.
-
-When maximizing a window, Chromium/Chrome simply removes the property
-on its toplevel rather than setting all values to 0.
-
-xfwm4 would simply ignore the property change because it could not read
-the values and therefore apply the old, wrong values.
-
-Fix xfwm4 to handle the property removal like an actual property change
-to 0.
-
-Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
-Closes: https://gitlab.xfce.org/xfce/xfwm4/-/issues/603
----
- src/client.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/client.c b/src/client.c
-index 4e6affcfd..310cf90aa 100644
---- a/src/client.c
-+++ b/src/client.c
-@@ -4200,6 +4200,7 @@ clientGetGtkFrameExtents (Client * c)
- DisplayInfo *display_info;
- gboolean value_changed = FALSE;
- gulong *extents;
-+ unsigned long old_value;
- int nitems;
- int i;
-
-@@ -4209,6 +4210,8 @@ clientGetGtkFrameExtents (Client * c)
- screen_info = c->screen_info;
- display_info = screen_info->display_info;
- extents = NULL;
-+
-+ old_value = FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
- FLAG_UNSET (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
-
- if (getCardinalList (display_info, c->window, GTK_FRAME_EXTENTS, &extents, &nitems))
-@@ -4232,6 +4235,9 @@ clientGetGtkFrameExtents (Client * c)
- XFree (extents);
- }
-
-+ /* Adding or removing the property also counts as a change */
-+ value_changed |= (old_value ^ FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS));
-+
- return value_changed;
- }
-
diff --git a/gaps.patch b/gaps.patch
index 744debb35964..9c1b86319dec 100644
--- a/gaps.patch
+++ b/gaps.patch
@@ -1,8 +1,6 @@
-diff --git a/src/client.c b/src/client.c
-index 3923dd98b..009f3dd58 100644
---- a/src/client.c
-+++ b/src/client.c
-@@ -3296,6 +3296,9 @@ clientNewMaxState (Client *c, XWindowChanges *wc, int mode)
+--- a/src/client.c 2022-12-01 11:47:40.000000000 +0100
++++ b/src/client.c 2022-12-22 23:26:04.000673794 +0100
+@@ -3292,6 +3292,9 @@
}
}
@@ -12,10 +10,10 @@ index 3923dd98b..009f3dd58 100644
static gboolean
clientNewTileSize (Client *c, XWindowChanges *wc, GdkRectangle *rect, tilePositionType tile)
{
-@@ -3331,36 +3334,72 @@ clientNewTileSize (Client *c, XWindowChanges *wc, GdkRectangle *rect, tilePositi
- wc->y = full_y + frameExtentTop (c);
- wc->width = full_w / 2 - frameExtentLeft (c) - frameExtentRight (c);
- wc->height = full_h - frameExtentTop (c) - frameExtentBottom (c);
+@@ -3318,36 +3321,70 @@
+ wc->y = full.y + frameExtentTop (c);
+ wc->width = full.width / 2 - frameExtentLeft (c) - frameExtentRight (c);
+ wc->height = full.height - frameExtentTop (c) - frameExtentBottom (c);
+
+ wc->x += GAPS_SIZE;
+ wc->y += GAPS_SIZE;
@@ -24,10 +22,10 @@ index 3923dd98b..009f3dd58 100644
+
break;
case TILE_RIGHT:
- wc->x = full_x + full_w / 2 + frameExtentLeft (c);
- wc->y = full_y + frameExtentTop (c);
- wc->width = full_w - full_w / 2 - frameExtentLeft (c) - frameExtentRight (c);
- wc->height = full_h - frameExtentTop (c) - frameExtentBottom (c);
+ wc->x = full.x + full.width / 2 + frameExtentLeft (c);
+ wc->y = full.y + frameExtentTop (c);
+ wc->width = full.width - full.width / 2 - frameExtentLeft (c) - frameExtentRight (c);
+ wc->height = full.height - frameExtentTop (c) - frameExtentBottom (c);
+
+ wc->x += GAPS_SIZE / 2;
+ wc->y += GAPS_SIZE;
@@ -36,11 +34,10 @@ index 3923dd98b..009f3dd58 100644
+
break;
case TILE_DOWN_LEFT:
- wc->x = full_x + frameExtentLeft (c);
- wc->y = full_y + full_h / 2 + frameExtentTop (c);
- wc->width = full_w / 2 - frameExtentLeft (c) - frameExtentRight (c);
- wc->height = full_h - full_h / 2 - frameExtentTop (c) - frameExtentBottom (c);
-+
+ wc->x = full.x + frameExtentLeft (c);
+ wc->y = full.y + full.height / 2 + frameExtentTop (c);
+ wc->width = full.width / 2 - frameExtentLeft (c) - frameExtentRight (c);
+ wc->height = full.height - full.height / 2 - frameExtentTop (c) - frameExtentBottom (c);
+ wc->x += GAPS_SIZE;
+ wc->y += GAPS_SIZE / 2;
+ wc->width -= GAPS_SIZE + (GAPS_SIZE / 2);
@@ -48,11 +45,10 @@ index 3923dd98b..009f3dd58 100644
+
break;
case TILE_DOWN_RIGHT:
- wc->x = full_x + full_w /2 + frameExtentLeft (c);
- wc->y = full_y + full_h / 2 + frameExtentTop (c);
- wc->width = full_w - full_w / 2 - frameExtentLeft (c) - frameExtentRight (c);
- wc->height = full_h - full_h / 2 - frameExtentTop (c) - frameExtentBottom (c);
-+
+ wc->x = full.x + full.width /2 + frameExtentLeft (c);
+ wc->y = full.y + full.height / 2 + frameExtentTop (c);
+ wc->width = full.width - full.width / 2 - frameExtentLeft (c) - frameExtentRight (c);
+ wc->height = full.height - full.height / 2 - frameExtentTop (c) - frameExtentBottom (c);
+ wc->x += GAPS_SIZE / 2;
+ wc->y += GAPS_SIZE / 2;
+ wc->width -= GAPS_SIZE + (GAPS_SIZE / 2);
@@ -60,10 +56,10 @@ index 3923dd98b..009f3dd58 100644
+
break;
case TILE_UP_LEFT:
- wc->x = full_x + frameExtentLeft (c);
- wc->y = full_y + frameExtentTop (c);
- wc->width = full_w / 2 - frameExtentLeft (c) - frameExtentRight (c);
- wc->height = full_h / 2 - frameExtentTop (c) - frameExtentBottom (c);
+ wc->x = full.x + frameExtentLeft (c);
+ wc->y = full.y + frameExtentTop (c);
+ wc->width = full.width / 2 - frameExtentLeft (c) - frameExtentRight (c);
+ wc->height = full.height / 2 - frameExtentTop (c) - frameExtentBottom (c);
+
+ wc->x += GAPS_SIZE;
+ wc->y += GAPS_SIZE;
@@ -72,10 +68,10 @@ index 3923dd98b..009f3dd58 100644
+
break;
case TILE_UP_RIGHT:
- wc->x = full_x + full_w /2 + frameExtentLeft (c);
- wc->y = full_y + frameExtentTop (c);
- wc->width = full_w - full_w / 2 - frameExtentLeft (c) - frameExtentRight (c);
- wc->height = full_h / 2 - frameExtentTop (c) - frameExtentBottom (c);
+ wc->x = full.x + full.width /2 + frameExtentLeft (c);
+ wc->y = full.y + frameExtentTop (c);
+ wc->width = full.width - full.width / 2 - frameExtentLeft (c) - frameExtentRight (c);
+ wc->height = full.height / 2 - frameExtentTop (c) - frameExtentBottom (c);
+
+ wc->x += GAPS_SIZE / 2;
+ wc->y += GAPS_SIZE;
@@ -85,8 +81,8 @@ index 3923dd98b..009f3dd58 100644
break;
default:
break;
-@@ -3400,6 +3439,11 @@ clientNewMaxSize (Client *c, XWindowChanges *wc, GdkRectangle *rect)
- wc->height = full_h - frameExtentTop (c) - frameExtentBottom (c);
+@@ -3378,6 +3415,11 @@
+ wc->height = full.height - frameExtentTop (c) - frameExtentBottom (c);
}
+ wc->x += GAPS_SIZE;