Bug 493143

Summary: In desktop edit mode, auto-hide panel space is invisibly taken up, leading to a confusing interface, lost widgets, and hanging plasmashell
Product: [Plasma] plasmashell Reporter: cwo <cwo.kde>
Component: Edit ModeAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: nate
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.2.0
Sentry Crash Report:

Description cwo 2024-09-15 09:12:45 UTC
SUMMARY

Auto-hiding panels still invisibly take up space in the miniature desktop, leading to all sort of weird issues.

This is most noticable with a very wide side panel. Reproduced on master, 6.1.4 on Tuxedo, and in a VM with Fedora 40.

If you do this, and interact with existing desktop widgets, all sort of weirdness happens - things get moved to panels, vanish completely, I've had plasmashell hang so completely it required SIGKILL (though I can't reproduce that one)...

Reproduction steps are an example

STEPS TO REPRODUCE
1. Create a panel on the left-hand side that takes up somewhere around 30-40 percent of the screen and set it to autohide. Put Analog Clock on it
2. Repeat the same on the right-hand side
3. Enter desktop Edit mode and add a Sticky note widget in the middle of the screen. Try to resize it to the edge of the desktop. Try to move it to the side of the desktop.

OBSERVED RESULT

The sticky note can't be resized to cover the part of the desktop that the panel would cover if it were always visible. Trying to move the applet to that area on the desktop instead places it on the panel. 

EXPECTED RESULT

The sticky note widget can be resized and repositioned to cover all visible areas on the desktop 

SOFTWARE/OS VERSIONS

Operating System: TUXEDO OS 3
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.8.0-101041-tuxedo (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-6200U CPU @ 2.30GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 520

(for the Tuxedo version)

ADDITIONAL INFORMATION
Comment 1 Bug Janitor Service 2024-09-16 15:32:58 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2525
Comment 2 Bug Janitor Service 2024-09-16 15:33:51 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4706
Comment 3 Marco Martin 2024-09-17 09:42:53 UTC
Git commit dd1df88ffa7c8254b1cb492ff01476b14edc4d03 by Marco Martin.
Committed on 17/09/2024 at 09:42.
Pushed by mart into branch 'master'.

Always consider autohide panels in the edit mode zoom

introduce a new property strictAvailableScreenRect which is the
available screen rect, always excluding the panel geometries,
*also autohide panels* This is used only by edit mode zoom,
while everything else still uses availableScreenRect.
This is necessary as before when going in edit mode the
autohide panels were considered, so the available space
on desktop layout changed on the fly when going in edit mode,
making impossible to properly configure desktop widgets when an
autohide panel is present

depends from https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2525

M  +30   -0    shell/desktopview.cpp
M  +9    -0    shell/desktopview.h
M  +29   -1    shell/shellcorona.cpp
M  +1    -0    shell/shellcorona.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/dd1df88ffa7c8254b1cb492ff01476b14edc4d03
Comment 4 Marco Martin 2024-09-17 10:00:17 UTC
Git commit be54c23c4add4b1b92b614d586eba5f9fee2f1db by Marco Martin.
Committed on 17/09/2024 at 10:00.
Pushed by mart into branch 'master'.

Always consider autohide panels in the edit mode zoom

introduce a new property strictAvailableScreenRect which is the
available screen rect, always excluding the panel geometries,
*also autohide panels* This is used only by edit mode zoom,
while everything else still uses availableScreenRect.
This is necessary as before when going in edit mode the
autohide panels were considered, so the available space
on desktop layout changed on the fly when going in edit mode,
making impossible to properly configure desktop widgets when an
autohide panel is present

depends from https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4706

M  +1    -1    desktoppackage/contents/views/Desktop.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/be54c23c4add4b1b92b614d586eba5f9fee2f1db
Comment 5 Marco Martin 2024-09-17 10:28:53 UTC
Git commit 3df658945a59a6cf6666139e0beee683fab0b27d by Marco Martin.
Committed on 17/09/2024 at 10:28.
Pushed by mart into branch 'Plasma/6.2'.

Always consider autohide panels in the edit mode zoom

introduce a new property strictAvailableScreenRect which is the
available screen rect, always excluding the panel geometries,
*also autohide panels* This is used only by edit mode zoom,
while everything else still uses availableScreenRect.
This is necessary as before when going in edit mode the
autohide panels were considered, so the available space
on desktop layout changed on the fly when going in edit mode,
making impossible to properly configure desktop widgets when an
autohide panel is present

depends from https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2525


(cherry picked from commit dd1df88ffa7c8254b1cb492ff01476b14edc4d03)

M  +30   -0    shell/desktopview.cpp
M  +9    -0    shell/desktopview.h
M  +29   -1    shell/shellcorona.cpp
M  +1    -0    shell/shellcorona.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/3df658945a59a6cf6666139e0beee683fab0b27d
Comment 6 Marco Martin 2024-09-17 10:40:43 UTC
Git commit 19f473534c8b7e95567803161a700fb80344372e by Marco Martin.
Committed on 17/09/2024 at 10:30.
Pushed by mart into branch 'Plasma/6.2'.

Always consider autohide panels in the edit mode zoom

introduce a new property strictAvailableScreenRect which is the
available screen rect, always excluding the panel geometries,
*also autohide panels* This is used only by edit mode zoom,
while everything else still uses availableScreenRect.
This is necessary as before when going in edit mode the
autohide panels were considered, so the available space
on desktop layout changed on the fly when going in edit mode,
making impossible to properly configure desktop widgets when an
autohide panel is present

depends from https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4706


(cherry picked from commit be54c23c4add4b1b92b614d586eba5f9fee2f1db)

623b22c6 Always consider autohide panels in the edit mode zoom

Co-authored-by: Marco Martin <notmart@gmail.com>

M  +1    -1    desktoppackage/contents/views/Desktop.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/19f473534c8b7e95567803161a700fb80344372e