Browse Source

[trunk] -> [extra] 'xfwm4-4.16.1-3' add

master
Qontinuum 2 months ago
parent
commit
75dcf2ec7e
Signed by: qontinuum GPG Key ID: C60E5D06320A178E
  1. 10
      xfwm4/trunk/PKGBUILD
  2. 53
      xfwm4/trunk/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
  3. 10
      xfwm4/x86_64/extra/PKGBUILD
  4. 53
      xfwm4/x86_64/extra/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch

10
xfwm4/trunk/PKGBUILD

@ -3,7 +3,7 @@
pkgname=xfwm4
pkgver=4.16.1
pkgrel=2
pkgrel=3
pkgdesc="Xfce's window manager"
arch=('x86_64')
url="https://docs.xfce.org/xfce/xfwm4/start"
@ -12,11 +12,15 @@ groups=('xfce4')
depends=('libxfce4ui' 'xfconf' 'libwnck3' 'libepoxy' 'libxpresent'
'hicolor-icon-theme')
makedepends=('intltool')
source=(https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
sha256sums=('b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c')
source=(https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
client-Handle-removal-of-GTK_FRAME_EXTENTS.patch)
sha256sums=('b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c'
'cc49d8c0932dc3f630073e87c8fffaddd811306dc32d74a8127fe0de7baccd4d')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
# https://gitlab.xfce.org/xfce/xfwm4/-/issues/603
patch -Np1 -i ../client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
}
build() {

53
xfwm4/trunk/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch

@ -0,0 +1,53 @@
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;
}

10
xfwm4/x86_64/extra/PKGBUILD

@ -3,7 +3,7 @@
pkgname=xfwm4
pkgver=4.16.1
pkgrel=2
pkgrel=3
pkgdesc="Xfce's window manager"
arch=('x86_64')
url="https://docs.xfce.org/xfce/xfwm4/start"
@ -12,11 +12,15 @@ groups=('xfce4')
depends=('libxfce4ui' 'xfconf' 'libwnck3' 'libepoxy' 'libxpresent'
'hicolor-icon-theme')
makedepends=('intltool')
source=(https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
sha256sums=('b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c')
source=(https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2
client-Handle-removal-of-GTK_FRAME_EXTENTS.patch)
sha256sums=('b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c'
'cc49d8c0932dc3f630073e87c8fffaddd811306dc32d74a8127fe0de7baccd4d')
prepare() {
cd "$srcdir/$pkgname-$pkgver"
# https://gitlab.xfce.org/xfce/xfwm4/-/issues/603
patch -Np1 -i ../client-Handle-removal-of-GTK_FRAME_EXTENTS.patch
}
build() {

53
xfwm4/x86_64/extra/client-Handle-removal-of-GTK_FRAME_EXTENTS.patch

@ -0,0 +1,53 @@
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;
}
Loading…
Cancel
Save