A few weeks ago, some of us discovered that KDE apps just looked terrible when run in GNOME. A lengthy discussion on icon theming ensued, with various improvements made on both sides. The KDE effort was spearheaded by Christoph Cullmann, as already described in his post on the subject. In a nutshell, KDE apps opting into the new system that are run outside of Plasma will always have the Breeze style and icons available, unless overridden by the system or the user. Apps opting in so far include Kate, Konsole, and Dolphin. Feel free to help opt more apps in by using those commits as inspiration!
GNOME is a large and popular platform, and they have no interest in providing the integration pieces necessary for NON-GNOME apps to look good when run in GNOME. Zero. Zilch. Nada. Rien. Gar nichts. We cannot convince them otherwise. It’s simply not going to happen.
This means it’s up to us to salvage the situation as best we can for our own apps.
But this patch will be hard-coded in KDE apps one by one, so it will fix only KDE apps, while other Qt apps (and even KDE unmaintained ones) will be left in the air.
Didn’t they release some legacy icon theme? I think with some revived styles like the one from Fedora adwaita-qt or QGnomePlatform, KDE apps will look consistent on GTK desktops.
The legacy icon theme helps, but only a small amount: there’s no guarantee that GNOME-focused distros will actually ship it by default alongside Adwaita, and also no guarantee that it will have all the icons that KDE apps actually use (spoiler alert: it doesn’t).
adwaita-qt and QGnomePlatform suffer from the same issues.
It’s unfortunate that Qt apps don’t get the integration attention from distro developers that they both need and deserve. But that’s the world we live in.
It is very problematic that GNOME stopped providing FDO icons, but a lot of the issues being solved here were happening on all non-Plasma desktops, not just GNOME. A ton of KDE applications expect icons that were never defined in the icon naming standard. In spite of this, these applications often neither package these non-standard icons themselves nor do they list Breeze as a dependency, meaning they would be missing on most other desktops out of the box.
KColorScheme supports colours outside of qpalette and KDE had no mechanism to ensure these extra colors would get properly handled on other desktops, causing a lot of breakage in applications such as Dolphin with dark themes. Additionally, KDE apps use mostly symbolic monochromatic icons, which also weren’t being coloured properly on other desktops.
Desktops shouldn’t have to do extra work to make KDE/Qt applications work properly outside of respecting existing cross-desktop standards such as FDO standards, Wayland protocols and portals. As things previously were, that simply wasn’t the case. This is one of the few things I would argue GNOME’s applications get right. I can launch Nautilus from good old twm and it works perfectly. I cannot do the same with Dolphin. I dislike how much of the blame is seemingly being pushed onto GNOME, even if they are part of the problem. If anything, I’m glad their behavior around FDO icons even if certainly wrong has finally spurred KDE to take action in making their applications work better on all desktops.