GTK+ Themes

There is a burst of activity in the GTK+ theme world these days.
How do I know? Well, I get bugs like this for Gnumeric. This was a debug build with a reporter
that took the time (and had the knowledge) to tell us that a theme was involved, so it was pretty easy to diagnose as Someone Else’s Problem.
But when it happens with some distribution’s theme, it generally
requires a crystal ball.

In my humble opinion, something is wrong with the way themes are
done in GTK+. The current situation is:

  • When a theme engine crashes, the blame is placed on the application by both the user and Bug Buddy.
  • There is no fault-separation between the application and the theme. Theme engines are written in a fault-intolerant language.
  • Theme code is written by people more interested in visual effects than code. The code receives less scrutiny than, say, GTK+’s main code.
  • Application developers cannot test with themes they do not know.

Ideas?