Bug 355466

Summary: Multihead: Panels from one monitor disappear and cannot be recovered if that monitor is disconnected
Product: [Plasma] plasmashell Reporter: eggheaddash81
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED WORKSFORME    
Severity: minor CC: eggheaddash81, honzulak1, kde, nidi, notuxius, rapiteanu.catalin, simgunz
Priority: NOR    
Version: 5.4.3   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description eggheaddash81 2015-11-17 04:35:08 UTC
If a panel exists on one monitor of a multihead system and one monitor is removed any panels that were on that monitor cannot be accessed or moved to the remaining monitor(s) until the original monitor is plugged back in, forcing the user to recreate them until they can plug the monitor back in (which may not always be possible on a laptop). Current workarounds are moving any desired panels to the remaining monitor(s) before unplugging, or temporarily recreating it from the user's memory until replugging is possible. It seems to especially occur if the system is shut down before unplugging. Sometimes, if the primary monitor is unplugged, any panels on it will be moved to a secondary monitor but any panels that were on that secondary monitor will be lost.

Reproducible: Sometimes

Steps to Reproduce:
1. Have a multihead system
2. Have a different panel layout on each monitor
3. Unplug one monitor

Actual Results:  
Any panels which were placed on the unplugged monitor cannot be recovered until the monitor is plugged back in.

Expected Results:  
Panels which were on the unplugged monitor should bounce to the one that is still available, or be hidden with a right-click option to show hidden panels on the current monitor.

Typically I have my laptop plugged into the TV with, the TV configured to be above my laptop (they are both the exact same resolution). I have a panel that runs across the top of the TV and another panel that runs across the side of the laptop monitor. If I unplug the laptop from the TV, I cannot access the top panel until I plug the TV back in. This can be particularly annoying if I am leaving the house, as it forces me to recreate that panel temporarily until I get back home.
Comment 1 Simone Gaiarin 2015-12-16 15:44:33 UTC
I have the same problem. 

I add another scenario:

- Panel is on primary monitor only

1. Connect external monitor
2. Configure it as "unify output" in order to mirror the primary monitor. 
3. Put PC to sleep
4. Disconnect external monitor

Result:
The panel is not on the primary monitor any more, but it still exists and is unaccessible.

Expected result:
Panel on the primary monitor as it was before connecting the external monitor.

Regarding one the proposed solutions given by eggheaddash81:
- Bringing back the panel on the external monitor to the primary one when the first is unplugged is problematic. If we have one panel per monitor, after unplugging we will have two panels on the primary monitor, which is very annoying. Indeed it was considered a bug on plasma4
See:
 https://bugs.kde.org/show_bug.cgi?id=295784

Proposed solution:
- The panel should remain attached to the specific monitor as it is now, so that when the monitor is reconnected it will reappear on that monitor. (Different monitors should be able to remember different panels, as it happens for screen configurations)
- BUT when the monitor is not connected the panel should not exist (not just be hidden), and it should be recreated only when the monitor is reconnected 
- When working with unified output the panel should not disappear from the primary monitor when the external one is disconnected (this is clearly a bug)
Comment 2 Simone Gaiarin 2015-12-16 16:20:14 UTC
To reset plasma configuration and get rid of the phantom panels, I removed the following files:

~/.config/plasma-org.kde.plasma.desktop-appletsrc
~/.config/plasmashellrc

Maybe there is a less destructive way to fix it.
Comment 3 Thomas Abraham 2016-01-27 20:21:27 UTC
For the "less destructive" workaround, please, see #356225, comment 10.
plasma-org.kde.plasma.desktop-appletsrc:
-lastScreen=1
+lastScreen=0
Comment 4 Alexander Mentyu 2018-03-05 14:49:56 UTC
Can you still reproduce this bug?
Comment 5 Simone Gaiarin 2018-03-05 14:58:48 UTC
Fixed for me.
Comment 6 Christoph Feck 2018-03-30 12:11:16 UTC
Thanks for the update; closing.