More icon size choice (in KDE apps) and parameterization

I’m putting my money where my mouth is: I’ve been using KDE since the late 90s and recently became a monthly donor and also put an icon theme on the KDE store. I’m not a hater!

KDE’s big selling point is customization but it seems that customization in one area is sorely lacking compared to previous versions: icon size. Related to that, the conventions for typical icon sizes and how we order them in directories seems to have been set in the late 90s for 1028x768 monitors, and IMO badly needs updating to vector graphics realities.

I’m aware that global icon size scaling was disabled because the code was messy, causing problems, and people trying to workaround it was causing other problems (though I didn’t follow the details), and now KDE recommends that global desktop scaling be the “dial” [I was going to use the word that comes after “door” but it said I can’t?!] for controlling overall icon size. Some problems with this:

  1. Desktop scaling should definitely affect icon scaling of course, but the reverse is not how any reasonable person would expect any kind of sensible icon-scaling feature to work. I may want larger (or smaller) icons while keeping my scaling a certain way. Too large a scaling can make UI elements clump and clip together for some programs, make fonts go huge, necessitating ad hoc changes in other areas just to fix one problem (tiny icons). Too small a scaling may make the taskbar and other UI elements way smaller than I want if I’m somebody who likes tiny symbolic icons.
  2. I may want different sized icons in different contexts. Maybe I’m happy with main toolbar icon sizes but the icons in hamburger menus or “side menus” (think “Places” in Dolphin) are too tiny for me.
  3. The way ad hoc icon scaling was done before may have been causing issues, but the prescribed cure is devastating to UI customization. Dolphin has easy to use icon-scaling for its different parts showing that it is possible. Can we get that in our application launchers? Kate? System settings? Info center? Etc.?

Now that I’ve asked for that, I gotta ask that we parameterize icon sizes in a way that makes sense. Here’s something that doesn’t make sense: I have to make the same vector graphics icon in different sizes with different directory names. Sometimes I was able to get away with making a single “48x48” icon and it would appear in “small” contexts, but other times I had to keep making the same icon in different sizes until the system would appear in every context that it should, no matter how I configured MinSize and MaxSize.

Let’s talk about icon sizes and XGA (1024x768) resolutions:

  • 16x16
    • 1/48th picture height on XGA
    • ~0.5 cm on 17” XGA (typical for late 90s)
  • 24x24
    • 1/32nd picture height on XGA
    • ~0.8 cm on 17” XGA
  • 32x32
    • 1/24th picture height on XGA
    • ~1.1 cm
  • 48x48
    • 1/16th picture height on XGA
    • ~1.6 cm
  • 64x64
    • 1/12th picture height on XGA
    • 2.2 cm (nearly 1 inch)
  • 256x256
    • 1/3rd picture height on XGA
    • 8.6 cm (3.4 inches)

To get this level of scaling on a 32 inch 4K (3840x2160) monitor you’d need to set a global scale of 1.82, above the recommended 1.25-1.5 (although I use 1.8 because of this reason).

Whether termed in resolution, fraction of picture height, or in/cm it feels weird that we’re still parameterizing icon sizes as if we’re all still using 17” XGA monitors. If anything we should have a new reference resolution and monitor size.

Or you can go real-life-size agnostic by parameterizing everything in terms of fraction of picture height. This is my preference. In any event there is zero technical reasons why I shouldn’t use the same vector graphics file for every icon regardless of size. I get the feeling that 90s icon size conventions are baked too deeply into the KDE code to make this an easy fix, but I wanted to get it off my chest.