diff --git a/0001-client-plasmashell-add-fallback-for-applet-popups.patch b/0001-client-plasmashell-add-fallback-for-applet-popups.patch new file mode 100644 index 0000000..a3e919b --- /dev/null +++ b/0001-client-plasmashell-add-fallback-for-applet-popups.patch @@ -0,0 +1,37 @@ +From d02188ad1f6222215adcf842f4c9806ba9e62ccb Mon Sep 17 00:00:00 2001 +From: Xaver Hugl +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 dc613cb5..93bc31c7 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(); +-- +2.37.3 + diff --git a/kwayland.changes b/kwayland.changes index c736ec9..a233308 100644 --- a/kwayland.changes +++ b/kwayland.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Sep 22 14:35:55 UTC 2022 - Christophe Giboudeaux + +- Add upstream fix (kde#459188) + * 0001-client-plasmashell-add-fallback-for-applet-popups.patch + ------------------------------------------------------------------- Tue Sep 6 07:17:22 UTC 2022 - Christophe Giboudeaux diff --git a/kwayland.spec b/kwayland.spec index 904e309..1fb7459 100644 --- a/kwayland.spec +++ b/kwayland.spec @@ -35,6 +35,8 @@ Source: %{name}-%{version}.tar.xz Source1: %{name}-%{version}.tar.xz.sig Source2: frameworks.keyring %endif +# PATCH-FIX-UPSTREAM +Patch0: 0001-client-plasmashell-add-fallback-for-applet-popups.patch BuildRequires: extra-cmake-modules >= %{_kf5_bugfix_version} BuildRequires: fdupes BuildRequires: kf5-filesystem