KDE applications not conforming to gtk theme under gnome

I’m having a cosmetic problem with KDE applications, like Kile, K3b and Okular, under gnome, they do not conform to the gtk theme set for gnome - which I would like them to do. I’m running 11.4 with gnome 2.32.1 and qt 4.7.1

In ‘qt configuration’, when I set the GUI style (in the ‘Appearance’ tab) to ‘desktop settings’ or ‘gtk+’ the KDE applications look an unnactractive mix of the gtk theme and the default theme for the applications (which looks like cleanlooks). Some buttons and menus conform to the gtk look and others do not. If I select ‘cleanlooks’ instead, for instance, the KDE applications have a consistent ‘cleanlooks’ appearance that has no resemblance to my desktop appearance (e.g. I use a dark window background with white font, and the KDE applications have white window backgrounds with black font, they have different window colors.)

Now, if I have ‘desktop theme’ selected in ‘qt configuration’ and I have one of these applications open and I then change my appearance preferences, say to another theme (through ‘Control Center > Appearance’), the theme is applied consistently, and the KDE application looks like I would like it to. However, once the application is quit and restarted, the ugly theme mixing recurs, that is the theme selection does not get saved to the KDE applications.

As far as I can tell this is a KDE 4 problem not a qt problem, as other qt applications (like VLC) look fine when set to ‘desktop theme’ or ‘gtk+’, while KDE 3 applications (like Quanta plus) seem to completely ignore the ‘gui style’ settings in ‘qt configuration’.

I’ve googled around about this, and searched the forum, and there is quite a bit about problems with making gtk applications take on a qt look under KDE, but nothing about KDE applications taking on a gtk look under gnome.

Note this is not specific to 11.4 or gnome 2.32.1, I had the same problem with previous versions of gnome in 11.3, and Fedora 14 when I still used it.

Has anyone else encountered this? Any advice on how to fix this, or pointers about where to look would be much appreciated.

Following up on this, I can confirm that this is not just a quirk of my system, it is reproducible on at least one other system (11.4 64bit)

To see if you can reproduce the problem (just in case you have nothing better to do :slight_smile: ) follow these steps: The problem manifests itself most apparently when using a gnome theme or color scheme that has a non-white background, so first,

  1. Control Center > Appearance > select a theme with non-white background, e.g. ‘low contrast’ or ‘high contrast inverse’, I use a variation of ‘emerald GTK-2.0’.
  2. Control Center > Qt4 settings > Appearance tab > Select GUI Style, select either ‘Desktop Settings’ or GTK+
  3. Open a KDE4 application like K3b or Kile.

With the ‘emerald GTK-2.0’ theme my windows normally look like this:


K3b looks like this:


Notice your chosen theme is not applied consistently.

  1. Control Center > Appearance > select a different theme and then re-select your theme from step 1.

Your KDE4 application should now display the theme applied consistently, e.g. K3b should look like this:


  1. Close and re-open your KDE4 application, and notice that your chosen theme is once again not applied consistently, that is it again looks like it did after step 3.

Steps 4 and 5 should now be repeatable at will.

  1. Control Center > Qt 4 settings > Appearance tab > Select GUI Style, select something other than ‘desktop settings’ or ‘GTK+’, e.g. ‘Cleanlooks’.

  2. Re-open your KDE4 application, it should look like this:

Repeating step 4 here will not change how your KDE4 application looks.

The problem above will not manifest itself with applications that use qt4, like Qt Configuration, or pdftk-qgui.

Being fairly new to Linux, I must admit that I am pretty stumped, my best guess would be that the problem is between the interaction of Qt Configuration and KDE4 and that there is something that needs to be either added to removed from KDE4 to make things work right, but it could just as easily be a problem with Qt, right? I have no idea where to look more closely, or what to tinker with to try and fix this.

Any suggestions, thoughts, would be welcome.

Is this worthy of a bug report?