Nevertheless, I don't see any other way than point out to the problem again and again, when each important piece of software is going to switch to gtk3. World does not stop on gtk3, there is Qt, which can handle gtk2 theme engines pretty much seamlessly (at least, from my experience), without breaking things at each release.
Unfortunately, GTK3 (and, for that matter, much of the modern Linux user-side development ecosystem) is increasingly hostile. Frequent, often unwarranted changes (implemented through code of dubious quality), crap documentation (when it exists). It feels increasingly like developing for (and using) OS X or Windows, just without the good parts that we all secretly covet, like Visual Studio and Interface Builder and the MSDN.
Arguably, for a big chunk of GTK+ users (me included) it's not. I care about the work on the default theme as I can't really be bothered to install custom themes. For me, the same is true for Qt or whatever other toolkit: either they give me appropriate defaults or I will probably tend to ignore them.
That said, it seems that GTK+ developers agree with you more than you seem to expect: in the past few cycles they worked a lot on the theming engine, simplifying it to the point that the whole theme is defined only by CSS.
Instead of writing clunky, complex loadable modules in C, they can just mash together some CSS and customize every part of the UI. This is a massive improvement over GTK+2.
Of course, since the CSS can poke at the deep internals of the toolkit, complete stability cannot be provided: think of it as a user-level CSS that cannot cleanly cope when the target website changes.
P.S. I has experience with both - besides writing my decent share of C code over the course of past 10-or-so years, I had an opportunity to write stylesheets in pre-HTML5 times (for money). Later was far more sane and flexible (yet a bit arcane due to multi-browser compatibility) than writing on pseudo-CSS in order to compactife modern Eclipse (4.x). No way I would believe that pseudo-CSS for constantly unstable underlying engine could be somehow better than "clunky, complex loadable modules in C".
Nope, consider yourself lucky if you have never heard the horror stories about the old theming code (and even more lucky from the fact that you never had to poke at it). :)
P.S. Me too, I worked at a small studio developing web apps for a few year, then moved to optimizing HTML/JS/CSS3 apps running on a custom WebKit enviroment with animations, transitions and whatnot on a embedded (and horribly low-powered) platform and now I have the pleasure of trying to make WebKit work well on the Raspberry Pi.
As far as I can tell, CSS is several orders of magnitude better than poking at C code for those purposes.
Or most of them probably just gave up making GTK themes.
https://github.com/QtCurve/qtcurve-gtk3 https://igurublog.wordpress.com/2012/11/05/gnome-et-al-rotti...
For instance, they've deprecated GtkStatusIcon in favour of AppIndicator: https://bugzilla.gnome.org/show_bug.cgi?id=734826 What's wrong with freedesktop systray?
Gtk3 is really becoming isolated and gnomish-only. Frenzy. Mozilla's transition to gtk3 now looks completely catastrophic in a long-term perspective.
Yeah, things are pretty terrible for theme developers. It's like GTK 3 development was steered by Steve Ballmer.
With GTK+3 you do everything with CSS alone.
Of course full stability cannot be provided due to the fact that the CSS can poke at the internal composition of composite widgets, not unlike how greasemonkey scripts can hardly cope with the target website changing, but things got much more stable in the last few cycles.
Meantime, clunky, terrible C modules written back when GTK 2.10 was a thing work just fine on 2.99.
That is not simplification. Simplification is when things get easier, not when they get harder.
I reiterate: full stability for theme developers CANNOT be provided, unless you're willing to give away much of the power of the current theming system, basically going back to the annoyingly limited pixmap engine. This (understandably) is not a tradeoff the GTK+ developers are willing to make, and I guess neither third party developers.
> Meantime, clunky, terrible C modules written back when GTK 2.10 was a thing work just fine on 2.99.
I don't know, I remember Murrine being often broken after new GTK+ releases, despite it being under active development.
> https://github.com/shimmerproject/Numix/issues/206
That issue has been opened on 10th April, I guess your issue is more than your theme needs more help for its maintenance rather than GTK+'s fault. Again: there's no provision of stability for themes. Either you accept to keep up with upstream or you'd better stick to the default theme. Just like using a greasemonkey script when a website changes.
The changes in GTK+ have become progressively less dramatic: this means that fixes for themes are now smaller/simpler, not that they don't need active upstream tracking.
Honestly I haven't seen anything GTK+ based that looks as good as KDE (4.x).
Here's a phrase I never thought I'd heard :-).
I don't really like Greybird, but Bluebird is nice. Now if only there were a (non-hacky) way to consistently disable the frickin' client-side decorations, I could almost use Gnome 3.
My current choice is openSuse-Pistachio which is green, reasonably compact, and did not break for two consecutive Ubuntu releases. zonColor icons work beautifully, too, with adjustable colors.
There are a few more reasonable choices (though not oodles) on gnome-look.org
It's not a problem of asshole theme creators, it's a software quality problem, and everyone in the Gnome Project's bubble is dancing around it and pretending it's good for the users.
> - Doesn't break in the next release.
is something that can't be worked around simply by creating your own theme. That seems to be caused by poor compatibility checking (or reckless disregard, as others are claiming), which could bite you even if you create your own theme.
Obviously, you could extend your suggestion to "fork gtk3", but that's likely a significant undertaking and not reasonable for everyone. I think it is reasonable to expect developers to maintain compatibility between minor version releases, assuming they're using semantic versioning, otherwise it's poor communication on the part of the developers.
There are plenty of open source projects that don't have those problems, and it's not like the core team is interested in making theming anything else but a clunky hack so that everyone uses Adwaita...
Meanwhile I can use a gtk2 theme from 2006 without any problems (and it doesn't make my desktop look like a kid's HD drawing). As long as I can do that, I have very little motivation to put up with gtk3's crap.
There is literally no gtk3 theme that, simultaneously:
- Is not flat and generally grey or dark blue. It's as if everyone Apple fanboy who was rejected by Apple's UX department is now making GTK themes.
- Is not frickin' ginormous. I know multitasking is frowned upon now that we have tablets, but I have a bloody 27" screen, I want more than one window on it at the same time!
- Doesn't break in the next release.
At first (as in, 2011 or so) I just blamed it on gtk3 being new and all that. But we're four years from that. This disaster seems to be intentional.