Bug 448420

Summary: When screen configuration changes, hidden Panel in "Auto-hide" or "Dodge Windows" mode inappropriately becomes shown until clicked again
Product: [Plasma] plasmashell Reporter: Eric Edlund <ericedlund2017>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: andrej.halv, boredsquirrel, bugs.7ng0x, fanzhuyifan, kim-kdebug, nate, ostroffjh, peter, qydwhotmail
Priority: NOR Keywords: multiscreen
Version: 5.23.5   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=478256
Latest Commit: Version Fixed In: 6.0
Sentry Crash Report:
Bug Depends on:    
Bug Blocks: 478797    

Description Eric Edlund 2022-01-14 00:10:04 UTC
SUMMARY
When I put my 2-in-1 in tablet mode and rotate the screen, the panel is shown. The panel is set to "auto hide" and the target behavior, I believe, is not to have it always visible in tablet mode.

STEPS TO REPRODUCE
0. Panel set to "autohide"
1. Fold to tablet mode
2. Rotate

OBSERVED RESULT
Panel is shown

EXPECTED RESULT
It isn't

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Neon 5.23 User Edition
(available in About System)
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Using wayland
Comment 1 Nate Graham 2022-01-14 01:33:24 UTC
Can confirm.
Comment 2 kim 2022-01-15 10:11:03 UTC
The same happens also:
* after lockscreen  ends.
* energy save ends

I would guess that it has to do with multi-screen discovery, but it is annoying with only one screen.
Comment 3 Fushan Wen 2022-01-15 14:24:57 UTC
It's reproducible on both X11 and Wayland.
Comment 4 Bug Janitor Service 2022-01-16 03:34:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1887
Comment 5 kim 2022-04-23 08:21:29 UTC
It seen this bug came back in 5.24 - it is present i Fedora 35 packages
Comment 6 Nate Graham 2022-04-25 15:45:32 UTC
*** Bug 452798 has been marked as a duplicate of this bug. ***
Comment 7 fanzhuyifan 2023-12-19 04:35:26 UTC
Marking as confirmed since the MR was closed.
Comment 8 Nate Graham 2023-12-20 21:29:21 UTC
*** Bug 470760 has been marked as a duplicate of this bug. ***
Comment 9 Nate Graham 2023-12-20 21:45:06 UTC
*** Bug 471482 has been marked as a duplicate of this bug. ***
Comment 10 Andrej Halveland 2023-12-28 11:22:46 UTC
This has been bugging me for some time now. It is especially annoying when you setup automatic switching between refresh rates when on a battery and when plugged in.

Can be easily reproduced via simply changing the refresh rate either through System Settings or through kscreen-doctor.

This is on Plasma 6 Beta 2.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.91.0
KDE Frameworks Version: 5.247.0
Qt Version: 6.7.0 (beta)
Kernel Version: 6.7.0-rc6
Graphics Platform: Wayland
Graphics Drivers: mesa 23.3.1
Processors: AMD Ryzen 9 4900HS
Memory:  24GB of RAM
Graphics Processor: Integrated: Vega 8
Manufacturer: ASUS (Zephyrus G15 GA502IV)
Comment 11 Bug Janitor Service 2024-01-20 17:13:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5010
Comment 12 Bug Janitor Service 2024-01-26 16:11:09 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5049
Comment 13 Bug Janitor Service 2024-01-26 16:46:42 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3831
Comment 14 Vlad Zahorodnii 2024-01-29 09:33:30 UTC
Git commit 2d399e93f0301c43174dc2f35c67c24ee4216b9e by Vlad Zahorodnii.
Committed on 29/01/2024 at 09:14.
Pushed by vladz into branch 'master'.

Relax constraints for screen edges reserved by windows

At the moment, if the workspace extends or shrinks by an output, the
hidden panel will be shown. It doesn't make sense in all cases.

Furthermore, no screen edge will be reserved if the layer surface has
some margins.

To address that, allow "floating" panels reserve screen edges and also
make kwin try harder to preserve window edges if the output layout
changes.

M  +11   -0    autotests/integration/layershellv1window_test.cpp
M  +7    -2    autotests/integration/screenedges_test.cpp
M  +21   -21   src/screenedge.cpp

https://invent.kde.org/plasma/kwin/-/commit/2d399e93f0301c43174dc2f35c67c24ee4216b9e
Comment 15 Vlad Zahorodnii 2024-01-29 09:37:28 UTC
Git commit 80cd4bdbb5a21c364f5ab1818214e928af84bceb by Vlad Zahorodnii.
Committed on 29/01/2024 at 09:37.
Pushed by vladz into branch 'Plasma/6.0'.

Relax constraints for screen edges reserved by windows

At the moment, if the workspace extends or shrinks by an output, the
hidden panel will be shown. It doesn't make sense in all cases.

Furthermore, no screen edge will be reserved if the layer surface has
some margins.

To address that, allow "floating" panels reserve screen edges and also
make kwin try harder to preserve window edges if the output layout
changes.


(cherry picked from commit 2d399e93f0301c43174dc2f35c67c24ee4216b9e)

M  +11   -0    autotests/integration/layershellv1window_test.cpp
M  +7    -2    autotests/integration/screenedges_test.cpp
M  +21   -21   src/screenedge.cpp

https://invent.kde.org/plasma/kwin/-/commit/80cd4bdbb5a21c364f5ab1818214e928af84bceb
Comment 16 Vlad Zahorodnii 2024-01-29 10:08:32 UTC
Git commit bf0b5574368e3b1997be42dc8a9f85db97369766 by Vlad Zahorodnii.
Committed on 29/01/2024 at 09:49.
Pushed by vladz into branch 'master'.

shell: Don't show the panel temporarily on new screen

Screen edge constraints have been relaxed so the panel doesn't need
to issue a hide request on new output anymore.
Related: bug 474699

M  +0    -1    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/bf0b5574368e3b1997be42dc8a9f85db97369766
Comment 17 Vlad Zahorodnii 2024-01-29 10:23:31 UTC
Git commit d7617f5f62408b83ad5433cd4fa464c30278c6b4 by Vlad Zahorodnii.
Committed on 29/01/2024 at 10:10.
Pushed by vladz into branch 'Plasma/6.0'.

shell: Don't show the panel temporarily on new screen

Screen edge constraints have been relaxed so the panel doesn't need
to issue a hide request on new output anymore.
Related: bug 474699


(cherry picked from commit bf0b5574368e3b1997be42dc8a9f85db97369766)

M  +0    -1    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/d7617f5f62408b83ad5433cd4fa464c30278c6b4