diff options
-rw-r--r-- | kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch | 37 | ||||
-rw-r--r-- | kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild | 41 |
2 files changed, 78 insertions, 0 deletions
diff --git a/kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch b/kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch new file mode 100644 index 000000000000..7cc45ad8e2e6 --- /dev/null +++ b/kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch @@ -0,0 +1,37 @@ +From d02188ad1f6222215adcf842f4c9806ba9e62ccb Mon Sep 17 00:00:00 2001 +From: Xaver Hugl <xaver.hugl@gmail.com> +Date: Sat, 17 Sep 2022 01:18:28 +0200 +Subject: [PATCH] client/plasmashell: add fallback for applet popups + +When the compositor doesn't support applet popups, the current code sends an +invalid surface role. This causes KWin to fall back to the "normal" surface role +and do normal window placement on it. + +CCBUG: 459188 +--- + src/client/plasmashell.cpp | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/client/plasmashell.cpp b/src/client/plasmashell.cpp +index dc613cb..93bc31c 100644 +--- a/src/client/plasmashell.cpp ++++ b/src/client/plasmashell.cpp +@@ -276,7 +276,14 @@ void PlasmaShellSurface::setRole(PlasmaShellSurface::Role role) + } + break; + case Role::AppletPopup: +- wlRole = ORG_KDE_PLASMA_SURFACE_ROLE_APPLETPOPUP; ++ // ORG_KDE_PLASMA_SURFACE_ROLE_APPLETPOPUP_SINCE_VERSION is not used for this check ++ // because it wrongly is 7 with old plasma wayland protocols ++ if (wl_proxy_get_version(d->surface) < 8) { ++ // dock is what applet popups were before ++ wlRole = ORG_KDE_PLASMA_SURFACE_ROLE_PANEL; ++ } else { ++ wlRole = ORG_KDE_PLASMA_SURFACE_ROLE_APPLETPOPUP; ++ } + break; + default: + Q_UNREACHABLE(); +-- +GitLab + diff --git a/kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild b/kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild new file mode 100644 index 000000000000..59884e1adf75 --- /dev/null +++ b/kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_TEST="true" +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.5 +inherit ecm frameworks.kde.org + +DESCRIPTION="Qt-style client and server library wrapper for Wayland libraries" +HOMEPAGE="https://invent.kde.org/frameworks/kwayland" + +LICENSE="LGPL-2.1" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="" + +# All failing, I guess we need a virtual wayland server +RESTRICT="test" + +# slot ops: includes qpa/qplatformnativeinterface.h, surface_p.h +RDEPEND=" + >=dev-libs/wayland-1.15.0 + >=dev-qt/qtconcurrent-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5=[egl] + >=dev-qt/qtwayland-${QTMIN}:5= + media-libs/libglvnd +" +DEPEND="${RDEPEND} + >=dev-libs/plasma-wayland-protocols-1.7.0 + >=dev-libs/wayland-protocols-1.15 + sys-kernel/linux-headers +" +BDEPEND=" + >=dev-qt/qtwaylandscanner-${QTMIN}:5 + >=dev-util/wayland-scanner-1.19.0 +" + +PATCHES=( + "${FILESDIR}/${P}-plasmashell-fallback-for-applet-popups.patch" +) |