Bug 428128 - "Scale with Panel width" breaks vertical panels
Summary: "Scale with Panel width" breaks vertical panels
Status: RESOLVED NOT A BUG
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray widget (other bugs)
Version First Reported In: 5.20.1
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-23 09:55 UTC by Christian Muehlhaeuser
Modified: 2020-11-09 23:13 UTC (History)
2 users (show)

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


Attachments
Systray breaking layout (241.19 KB, image/png)
2020-10-23 21:02 UTC, Christian Muehlhaeuser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Muehlhaeuser 2020-10-23 09:55:01 UTC
SUMMARY

Enabling "Scale with Panel width" in the System Tray applet breaks the layouting of vertical panels. In my case the entire panel is filled with three huge systray icons, causing the rendering of the task manager above (and any other items) to also break in weird ways.
Comment 1 Konrad Materka 2020-10-23 14:55:40 UTC
Can you attach a screenshot(s)? I cannot reproduce this...
Comment 2 Christian Muehlhaeuser 2020-10-23 21:02:47 UTC
Created attachment 132673 [details]
Systray breaking layout
Comment 3 Konrad Materka 2020-10-24 22:38:22 UTC
Yes, this option does not work well with huge panels :(
Maybe we need additional setting, like maximum icon size? But this complicates the logic a lot...
Comment 4 Nate Graham 2020-10-24 22:42:12 UTC
It doesn't break vertical panels, it breaks enormous panels when the panel is full of other things.

I'm not convinced that there's a fixable bug here. To get into this situation, you need to change two things from their default values:
1. Make the panel extremely thick
2. Set the system tray icons to "Scale with Panel width"

There are various other ways to break your panel too. When you change lots of things from their default settings, it's up to you to make sure those settings make sense when combined. :)
Comment 5 Christian Muehlhaeuser 2020-10-25 00:18:43 UTC
Nate: which of these settings do you consider not making sense in this particular panel configuration?

The panel doesn't feel extremely thick to me, it's merely a 4k monitor. A few things seem to break here: why is it only showing two icons (out of the 10 or so)? Why does it steal vertical space from the task-bar even though it's not making any use of that space?

When not activating "Scale with Width" the icons are also pretty unusable on a 4k monitor: they're just way too tiny. So I think we need to do something about  this one way or another.
Comment 6 Nate Graham 2020-10-25 00:29:10 UTC
The 4k scaling issues are because Plasma doesn't scale properly on X11. See Bug 356446.

You can fix this yourself by using Wayland or setting PLASMA_USE_QT_SCALING=1 in the environment and living with a small number of minor visual glitches.
Comment 7 Christian Muehlhaeuser 2020-10-25 00:36:47 UTC
That would only help when display scaling is actually activated though, wouldn't it? (mine is set to the default 100%)
Comment 8 Nate Graham 2020-10-25 00:42:36 UTC
You're using a 4k screen at 100% scale? But everything is far too small to see without eyestrain. The system isn't intended to be used like that.
Comment 9 Christian Muehlhaeuser 2020-10-25 00:48:05 UTC
Yes, it got pretty much the same DPI as the (much smaller) 1080p display next to it. All the other components in the panel seem to scale fine, but tray icons become super tiny as soon as the panel is on the 4k display.

Again, what's so weird about that use-case that you would call it unintentional?
Comment 10 Nate Graham 2020-10-25 01:16:02 UTC
It's unusual to use a 100% scale factor with a 4k display, and it's unusual to make the panel that thick when using the "scale with panel thickness" setting. Most people who use super thick panels use small icons in a row or grid.

I would recommend doing the following:
- Use Wayland
- Set a 200% scale factor for the 4k screen so that everything on both screens is the same size
- Use a panel thickness that's comfortable, not one designed to work around a bug

Anything else is working around bugs, and we should just fix those bugs rather than making it easier to work around them. :)
Comment 11 Christian Muehlhaeuser 2020-10-25 01:21:32 UTC
Nate: this 4k display is a 43" monitor. It got a regular DPI, no HiDPI/Retina magic going on here.

The reason I put the panel on the side is so that I can nicely read the window title names (which works fine), I'm not trying to work around any bug.

The only two things that misbehave are the systray and font size of the date (but we already tried to tackle that in a separate issue).
Comment 12 Nate Graham 2020-10-25 01:23:14 UTC
Hmm, okay. That seems reasonable.

Can you provide a screenshot of how the tray looks with the default small icon size setting?
Comment 13 Christian Muehlhaeuser 2020-10-25 01:40:42 UTC
One more thing I just noticed: just like with the date size bug (https://bugs.kde.org/show_bug.cgi?id=417852) the sizing snaps back to a reasonable height/width as soon as I resize the panel by a pixel. It will then behave fine until the next restart of plasmashell, at which point it reverts back to weird sizes:

- systray icons are too small
- date font is waaay to big
Comment 14 Christoph Feck 2020-11-09 23:13:38 UTC
Please report individual issues in separate tickets.