1

I'm trying to figure out why the widgets in GTK3 windows are messed up, whereas widgets in GTK2 windows seem to be okay.

Here we see the file browser SpaceFM, next to the Xfce4 appearance/theme selector. SpaceFM uses GTK3. The theme Murrine Gray is selected, which is part of the Debian package murrine-themes:

SpaceFM with Murrine Gray theme

As you can see, everything looks mostly reasonable -- the menu entries are separated, the file browser tab is distinct.

Things get a bit odd, though, when we switch to the theme Murrina Ealm (also part of murrine-themes):

SpaceFM with Murrina Ealm theme

While the appearance/theme selector itself has changed appearance, SpaceFM has not. In fact, the only theme I can find to meaningfully change SpaceFM's appearance is High-Contrast (part of the package gnome-accessibility-themes), which changes the rendering of several UI elements:

SpaceFM with High-Contrast theme

Things go completely bonkers, however, once I start selecting other themes. Here's SpaceFM with the theme Xfce Dusk selected, which is part of the package gtk3-engines-xfce (thereby strongly suggesting it contains GTK3 support):

enter image description here

Note how the menu has completely collapsed with no borders or separators. The file browser tab and toolbar icons have similarly lost their borders. GTK2-based applications do not seem to suffer from this problem; only GTK3 apps.

It's entirely possible that my setup (see below) is simply too weird, but I can't for the life of me imagine which bit(s) are missing and causing the toolkit to lose its mind.

Suggestions welcome.

Distro: Debian 'Unstable'
Desktop Environment: Xfce4
Window Manager: Awesome (replacing 'xfwm')
GNOME services are not running.

  • 1
    Are you on GTK 3.20? That broke a lot of themes (unix.stackexchange.com/questions/276786/…). – Wieland Jun 9 '16 at 6:56
  • 1
    This is a known problem. Lots of themes need to be updated to be compatible with the new GTK 3.20. Many ancient themes probably never will be because nobody's working on them. See Debian Bug Numbers #821409 and #824891. BTW, I was using clearlooks-phenix-theme but switched to TraditionalOK from mate-themes. – cas Jun 9 '16 at 7:17
  • Yup, I'm on libgtk-3-0 3.20.6. Thank you; I will chase down those references. – ewhac Jun 9 '16 at 22:02
  • And here's the blog post giving an overview of the change to GTK3 themes: blogs.gnome.org/mclasen/2015/11/20/a-gtk-update – ewhac Jun 9 '16 at 22:22
  • Thanks, guys. Turn your comment(s) into a formal answer and I'll mark it solved. – ewhac Jun 9 '16 at 22:24
3

GTK 3.20 breaks a lot of older themes. That won't be "fixed" because it's not a "problem". It's the responsibility of the theme authors to update them to work with the new version of GTK. See https://blogs.gnome.org/mclasen/2015/11/20/a-gtk-update/.

Lots of themes need to be updated to be compatible with the new GTK 3.20. Many ancient themes probably never will be because nobody is working on them.

See Debian Bug Numbers #821409 and #824891 for more details.

BTW, I was using the Clearlooks-Phenix theme but switched to TraditionalOK from mate-themes - AFAICT it looks pretty much the same, and I'm happy enough with it (but I like simple, no-frills, no-bling themes)

When I first switched to TraditionalOK a few weeks ago, I had to download the latest mate-themes from github, but the mate-themes package in Debian sid was updated on or around May 27 and now includes a GTK 3.20 compatible version.

Finally, as with previous versions of GTK3, if you're using both GTK2 and GTK3 apps (and you almost certainly are), you still need a theme with support for both versions of GTK.

  • To be clear, while admittedly a(nother) hassle for themers, the changes in 3.20 were made with a primary goal being to make the theming machinery more usable and more modern, with the latter having the corollary that it will be more sustainable - meaning it's hoped this will soon put to the sort of breakage many users and the maintainers noticed among prior releases. – underscore_d Aug 14 '16 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.