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