Bug 493195 - Automatically clone panel when connecting a new display
Summary: Automatically clone panel when connecting a new display
Status: RESOLVED INTENTIONAL
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: master
Platform: Other Other
: NOR wishlist
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-16 12:06 UTC by username981618
Modified: 2024-12-05 20:26 UTC (History)
18 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description username981618 2024-09-16 12:06:07 UTC
Continuation of a feature request from here: https://bugs.kde.org/show_bug.cgi?id=446654

When a new display is added (e.g. external monitor) the existing Plasma panel should be cloned from the main display with exactly the same settings. This is similar to how it works on most other desktops as well as Microsoft Windows.

Currently, Plasma will show the default panel settings and any desired changes (e.g. widgets and settings) need to be manually made again on the new panel.
Comment 1 Maxim 2024-09-16 12:09:04 UTC
I would add that this needs to be configurable in the panel settings - whether it's expected to be cloned or not
Also, the algorithm can be "clone if the monitor doesn't have any panels" in case it's hard to backtrack the link between an already existing panel and its origin
Comment 2 AMJ 2024-09-22 13:47:22 UTC
Is it so hard to just have copy/paste-ability for widgets/panels? Not necessarily cloning/mirroring across monitors just make duplicate or reference like OBS?
Comment 3 EnderArchery 2024-10-15 07:25:16 UTC
I agree that copying the current primary monitors layout to the newly connected display would be very nice.

(In reply to AMJ from comment #2)
> Is it so hard to just have copy/paste-ability for widgets/panels? Not
> necessarily cloning/mirroring across monitors just make duplicate or
> reference like OBS?

This would also be very nice, but maybe just in addition, after the code for copying a refernce layout to another monitor has been implemented anyways?
Comment 4 EnderArchery 2024-10-15 07:30:30 UTC
Can we open up votes for this request? (I am very sorry if this question is meaningless. I've been reading about the voting ability which supposedly is dependent on the product? I however don't exactly know that means in practice)
Comment 5 TraceyC 2024-11-22 14:56:13 UTC
There's work being done on panel cloning now, confirming the feature request.
Comment 6 Nate Graham 2024-11-25 15:22:29 UTC
Manually, though. I don't think we're going to be doing any automatic panel cloning, as the behavior would be challenging to predict:
1. What about monitors that, due to their own hardware issues, get detected as "newly connected" every time?
2. What about setups with more than one panel on the original monitor?
3. What about setups where a single panel on the original monitor would not fit or make sense on a newly connected monitor (e.g. very wide bottom panel on monitor 1, and you connect a new portrait-orientation monitor 2?

For these reasons, there are just too many edge cases, and panel cloning is going to have to be a manual thing.
Comment 7 Maxim 2024-11-25 15:32:01 UTC
(In reply to Nate Graham from comment #6)
> Manually, though. I don't think we're going to be doing any automatic panel
> cloning, as the behavior would be challenging to predict:
> 1. What about monitors that, due to their own hardware issues, get detected
> as "newly connected" every time?
> 2. What about setups with more than one panel on the original monitor?
> 3. What about setups where a single panel on the original monitor would not
> fit or make sense on a newly connected monitor (e.g. very wide bottom panel
> on monitor 1, and you connect a new portrait-orientation monitor 2?
> 
> For these reasons, there are just too many edge cases, and panel cloning is
> going to have to be a manual thing.

Hi Nate, please see my comment in the original feature request: https://bugs.kde.org/show_bug.cgi?id=446654#c47

My suggestion is to always ask the user. I.e., let the user set whether to copy or not some panel to the new monitor. This can be an attribute of the panel and can be False by default. If the user intentionally sets the flag, they agree there can be side effects. In many cases it will just work, however in the those edge cases the users will expect this and maybe temporarily unset the flag. Also, if the copied panel is too wide, the user can super quickly delete it.

This also solves the question how many panels to copy - specifically those that the user has requested to copy.

As I mentioned there the algorithm can also check if the new monitor already has any panels. If there're no panels yet, it looks like the target case for copying the panels. If the monitor already has any panels - big change the user has already connected it before and already done some adjustments. (this behavior just needs to be indicated under some question mark next to the setting)
Comment 8 Nate Graham 2024-11-26 20:33:04 UTC
It's an interesting idea. Can you open a new feature requests for that specific thing so it doesn't get lost?
Comment 9 Maxim 2024-12-05 20:26:36 UTC
(In reply to Nate Graham from comment #8)
> It's an interesting idea. Can you open a new feature requests for that
> specific thing so it doesn't get lost?

Thanks! I've just raised a new feature request: https://bugs.kde.org/show_bug.cgi?id=497100