Bug 486420

Summary: Per-panel maximum icon size setting
Product: [Plasma] plasmashell Reporter: Nate Graham <nate>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Status: CONFIRMED ---    
Severity: wishlist CC: eugene.savitsky, niccolo.venerandi, niccolo
Priority: NOR    
Version: 6.0.4   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=467004
https://bugs.kde.org/show_bug.cgi?id=482612
Latest Commit: Version Fixed In:
Sentry Crash Report:
Bug Depends on:    
Bug Blocks: 346420    

Description Nate Graham 2024-05-01 22:08:33 UTC
In the past we had a global "Panel icon size" setting that controlled the maximum size that icons can grow to across all Plasma panels. This had some issues:

1. It was not presented as a maximum size, so people would adjust it, see that nothing happened, and get confused.
2. Not all widgets respected it, so even if you did have a thick panel, the setting's effects often seemed random.
3. It was global in scope, when in principle it makes sense to be a panel-specific setting panels can have different thicknesses and intended UX.

Issues 1 and 2 were theoretically fixable using the existing infrastructure, but 3 was not. For these reasons, we deleted the setting late in Plasma 5, and deleted the backend code that it controlled in Plasma 6. Instead, all widgets now scale with the panel thickness.

This presents new issues:
1. Not all widgets do this! So sizing still feels random.
2. People with very thick panels who don't want their panel icons to be so huge no longer have a way to make that happen.

In the short term, we've capped the maximum icon size in Kickoff (Bug 467004) and Kicker (Bug 482612). And Task Manager icons already seem to be capped at some internal value (see Bug 346420). Some other widgets seem to have size caps too. e.g. Peek at Desktop/Minimize All.

The situation is really random. To resolve this, we should re-add a maximum icon size setting, but make it panel-specific, and then also put in the work to port *every* widget to use it, so that its usage doesn't feel random.
Comment 1 Niccolò Venerandi 2024-05-03 09:34:16 UTC
Big -1 to a panel-specific maximum icon size setting. It's way too specific/niche of an option. If anything I believe it should be a theme option, with Breeze offering a sane default. This could be (somewhat easily) done by having all widgets fill the available space, but having the panel cap the widget {height/width} depending on a sizing hint in the panel SVG
Comment 2 Nate Graham 2024-05-03 13:17:50 UTC
The theme is also the semantically wrong place to put a maximum size value.

The ideal maximum size is a property of how the thickness of the panel interacts with the user's aesthetic  preferences and functional goals for that panel. The theme can't know the user's preferences and intentions.
Comment 3 Niccolò Venerandi 2024-05-03 15:19:36 UTC
The theme defines the (aesthetics and) size of all components: buttons, outlines, switches, highlights and so on. The theme also dictates the size of the widgets as a function of the panel thickness. I'm not convinced it's semantically wrong to also allow themes to set an upper limit to that size (and I'm also not convinced that it should be per-panel). I think it's part of the look-and-feel of the theme.
Comment 4 Nate Graham 2024-05-03 15:25:22 UTC
The problem with allowing the theme to set an upper limit is that the user can't easily change that. Whether the user prefers for a thick panel to have large icons or small icons is a user preference that the theme can't know. We know from experience that user opinion on this topic vary.