diff options
Diffstat (limited to 'kde-plasma/kwin/files/kwin-5.24.4-fix-current-VD-always-added.patch')
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.24.4-fix-current-VD-always-added.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.24.4-fix-current-VD-always-added.patch b/kde-plasma/kwin/files/kwin-5.24.4-fix-current-VD-always-added.patch new file mode 100644 index 000000000000..195d33b1f3a2 --- /dev/null +++ b/kde-plasma/kwin/files/kwin-5.24.4-fix-current-VD-always-added.patch @@ -0,0 +1,50 @@ +From c1d7919ad7cc8a7e55f5b93ec84de63547bc53b9 Mon Sep 17 00:00:00 2001 +From: Ismael Asensio <isma.af@gmail.com> +Date: Fri, 8 Apr 2022 22:53:08 +0200 +Subject: [PATCH] AbstractClient: Fix the current VD being always added to the + plasma interface + +When setting-up the plasma window interface we need to call +`setOnAllDesktops()` after the actual virtual desktops have +been set. + +Otherwise, the current desktop would be always added to the +interface (as if the user were unsetting the "onAllDesktops" +flag) and the plasma interface and KWin can get un-synced, +specially if there are specific window rules. + +BUG: 452171 +FIXED-IN: 5.24.5 + + +(cherry picked from commit 4c8711f121430caa658f9848070e4e25c4a12208) +--- + src/abstract_client.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/abstract_client.cpp b/src/abstract_client.cpp +index 7e8a7eec04..0714b9ac3f 100644 +--- a/src/abstract_client.cpp ++++ b/src/abstract_client.cpp +@@ -1488,7 +1488,6 @@ void AbstractClient::setupWindowManagementInterface() + w->setKeepBelow(keepBelow()); + w->setMaximized(maximizeMode() == KWin::MaximizeFull); + w->setMinimized(isMinimized()); +- w->setOnAllDesktops(isOnAllDesktops()); + w->setDemandsAttention(isDemandingAttention()); + w->setCloseable(isCloseable()); + w->setMaximizeable(isMaximizable()); +@@ -1620,6 +1619,10 @@ void AbstractClient::setupWindowManagementInterface() + for (const auto vd : qAsConst(m_desktops)) { + w->addPlasmaVirtualDesktop(vd->id()); + } ++ // We need to set `OnAllDesktops` after the actual VD list has been added. ++ // Otherwise it will unconditionally add the current desktop to the interface ++ // which may not be the case, for example, when using rules ++ w->setOnAllDesktops(isOnAllDesktops()); + + //Plasma Virtual desktop management + //show/hide when the window enters/exits from desktop +-- +GitLab + |