Bug 452171

Summary: [Wayland] Rule property "Virtual desktops" doesn't get properly updated on plasma window interface
Product: [Plasma] kwin Reporter: cancel.sizable170
Component: rulesAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: isma.af, jacek.jagosz, kde, nate, stunts
Priority: NOR    
Version: 5.24.4   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.24.5
Sentry Crash Report:

Description cancel.sizable170 2022-04-02 10:43:12 UTC
SUMMARY
Under Wayland session, with several virtual desktops, if you change the "Virtual desktops" property for an application and open this application in a different virtual desktop, the application will appear on several virtual desktop pager and task manager.

STEPS TO REPRODUCE
1. Run plasma under Wayland
2. Create 2 virtual desktops (I'll name them Desktop A and Desktop B but we don't care this is not important)
3. Run an application, e.g. Konsole
4. Right click on the title menu -> More actions -> Configure Special Applications Settings
5. Add property "Virtual Desktop"
6. Set "Apply initially" (works with "Force" too)
7. Set "Desktop B" and apply
8. Right click on the "Task Manager" -> Configure Task Manager...
9. Behavior -> Check "Show only tasks from current desktop"
10. Go on Desktop A
11. Open Konsole

OBSERVED RESULT
Now you should see that the Konsole has opened on Desktop B, but it still appears in the Desktop A's Task Manager, and you can also see the Konsole's window in the pager for Desktop A and B.

EXPECTED RESULT
The application should only appear on the assigned virtual desktop task manager, and only on the right virtual desktop pager.
NB: It works correctly with Xorg.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.17.1
(available in About System)
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Comment 1 Ismael Asensio 2022-04-11 17:10:30 UTC
Git commit 4c8711f121430caa658f9848070e4e25c4a12208 by Ismael Asensio.
Committed on 11/04/2022 at 16:50.
Pushed by iasensio into branch 'master'.

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.
FIXED-IN: 5.24.5

M  +4    -1    src/abstract_client.cpp

https://invent.kde.org/plasma/kwin/commit/4c8711f121430caa658f9848070e4e25c4a12208
Comment 2 Ismael Asensio 2022-04-11 19:43:33 UTC
Git commit c1d7919ad7cc8a7e55f5b93ec84de63547bc53b9 by Ismael Asensio.
Committed on 11/04/2022 at 19:43.
Pushed by iasensio into branch 'Plasma/5.24'.

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.
FIXED-IN: 5.24.5


(cherry picked from commit 4c8711f121430caa658f9848070e4e25c4a12208)

M  +4    -1    src/abstract_client.cpp

https://invent.kde.org/plasma/kwin/commit/c1d7919ad7cc8a7e55f5b93ec84de63547bc53b9
Comment 3 Ismael Asensio 2022-05-03 17:33:49 UTC
*** Bug 453316 has been marked as a duplicate of this bug. ***
Comment 4 Ismael Asensio 2022-06-18 09:12:34 UTC
*** Bug 447876 has been marked as a duplicate of this bug. ***