Bug 426969

Summary: Widget Explorer Rearranges Windows After Closing
Product: [Plasma] plasmashell Reporter: Andres Betts <anditosan1000>
Component: Widget ExplorerAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: kde, kde, nate
Priority: NOR Keywords: wayland
Version: 5.19.90   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.91
Sentry Crash Report:

Description Andres Betts 2020-09-25 18:58:17 UTC
SUMMARY
Whenever the widget panel appears and there are windows behind it, the panel will rearrange windows and dock them to the left of the screen. Not sure what causes it but it is happening.

STEPS TO REPRODUCE
1. Open a few applications
2. Open Widget Sidbar
3. Close Widget Sidebar

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2020-09-26 15:35:16 UTC
Can you attach a screen recording?
Comment 2 Andres Betts 2020-09-27 13:33:16 UTC
I am on wayland so I wasn't able to get a screen recorder so I used my phone.

https://youtu.be/Y90otOIWHjY
Comment 3 Nate Graham 2020-09-28 13:38:09 UTC
That video is marked as private, so I can't see it. I think you want "unlisted" not "private".
Comment 4 Andres Betts 2020-09-29 14:24:51 UTC
VIDEO FIXED!
Comment 5 Nate Graham 2020-09-29 17:11:48 UTC
Thanks, can confirm.
Comment 6 David Edmundson 2022-01-12 17:00:46 UTC
It is a plasma surface with set_role(2) and set_panel_takes_focus(1)
Comment 7 David Edmundson 2022-01-12 17:04:28 UTC Comment hidden (spam)
Comment 8 Nate Graham 2022-01-12 18:25:03 UTC
*** Bug 433793 has been marked as a duplicate of this bug. ***
Comment 9 Bug Janitor Service 2022-01-12 22:22:14 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/429
Comment 10 David Edmundson 2022-01-13 10:47:22 UTC
Git commit d40d36057a0ee9fcb4badc7ff8b56844da79dfc8 by David Edmundson.
Committed on 13/01/2022 at 10:36.
Pushed by davidedmundson into branch 'master'.

Always sync the setPanelBehavior to wayland

Currently this code is in the else statement to if (type !=
Dialog::Normal) {

This doesn't make sense as panel roles apply explicitly to other types,
like Dialog::Dock. On X11 the equivalent always applies.

M  +10   -10   src/plasmaquick/dialog.cpp

https://invent.kde.org/frameworks/plasma-framework/commit/d40d36057a0ee9fcb4badc7ff8b56844da79dfc8