diff options
author | Stephan Hartmann <sultan@gentoo.org> | 2021-11-18 18:05:34 +0100 |
---|---|---|
committer | Stephan Hartmann <sultan@gentoo.org> | 2021-11-18 18:05:47 +0100 |
commit | 6a48f9aa81348de4240df10eb44933acd5348412 (patch) | |
tree | b957307b26272ec3d5ddf502711f717f771c7aa1 /xfce-base | |
parent | package.mask: Add dist-kernels to the 5.14.19 mask (diff) | |
download | gentoo-6a48f9aa81348de4240df10eb44933acd5348412.tar.gz gentoo-6a48f9aa81348de4240df10eb44933acd5348412.tar.bz2 gentoo-6a48f9aa81348de4240df10eb44933acd5348412.zip |
xfce-base/xfwm4: add patch for handling GTK_FRAME_EXTENTS
Bug: https://bugs.gentoo.org/819771
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Stephan Hartmann <sultan@gentoo.org>
Diffstat (limited to 'xfce-base')
-rw-r--r-- | xfce-base/xfwm4/files/xfwm4-4.16.1-gtk_frame_extents.patch | 56 | ||||
-rw-r--r-- | xfce-base/xfwm4/xfwm4-4.16.1-r1.ebuild | 74 |
2 files changed, 130 insertions, 0 deletions
diff --git a/xfce-base/xfwm4/files/xfwm4-4.16.1-gtk_frame_extents.patch b/xfce-base/xfwm4/files/xfwm4-4.16.1-gtk_frame_extents.patch new file mode 100644 index 000000000000..bb170d836b7f --- /dev/null +++ b/xfce-base/xfwm4/files/xfwm4-4.16.1-gtk_frame_extents.patch @@ -0,0 +1,56 @@ +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; + } + +-- +2.32.0 + diff --git a/xfce-base/xfwm4/xfwm4-4.16.1-r1.ebuild b/xfce-base/xfwm4/xfwm4-4.16.1-r1.ebuild new file mode 100644 index 000000000000..485538b1b413 --- /dev/null +++ b/xfce-base/xfwm4/xfwm4-4.16.1-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg-utils + +DESCRIPTION="Window manager for the Xfce desktop environment" +HOMEPAGE="https://www.xfce.org/projects/" +SRC_URI="https://archive.xfce.org/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="opengl startup-notification +xcomposite +xpresent" + +RDEPEND=">=dev-libs/glib-2.20 + >=x11-libs/gtk+-3.22:3 + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXres + x11-libs/pango + >=x11-libs/libwnck-3.14:3 + >=xfce-base/libxfce4util-4.10:= + >=xfce-base/libxfce4ui-4.12:= + >=xfce-base/xfconf-4.13:= + opengl? ( media-libs/libepoxy:=[X(+)] ) + startup-notification? ( x11-libs/startup-notification ) + xcomposite? ( + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXfixes + ) + xpresent? ( x11-libs/libXpresent )" +# libICE/libSM: not really used anywhere but checked by configure +# https://bugzilla.xfce.org/show_bug.cgi?id=11914 +DEPEND="${RDEPEND} + x11-libs/libICE + x11-libs/libSM" +BDEPEND=" + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-gtk_frame_extents.patch" # bug 819771 +) + +src_configure() { + local myconf=( + $(use_enable opengl epoxy) + $(use_enable startup-notification) + $(use_enable xcomposite compositor) + $(use_enable xpresent) + --enable-randr + --enable-render + --enable-xi2 + --enable-xsync + ) + + econf "${myconf[@]}" +} + +pkg_postinst() { + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_icon_cache_update +} |