summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-09-24 21:34:11 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2022-09-24 22:39:38 +0200
commitf56997f551acc1a3adc6da6c7271060379fce56f (patch)
tree7063ace90ce64c802e2c33fa368ad1dd93a131aa /kde-frameworks/kwayland/files
parentapp-admin/vault: drop 1.10.5, 1.11.1, 1.11.2 (diff)
downloadgentoo-f56997f551acc1a3adc6da6c7271060379fce56f.tar.gz
gentoo-f56997f551acc1a3adc6da6c7271060379fce56f.tar.bz2
gentoo-f56997f551acc1a3adc6da6c7271060379fce56f.zip
kde-frameworks/kwayland: Fix misplaced panel popups in Plasma Wayland
Upstream commit d02188ad1f6222215adcf842f4c9806ba9e62ccb See also: https://mail.kde.org/pipermail/kde-frameworks-devel/2022-September/123098.html Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks/kwayland/files')
-rw-r--r--kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch37
1 files changed, 37 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
+