https://bugs.kde.org/show_bug.cgi?id=470099

            Bug ID: 470099
           Summary: Non-wysiwyg config for panels for multiple monitors
    Classification: Plasma
           Product: Active Window Control
           Version: unspecified
          Platform: Ubuntu
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: zrenf...@gmail.com
          Reporter: py7sm...@anonaddy.me
                CC: plasma-b...@kde.org
  Target Milestone: ---

_Sorry, I have no idea which "Product" is responsible for the panels. Please
change category if you know a better one._
_This is a feature request._

CURRENT SITUATION

I am using a laptop with multiple external monitors attached. The external
monitors have a different resolution and size than the laptop monitor, and I
use display configuration to make them all work nicely together.

Sometimes I disconnect the external monitors to work with the standalone
laptop.

At night, I typically send the system to sleep/suspend, and I power down the
external monitors. Next day I power everything up again and wake the system up.

Currently using KDE with wayland, but I used the other one (X?) before.

My panel config is usually quite simple:
- The primary monitor (one of the external monitors) gets a bottom panel with
application launcher menu, a taskbar, the tray icons, and a desktop switcher.
The taskbar shows the windows of the current monitor.
- Any secondary monitor gets a bottom panel with just the taskbar, showing the
windows of that specific monitor.
- All the panels are smallest possible height (20).

PROBLEM

When I reconnect the external monitors, or I wake up the system from
sleep/suspend, both the display configuration and the panels can or will get
messed up:
- Sometimes the primary monitor's panel is on a secondary monitor. I can fix
this by opening display configuration, making the other monitor the primary
one, and then switching it back.
- Sometimes one panel has a wrong width, probably because it was calculated
with a different monitor in mind. This can be fixed in the same way as above.
- Sometimes panels disappear. Perhaps they are just hidden.

Also, whenever I attach different external monitors, I have to start over to
configure the panels.

CURRENT MODEL

(as far as I understand it)

Currently, panels are configured using a "wysiwyg" approach.
Then, different panel configs are stored per combination of external monitors
(I think).
Whenever it wakes up or I connect different monitors, the system will find a
stored config that matches the current monitors (I think).

This system seems to be quite fragile.

PROPOSED SOLUTION

Provide a different way to configure panels, that is not "wysiwyg" but more
structural and rules-based.

Configuration:
- A user can create named panel templates with collections of widgets. E.g. for
me it would just be "primary display panel" and "secondary display panel". For
others there might also be e.g. "small secondary display panel". Some of these
would be pre-configured, but a user can arbitrarily add more.
- Widgets placement does not store precise coordinates, but just order,
shrink/expand and align left/right settings. Or instead of align right, just
have elastic spacers.
- Widget settings affect all instances of that widget in that panel template.
E.g. if I have two secondary monitors that both have the same panel template
with a taskbar widget, then changing the settings for taskbar will affect both.
- A user can create rules where to place panels of which type. E.g. on a
primary display, put a panel in the bottom using the settings from "primary
display panel". On any non-primary display use the "secondary display panel" in
the bottom. Some users might create panel placement rules based on screen
resolution or other criteria.
- There could be special settings to prevent duplicate panels. E.g. a panel
rule could have options "replace other panels in the same position" or "don't
place this if there are already other panels in the same position" or "place
this above other panels in the same position" (if that is even possible).
- The wysiwyg could still exist, but placing a widget would affect the panel
template, not the panel itself.

Execution:
- Whenever the system starts or wakes up, or monitors are connected or
disconnected, or the display configuration is changed, the panel rules are
newly applied.


NOTES

This same problem exists in different desktop envs, not just KDE.
Maybe KDE could be the first to fix it :)


SOFTWARE/OS VERSIONS

Operating System: Ubuntu 22.04
KDE Plasma Version: 5.24.7
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 5.19.0-41-generic (64-bit)
Graphics Platform: Wayland
Processors: 8 × 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz
Memory: 15,3 GiB of RAM
Graphics Processor: Mesa Intel® Xe Graphics

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to