Bug 438114

Summary: When reconnecting my display, the panel on that display disappears.
Product: [Plasma] plasmashell Reporter: bugs.kde.org
Component: generic-multiscreenAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: aleixpol, alex765, alex, harry, katyaberezyaka, madcatx, nate, notmart, qydwhotmail, sephiroth_pk, sommerluk
Priority: VHI Keywords: regression
Version: 5.21.5   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=450443
Latest Commit: Version Fixed In: 5.24.6
Sentry Crash Report:

Description bugs.kde.org 2021-06-05 11:52:48 UTC
SUMMARY
When disconnecting/reconnecting my display, the panel on that display disappears.

STEPS TO REPRODUCE
1. add panel to faulty display
2. let display go to sleep, wake & login, panel is gone

OBSERVED RESULT
Panel is gone

EXPECTED RESULT
Panel should still be there, since it's the same display/id/etc

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch linux 5.12.8
(available in About System)
KDE Plasma Version: 5.21.5
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
My display is faulty and reconnects after sleeping - for some reason, this is registered as a new display (I think) and the panel stays on the 'old' display, thus disappearing.

Editing '.config/plasma-org.kde.plasma.desktop-appletsrc', changing the 'lastscreen' value of the panel to 0 and restarting plasma will move the panel to my primary monitor, so I can manually place it on my faulty secondary.

If someone could give a procedure to list saved displays, this could help confirm my theory, since I expect a lot of duplicate entries of my faulty secondary monitor.
Comment 1 Nate Graham 2021-06-09 23:31:36 UTC
*** Bug 438293 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2021-06-16 17:21:25 UTC
*** Bug 438665 has been marked as a duplicate of this bug. ***
Comment 3 harry 2021-07-09 13:10:24 UTC
I also have this issue if my display gets disconnected whilst logged in. If it gets disconnected whilst not logged in it works though, a restart of the computer restores the original session. (Plasma crashing and restarting sometimes restores the session but not always)

Operating System: Kubuntu 21.04
KDE Plasma Version: 5.22.3
KDE Frameworks Version: 5.83.0
Qt Version: 5.15.2
Kernel Version: 5.11.0-22-generic (64-bit)
Graphics Platform: Wayland
Processor: Intel® Core™ i7-8850H CPU
Graphics Processor: Mesa Intel® UHD Graphics 630
Comment 4 Nate Graham 2021-08-17 15:55:52 UTC

*** This bug has been marked as a duplicate of bug 356225 ***
Comment 5 Nate Graham 2021-10-06 19:09:28 UTC

