RFC: Theming and styles of KDE applications

christoph at cullmann.io christoph at cullmann.io
Sat May 4 12:47:35 BST 2024


Hi,

I think it is time to discuss how we handle the icon theming and styling 
in non-Plasma execution environments for our applications.

Let's talk about Kate as an example:

If you run it on Plasma, all is 'good',
Plasma sets a good icon theme with all icons we expect (as Kate is 
mostly tested just with the Breeze icons) and the platform integration 
plug-in sets up our re-coloring capable icon engine. Plasma configures a 
good Qt style, too, Breeze.

Now let's see how we handle Windows and macOS: We patch a bit and ensure 
we have a bundeled Breeze icons set as lib, enforce our icon engine and 
enforce the Breeze style, as even with the latest native styles various 
parts of Kate look bad.

This means on Plasma we look good (and usable) with good integration, on 
Windows and macOS we look good but a bit alien. On the other side the 
users accept that, as many other popular apps just do the same, like all 
3rdparty browsers or Electron apps.

Now look at Kate on Linux/BSD outside Plasma. First thing that is 
broken, is the re-coloring. If your app uses icons that rely on that, 
bad luck, Kate has at least one icon we ship and needs that. Next is the 
icon theme itself, in best case you get the right Breeze dark or light 
or some non-recolored Breeze as black on black or the other way around. 
Or you get an incomplete icon set with either patchwork icons thanks to 
fallback or just none. Next is the style, perhaps you get Breeze, but in 
most cases some style that will not look that well. Kate therefore looks 
in most cases just like crap, to be honest, like the try of some toddler 
to come up with an application.

I think that is not what we want, at least I am fed up with that. Kate 
now looks and feels better on Windows and macOS (without the user fixing 
manually the icon theme or style or even manually setting up the Plasma 
integration plug-in) then on open source desktops. That is kind of 
hilarious.

My proposal: we enforce Breeze as icon set and style everywhere. And we 
provide still a way to overwrite that for the user, but if the user 
didn't set something manually,  idenpendent what the system propose, we 
just use Breeze. And we depend on that as dep e.g. in Kate, if you 
install Kate, that icon set and theme is installed.

Greetings
Christoph


More information about the kde-devel mailing list