Summary: | Feature Request: mirror a panel on all monitors | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | George Troulis <georgetroulis> |
Component: | Panel | Assignee: | Aleix Pol <aleixpol> |
Status: | CLOSED INTENTIONAL | ||
Severity: | wishlist | CC: | 4wy78uwh, 60f31543-f82f-492a-8430-25db5521568b, alpersal235, bbaovanc, bencvdv, bnafta, boredsquirrel, boslmari7, bronsonmathews, Bugs.kde.org, bwbionicle, cheery.idea2032, chermnykh2001, clay, damaniakaushal4, dave, dcostroff, dennis.lissov, dr460nf1r3, ducouedicsophie, eliott.chytil, endrebjorsvik, evanc577, fanzhuyifan, formularsumo, fzwart, georgetroulis, gs2, guyven, herzenschein, j.chataignon, j.straight-kde, jackyguo18, jendal, jgqehj55, jgrdlgrd, joni.hilger, justinsojolly, kde, kde, keigh.rim, kev.metalwave, kubek-93, l.allulli, lcarmona, leereyzhe, leonvincenterd, luisbocanegra17b, mail, maxim.kukushkin, michele.mazza, milan, minterior, natalie_clarius, nate, natetronn, niccolo.venerandi, niccolo, nnikita.beloglazov, null, pansorg, pavila10alt, plasma-bugs, postix, r.kunschke, rexbinary, robin.rateau, severin.hamader, squale, ssi16.10.91, sylvainfaivre, szauer.mark, tani.giovonni, tcl_de, theneutralcat, unkinkedmedal94, vlpetrov02, wazhai |
Priority: | HI | Keywords: | usability |
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | unspecified | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=412588 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Bug Depends on: | 443036 | ||
Bug Blocks: |
Description
George Troulis
2021-12-07 23:18:19 UTC
i agree this would be cool. Yes, this is an idea we're pursuing soon! *** Bug 447012 has been marked as a duplicate of this bug. *** *** Bug 448678 has been marked as a duplicate of this bug. *** *** Bug 420854 has been marked as a duplicate of this bug. *** *** Bug 454458 has been marked as a duplicate of this bug. *** Has there been any progress towards this or are they waiting on someone to make a PR? This option will be really nice. Other possibility would be backup/export the panel (but in this case, the notification area could crash). This would be *really* nice to have. This would be very helpful. Better than that, just something that works totally out of the box on multiple monitors like the panel provided by tint2. tint2 is not as powerful and customizable as plasma panels, but at least it works well with multiple screens. Indeed a very helpful feature! 2-3 monitors are currently very time-consuming to set up if everything needs to be created manually. It would also enable distributions to ship multi-monitor configured out of the box rather than leaving users on their own. It would save a lot of time spent on redoing panels on external displays. *** Bug 462771 has been marked as a duplicate of this bug. *** Is there anything blocking this? I can see requests from 7+ years ago in KDE 4 asking for this, how has this not been added yet? *** Bug 463260 has been marked as a duplicate of this bug. *** "IDEAL SOLUTION Repeat #2 for each monitor" This might be useful for more customized setups, but to cover 95% of use cases a setting similar to other DEs along the lines of "Show this panel on all monitors" seems far more ideal and user-friendly. *** Bug 466558 has been marked as a duplicate of this bug. *** Yes please that would be a nice feature! This would be extremely helpful, would like to see this. Additional forum posts about this: https://askubuntu.com/questions/1265917/how-to-show-kde-panel-at-all-monitors https://www.reddit.com/r/kde/comments/m2i8fh/taskbar_on_both_monitors/ (related) https://www.kubuntuforums.net/forum/archives/eol-releases/-20-10/software-support-bd/72357-kde-plasma-default-panel-on-multiple-montiors SUGGESTED SOLUTIONS so far: - a "mirror an existing panel" option when creating a new panel - a "duplicate this panel" option in Edit Mode - a "show this panel on all monitors" option in Edit Mode - "show primary screen's panels on this screen" in Display Settings - "export to file"/"import from file" features for panels Would love to see this feature added as well; please. +1 on this feature Please allow me to submit my vote for this feature as well. (In reply to Natetronn from comment #23) > Please allow me to submit my vote for this feature as well. https://bugs.kde.org/describecomponents.cgi?product=plasmashell has disabled bug votes. I agree, this would be very helpful (In reply to third="Beedell", first="Roke", second="Julian Lockhart" from comment #24) > (In reply to Natetronn from comment #23) > > Please allow me to submit my vote for this feature as well. > > https://bugs.kde.org/describecomponents.cgi?product=plasmashell has disabled > bug votes. Thanks. Yeah, I meant it metaphorically :-D I think this should be something that could be possible from the beginning. I have a DP and HDMI monitor and I can't just have the panel on the DP monitor, not on Xorg, at least. Not certain how related this is behind the scenes (if at all) but a more general way of copying widgets, panels, etc. between monitors would be good as well. Panels and widgets seem to be related to some degree, but I'm not sure quite how much they are or if a generalised method of copying/mirroring would be possible. What is the status of this?? This is years old, how is it not possible to duplicate a panel for all monitors? This is getting pathetic and extremely frustrating. Please revisit this and push this out to the code base. Yeah, I am waiting for this since `2023-01-10 14:42:16 UTC`. Yesterday I have formatted my PC and even though I do not customize my panels anywhere near avg. Arch user, it was really unsatisfying doing everything from the start. And I only have two monitors. It is really annoying how this is still not implemented. (In reply to justinsojolly from comment #29) > What is the status of this?? This is years old, how is it not possible to > duplicate a panel for all monitors? This is getting pathetic and extremely > frustrating. Please revisit this and push this out to the code base. If you submit a MR for it I am sure it would get reviewed and considered :) Alternately, there is also the sponsored work section where you could post a bounty for this: https://discuss.kde.org/c/development/sponsored-work/31 Unfortunately KDE is driven by volunteers, and there are always more tasks than developers available. So if you really want to see some feature implemented, the best way is to submit a MR (it doesn't have to be perfect), or sponsor someone to do it. This probably should depend on https://invent.kde.org/plasma/plasma-desktop/-/issues/113 because duplicating some widgets may break some functionality (In reply to Dmitrii Chermnykh from comment #32) > This probably should depend on > https://invent.kde.org/plasma/plasma-desktop/-/issues/113 because > duplicating some widgets may break some functionality I currently have two screens with duplicate system trays containing the applets, and I don't seem to notice any issues. (In reply to fanzhuyifan from comment #33) > (In reply to Dmitrii Chermnykh from comment #32) > > This probably should depend on > > https://invent.kde.org/plasma/plasma-desktop/-/issues/113 because > > duplicating some widgets may break some functionality > > I currently have two screens with duplicate system trays containing the > applets, and I don't seem to notice any issues. I used to have problems with media keys because they were handled by 2 instances of media player applet https://bugs.kde.org/show_bug.cgi?id=391578 https://bugs.kde.org/show_bug.cgi?id=409190 *** Bug 484110 has been marked as a duplicate of this bug. *** yes a big problem is that every external display needs to get the panel created new, which is especially bad when presenting, or using a TV etc. Is there really no updates on this? It's the main reason why I haven't switched to kde yet. I dared to change platform as this affects all linux users. I dared to change version as there is no attempt to provide this feature in any branch afaik Yes please, this will be a very useful feature. It's not very imperative to create new panels for each screen. This feature would make the transition for Windows users (like me) much, MUCH smoother. It's one of the most noticeable and arbitrarily worse differences between daily driving Windows vs KDE plasma. A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4623 After some investigation, I believe that the technical implementation of this is de-facto impossible; however, a very similar feature - the ability to clone a panel from a monitor to another - was implemented, and thus I'm closing this as wontfix. To elaborate, it's already quite complex to have two different panels who should follow the same set of settings (a major rewrite would be needed for that); but, on top of that, monitors can have different sizes and thus the same panel should have to be mirrored with different looks on different panels, potentially interfering with the settings. There would be a lot of combinations possible, and I believe they would be prone to breakage. (In reply to Niccolò Venerandi from comment #42) > After some investigation, I believe that the technical implementation of > this is de-facto impossible; however, a very similar feature - the ability > to clone a panel from a monitor to another - was implemented, and thus I'm > closing this as wontfix. > > To elaborate, it's already quite complex to have two different panels who > should follow the same set of settings (a major rewrite would be needed for > that); but, on top of that, monitors can have different sizes and thus the > same panel should have to be mirrored with different looks on different > panels, potentially interfering with the settings. There would be a lot of > combinations possible, and I believe they would be prone to breakage. Could you please elaborate a bit more on the panel cloning? Last time I tried to do this I found it quite complicated. Basically there were no controls to clone a panel and the panels are not stored anywhere in a simple format on a filesystem, so that it could be somehow automated Given the amount of comments in this feature request and points that it's big UI experience downgrade when coming from other platforms, this feature needs to be implemented in one way or another. Even if a panel can be cloned with several clicks, it's still quite cumbersome to do, especially when we're talking about laptops which can be attached to all sorts of monitors and projectors in meeting rooms. Imagine doing this 3-4 times per day, for people who often need to present in different locations. I think when people talk about mirroring a panel, it doesn't mean mirror pixel-by-pixel. It's about the set of widgets and their settings which is hardest to do manually. That aspect doesn't depend on monitor's resolution. btw, if there's already an option/code to clone an existing panel, why can't this Feature Request be implemented in form of automatically triggering that "clone" feature when a new monitor is added in case doesn't have any panel yet? (In reply to Niccolò Venerandi from comment #42) > After some investigation, I believe that the technical implementation of > this is de-facto impossible; however, a very similar feature - the ability > to clone a panel from a monitor to another - was implemented, and thus I'm > closing this as wontfix. > > To elaborate, it's already quite complex to have two different panels who > should follow the same set of settings (a major rewrite would be needed for > that); but, on top of that, monitors can have different sizes and thus the > same panel should have to be mirrored with different looks on different > panels, potentially interfering with the settings. There would be a lot of > combinations possible, and I believe they would be prone to breakage. Sir, with all due respect, this is a dealbreaking feature others DEs and OSes have, and it absolutely is a reason why many would never try kde. Thats how important it is. If a major code rewrite of the panels is needed for this, we can wait till its done. (In reply to Maxim from comment #43) > Could you please elaborate a bit more on the panel cloning? Last time I > tried to do this I found it quite complicated. Basically there were no > controls to clone a panel and the panels are not stored anywhere in a simple > format on a filesystem, so that it could be somehow automated I implemented a new feature where you just have to click "Clone" on panel settings and then select a screen :) > btw, if there's already an option/code to clone an existing panel, why can't this Feature Request be implemented in form of automatically triggering that "clone" feature when a new monitor is added in case doesn't have any panel yet? This could be done, but I'm a bit worried about the consequences it might have. What if the user has multiple panels? Should we always clone *all* panels from one screen to another? Is that what the user really expects when connecting to a new monitor? > This could be done, but I'm a bit worried about the consequences it might
> have. What if the user has multiple panels? Should we always clone *all*
> panels from one screen to another? Is that what the user really expects when
> connecting to a new monitor?
Not always, I think the original idea was to have a setting for a panel to indicate that it's expected to be mirrored. So the algorithm in the first iteration could be:
- when a monitor is connected
- for each panel
- does it have the "mirror" flag set? (no by default)
- if not, do nothing
- does the new monitor already have panels?
- if yes, do nothing
- otherwise, clone the panel
The last bit can be modified, depending on what information is available internally. The main idea is to prevent cloning panels endlessly on each connect of the same monitor. I don't know if it's possible to mark a panel as a clone of another one in its metadata (like an ID) to be checked more precisely. However, imho, it would already be a major improvement
(In reply to Niccolò Venerandi from comment #46) > > btw, if there's already an option/code to clone an existing panel, why can't this Feature Request be implemented in form of automatically triggering that "clone" feature when a new monitor is added in case doesn't have any panel yet? > > This could be done, but I'm a bit worried about the consequences it might have. What if the user has multiple panels? Should we always clone *all* panels from one screen to another? Is that what the user really expects when connecting to a new monitor? It's certainly not what I would expect. (In reply to Maxim from comment #44) > btw, if there's already an option/code to clone an existing panel, why can't this Feature Request be implemented in form of automatically triggering that "clone" feature when a new monitor is added in case doesn't have any panel yet? Because that's different functionality. This FR is about an automatic visual replication by rendering one configuration to other monitors, whereas your proposal would be to automatically duplicate one configuration to all other monitors. Each configuration would then need to be rendered independently, and presumably `plasmashell` would overwrite the 2nd-to-last modified panels with the modifications performed to the last-modified one? (In reply to Maxim from comment #47) > > This could be done, but I'm a bit worried about the consequences it might > > have. What if the user has multiple panels? Should we always clone *all* > > panels from one screen to another? Is that what the user really expects when > > connecting to a new monitor? > > Not always, I think the original idea was to have a setting for a panel to > indicate that it's expected to be mirrored. So the algorithm in the first > iteration could be: > - when a monitor is connected > - for each panel > - does it have the "mirror" flag set? (no by default) > - if not, do nothing > - does the new monitor already have panels? > - if yes, do nothing > - otherwise, clone the panel > > The last bit can be modified, depending on what information is available > internally. The main idea is to prevent cloning panels endlessly on each > connect of the same monitor. I don't know if it's possible to mark a panel > as a clone of another one in its metadata (like an ID) to be checked more > precisely. However, imho, it would already be a major improvement I'll give a look at the code. If it's not too complex, some sort of auto-cloning might be a worthy addition. (In reply to Niccolò Venerandi from comment #46) > (In reply to Maxim from comment #43) > > Could you please elaborate a bit more on the panel cloning? Last time I > > tried to do this I found it quite complicated. Basically there were no > > controls to clone a panel and the panels are not stored anywhere in a simple > > format on a filesystem, so that it could be somehow automated > > I implemented a new feature where you just have to click "Clone" on panel > settings and then select a screen :) > > > btw, if there's already an option/code to clone an existing panel, why can't this Feature Request be implemented in form of automatically triggering that "clone" feature when a new monitor is added in case doesn't have any panel yet? > > This could be done, but I'm a bit worried about the consequences it might > have. What if the user has multiple panels? Should we always clone *all* > panels from one screen to another? Is that what the user really expects when > connecting to a new monitor? I believe the best way to add this would be a checkbox labeled 'Show this panel on all monitors' or something like this, that when checked will do so. That way it will only clone panels the user want. thanks Niccolo for your work on this! Yes I agree with the strong feelings some people here expressed. This really is odd. Plasma detects the laptop monitor as primary, so overwriting that with the config of some random other screen should not happen. I only know Windows, and COSMIC, and there this is simply the default. Actually, I guess, sacrificing the option for different panels. I think using a mechanism like described, cloning the panel, if no other exists, if no opt-out exists, makes sense. Otherwise yes, going into panel configuration to have this seemingly basic feature working, is not a nice workflow. Thanks for your time! I would also be a fan of the auto-cloning. Automatically cloning panels (which ones?) on newly-connected monitors is a different request from mirroring, which is what's being requested here and has been deemed infeasible. I would recommend opening a new feature request for that. I created a separate issue for it: https://bugs.kde.org/show_bug.cgi?id=493195 |