*** This bug has been marked as a duplicate of bug 356727 ***
Comment 6 Marco Martin 2022-02-21 10:58:45 UTC
if you restart plasma without editing the config file, does the panel reappear?
also, if the panel is set to "always visible", does it reserver space on maximized windows?
I see that sometimes (only on X11) when changins screen (for instance external screen connected to laptop, closing the lid causing the panels and desktop go from internal screen to external screen) the panel stays on the wrong screen mostly (only a single pixel of the panel visible on the proper screen, with correct struts, so maximized windows leave the proper space. restarting plasma then the layout is fine.
This is probably caused by sequence of events on x11 not correct, either the panel moved away due its own struts, or tries to sync is geometry to the screen before the screen has the proper, final geometry
Comment 7 Bug Janitor Service 2022-02-21 12:47:12 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1479
Comment 8 Marco Martin 2022-02-22 12:11:13 UTC
Git commit 8cfd0464c1455ef9f596bca79a0beac9999bfff2 by Marco Martin.
Committed on 22/02/2022 at 11:52.
Pushed by mart into branch 'master'.

Prevent panel going out of screen boundaries

On multiscreen (seems to happen only on X11 so far) when screen are
added and moved, sometimes the panel gets moved by the window manager
ending up out of screen boundaries, leaving  a screen without  panel
a common scenario is:
laptop with external screen connected, panel on internal screen,
close the lid, everything gets moved to the external screen,
the panel  will stay out of screen boundaries, but the panel struts are correct

M  +3    -0    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/8cfd0464c1455ef9f596bca79a0beac9999bfff2
Comment 9 Marco Martin 2022-02-22 15:12:45 UTC
Git commit f7a1a5dd04228adaa096f1ff4c768c3b8e158b5d by Marco Martin.
Committed on 22/02/2022 at 15:12.
Pushed by mart into branch 'Plasma/5.24'.

Prevent panel going out of screen boundaries

On multiscreen (seems to happen only on X11 so far) when screen are
added and moved, sometimes the panel gets moved by the window manager
ending up out of screen boundaries, leaving  a screen without  panel
a common scenario is:
laptop with external screen connected, panel on internal screen,
close the lid, everything gets moved to the external screen,
the panel  will stay out of screen boundaries, but the panel struts are correct

M  +3    -0    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/f7a1a5dd04228adaa096f1ff4c768c3b8e158b5d
Comment 10 Nate Graham 2022-02-22 16:30:01 UTC
*** Bug 450435 has been marked as a duplicate of this bug. ***
Comment 11 Fushan Wen 2022-06-27 05:05:34 UTC
Git commit 41fb821545aac4df273fb45d0e4de9ab49143d9c by Fushan Wen.
Committed on 27/06/2022 at 05:04.
Pushed by fusionfuture into branch 'Plasma/5.25'.

shell: refresh geometries of all `DesktopView` and `PanelView` when receiving `logicalDotsPerInchChanged`

Workaround for https://codereview.qt-project.org/c/qt/qtbase/+/413380
Related: bug 450443
FIXED-IN: 5.24.6

(cherry picked from cea5cba30890fab992dab2be6ea69521aef0eac0)

M  +8    -0    shell/desktopview.cpp
M  +8    -0    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/41fb821545aac4df273fb45d0e4de9ab49143d9c
Comment 12 Fushan Wen 2022-06-27 05:05:50 UTC
Git commit 68ed1677ac334dafb8a319bda419105c9d88adbb by Fushan Wen.
Committed on 27/06/2022 at 05:04.
Pushed by fusionfuture into branch 'Plasma/5.25'.

Revert "Prevent panel going out of screen boundaries"

After the culprit has been found, the hack is not needed anymore.

This reverts commit 8cfd0464c1455ef9f596bca79a0beac9999bfff2.

M  +0    -3    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/68ed1677ac334dafb8a319bda419105c9d88adbb
Comment 13 Fushan Wen 2022-06-27 05:09:59 UTC
Git commit 24229d78de805626d871ac25400ad465d97f4b74 by Fushan Wen.
Committed on 27/06/2022 at 05:08.
Pushed by fusionfuture into branch 'Plasma/5.24'.

Revert "Prevent panel going out of screen boundaries"

After the culprit has been found, the hack is not needed anymore.

This reverts commit 8cfd0464c1455ef9f596bca79a0beac9999bfff2.
This reverts commit f7a1a5dd04228adaa096f1ff4c768c3b8e158b5d.

(cherry picked from 68ed1677ac334dafb8a319bda419105c9d88adbb)

M  +0    -3    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/24229d78de805626d871ac25400ad465d97f4b74
Comment 14 Fushan Wen 2022-06-28 10:48:23 UTC
Git commit ed85dd99d49a3f98396b27ec273b8dcd97a422e9 by Fushan Wen.
Committed on 28/06/2022 at 10:48.
Pushed by fusionfuture into branch 'cherry-pick-68ed1677'.

Revert "Prevent panel going out of screen boundaries"

After the culprit has been found, the hack is not needed anymore.

This reverts commit 8cfd0464c1455ef9f596bca79a0beac9999bfff2.


(cherry picked from commit 68ed1677ac334dafb8a319bda419105c9d88adbb)

M  +0    -3    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/ed85dd99d49a3f98396b27ec273b8dcd97a422e9
Comment 15 Bug Janitor Service 2022-06-28 10:48:42 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1877
Comment 16 Fushan Wen 2022-06-30 13:51:09 UTC
Git commit 17774bc4c673294a7c8a6e80660d83cce1ba8891 by Fushan Wen.
Committed on 30/06/2022 at 13:44.
Pushed by fusionfuture into branch 'master'.

Revert "Prevent panel going out of screen boundaries"

After the culprit has been found, the hack is not needed anymore.

This reverts commit 8cfd0464c1455ef9f596bca79a0beac9999bfff2.
(cherry picked from commit 68ed1677ac334dafb8a319bda419105c9d88adbb)

M  +0    -3    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/17774bc4c673294a7c8a6e80660d83cce1ba8891
Comment 17 Riccardo Robecchi 2022-07-02 09:48:56 UTC
By the description of the previous commenters, this could also be related to bug 429266. Could they check if the display name changes in System Settings?
Comment 18 Bug Janitor Service 2022-09-16 07:32:10 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2125
Comment 19 Marco Martin 2022-09-16 14:34:45 UTC
Git commit 9c7ac7061c5c85d63875eaee70793ba04334c1d0 by Marco Martin, on behalf of Fushan Wen.
Committed on 16/09/2022 at 14:34.
Pushed by mart into branch 'master'.

Revert "Revert "Prevent panel going out of screen boundaries""

This reverts commit 17774bc4c673294a7c8a6e80660d83cce1ba8891

There is still a known culprit (duplicate display names) so the hack shouldn't be reverted.
Related: bug 353975

M  +3    -0    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/9c7ac7061c5c85d63875eaee70793ba04334c1d0
Comment 20 Fushan Wen 2022-09-16 14:35:38 UTC
Git commit df793b9bbd874776ad65808893717517c1c0e5ec by Fushan Wen.
Committed on 16/09/2022 at 14:35.
Pushed by fusionfuture into branch 'Plasma/5.26'.

Revert "Revert "Prevent panel going out of screen boundaries""

This reverts commit 17774bc4c673294a7c8a6e80660d83cce1ba8891

There is still a known culprit (duplicate display names) so the hack shouldn't be reverted.
Related: bug 353975


(cherry picked from commit 9c7ac7061c5c85d63875eaee70793ba04334c1d0)

M  +3    -0    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/df793b9bbd874776ad65808893717517c1c0e5ec
Comment 21 Fushan Wen 2022-09-21 06:54:24 UTC
Git commit 579075f53a49c4e248b5d83a43ee83a903b06272 by Fushan Wen.
Committed on 21/09/2022 at 06:54.
Pushed by fusionfuture into branch 'Plasma/5.24'.

Revert "Revert "Prevent panel going out of screen boundaries""

This reverts commit 17774bc4c673294a7c8a6e80660d83cce1ba8891

There is still a known culprit (duplicate display names) so the hack shouldn't be reverted.
Related: bug 353975


(cherry picked from commit 9c7ac7061c5c85d63875eaee70793ba04334c1d0)

M  +3    -0    shell/panelview.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/579075f53a49c4e248b5d83a43ee83a903b06272