diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2022-09-24 21:34:11 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2022-09-24 22:39:38 +0200 |
commit | f56997f551acc1a3adc6da6c7271060379fce56f (patch) | |
tree | 7063ace90ce64c802e2c33fa368ad1dd93a131aa /kde-frameworks/kwayland/files | |
parent | app-admin/vault: drop 1.10.5, 1.11.1, 1.11.2 (diff) | |
download | gentoo-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.patch | 37 |
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 + |