Sorry if this duplicates another post, but I’ve been googling and searching for help and everything I find points me to a feature that has been deprecated (i.e. setting icon size in the System Settings app).
It seems the only way to manage icon scaling in KDE now is with global display scaling, but that can’t possibly be true. No way KDE would remove such important functionality and replace it with something so coarse.
I’m working on an icon theme and I’m trying to control how large the icons render. They are svg files. I am following the icon-name and index.theme-field conventions on freedesktop.org and hitting a wall.
For example I’d like my icons in System Settings to render twice their size since they don’t look good so small, but I’ve tried changing the “MinSize” field, putting “Scale=2”, but nothing seems to affect those icon sizes.
I’d appreciate any help, thanks.
1. Structure and Scaling in index.theme
To force an icon to display at a specific size or allow it to scale without losing its aspect ratio in SVGs, the directory configuration should follow this pattern:
Ini, TOML
[48x48/apps]
Size=48
Scale=1
Context=Applications
Type=Scalable
MinSize=32
MaxSize=256
The error in your reasoning:
Setting Scale=2 in a 24px directory will not automatically make the icon appear 48px in the interface if the system component (such as System Settings) is explicitly requesting a fixed size. KDE prioritizes the nominal Size. If you want larger icons in System Settings, you need to ensure that the directory containing those icons (usually preferences or apps) is set to Type=Scalable.
- Why did “MinSize” and “Scale” fail?
The KIconLoader (KDE library) searches for the icon closest to the size requested by the UI component. If the System Settings requests a 32px icon and your theme only has 48px settings, it may ignore your theme and search the “fallback” theme (Breeze) if the scaling logic is unclear.
For SVGs, always use:
Type=Scalable: Allows the system to resize the icon between MinSize and MaxSize.
Size: The base rendering size (e.g., 48).
- The Cache: The biggest obstacle
KDE caches icon mappings. If you change the index.theme, the system will not read the changes until the cache is invalidated. Execute the following commands to force the update:
Bash
rm ~/.cache/icon-cache.kcache
kquitapp6 plasmashell && kstart plasmashell
(Note: If you are using Plasma 5, use kquitapp5).
- Force Sizes via Hidden Configuration
If the intention is to debug how the system renders your theme, you can still manipulate the KDE global configuration file, which holds the keys that the graphical interface removed:
Open the file ~/.config/kdeglobals.
Look for the [Icons] section.
You can manually add or edit the sizes:
Panels=48
Dialogs=64
SidebarMode=3 (for larger icons in sidebars)