Hacker News new | past | comments | ask | show | jobs | submit login

Disasterous :( For me, it has begun from evince and deadbeef, now firefox is on its way to follow.

The problem is that I am unable to find any compact gtk-3 theme that looks like xfce-b5 theme for gtk-2. Xfce theming engine seems to be broken under gtk>=3.8. The only possibility is to recreate theme from scratch and pray that nothing would be broken when minor bumps again. Hell, I am unable to find any theme compact enough!

Could somebody please help me to rule out: do most people really like that ugly-looking space-wasting bullshit like Adwaita (and other such nonsensical things mistakenly called "themes"), or is there some mysterious underground group guarding the treasure chest with human-friendly themes allowing only deserved ones in (how to become that one, btw?)?

Its like being forced to leave my simple but consistent country house (gtk2) in favour of tall block building (gtk3), using the lift (smooth scrolling) as an argument. I don't need lift.

tldr; Firefox won't be able to compactify its UI to the degree desired. Some users could clearly identify such situation as "regression". I am pretty much disappointed and annoyed of the trend.




I was prepared to whine about exactly that.

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.


That gtk3 maintainers position on backward-compatibility really puzzles me. May be I am wrong, but theming engine is a vital part of an UI toolkit - you need to represent all the fancy widgets somehow in a way appropriate to the user. Yet they keep on breaking things almost each minor, leading a lot of theme creators to quit. Might be the real underlying cause of our whines...

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.


Yeah. I still manage to live in a gtk2-only world for now, but mostly because I don't really need too many GUI programs (I can't remember the last time I opened something other than Thunderbird, Firefox, Emacs, and whatever pdf reader and image viewer I have lying around) but that's obviously not sustainable.

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.


> May be I am wrong, but theming engine is a vital part of an UI toolkit

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.


Well, I feel exactly the opposite. Although, I had no chance to write gtk theming engines due to lack of neccessity, I would argue that most of the time clear good ol' imperative chunk of simple and straightforward C is far better than arcane declarative CSS based on whatever underlying rules I am not fully aware of.

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".


> imperative chunk of simple and straightforward C is far better than arcane declarative CSS based

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.


"It's as if everyone Apple fanboy who was rejected by Apple's UX department is now making GTK themes."

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...


Thanks for the latter link, would never knew things got that bad otherwise.

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.


> Or most of them probably just gave up making GTK themes.

Yeah, things are pretty terrible for theme developers. It's like GTK 3 development was steered by Steve Ballmer.


Things have improved a lot with the CSS engine maturing. With GTK+2 themes where loadable compiled modules and where far from simple.

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.


Bullshit. Every time a new GTK3 release comes up, the bug trackers of popular themes flare up (many of them obscure, e.g. https://github.com/shimmerproject/Numix/issues/206), various undocumented tidbits and bugs in the theming engine pop up and "innovations" like the client-side decorations are introduced.

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.


The vast majority of third parties GTK+2 themes were using the pixmap engine (or murrine in some cases), which was basically what the current CSS engine is, just more arcane and infinitely less flexible.

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.


I'm currently using Greybird[0] under XFCE, but I'll keep my mouth shut since it's both blue and grey with black desktop panels ;) The widgets sizing and layout is decent though

Honestly I haven't seen anything GTK+ based that looks as good as KDE (4.x).

[0] http://shimmerproject.org/our-projects/greybird/


> 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.


I've spent considerable time looking for GTK3 themes that meet your requirements.

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


Thanks! I'll keep that in mind for when I run out of choices and have to upgrade :).


Then create one your self, this is open source, you are getting stuff for free and you got the source.


I also get GTK2 for free. That's not the problem. I'd happily make my own GTK3 theme if GTK3 weren't so incredibly hostile to theme development. It's literally less reliable than Windows Blinds, which is a frickin' hack on top of a closed OS.

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.


Often that is acceptable advice, but in this case, their issue that:

> - 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.


That's an old myth, the theme engine is now stable and even if it breaks it is only a matter of minutes to fix it.


Do a google search for GTK 3.16 theme bug. You'll find a bunch of people for whom it didn't take minutes.


Then submits bugs and contribute to fix those bugs, it is the way open source works, if you don't like it, go use something else, nobody is forcing you to use it.


What does being open source have to do with having crap policies?

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...


I find that gtk3 themes are easy to tweak (and more so than gtk2 ones), have you tried to look at the (pseudo-)css and modify it to suit your taste?


Yeah, but the backend seems to be buggy, the documentation is not up-to-date and basically half the things that work in 3.x break mysteriously in 3.(x + 1).

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.


People seem to like it. Personally I don't, but... yeah. Gtk3 devs have outright said that gtk3 is not officially supported in any environment but GNOME3, which also worries me. On the other hand, this may be enough stimulus to make QtFirefox happen.


Amen to that. I use xmonad, have no desire for gnome, so Qt would have my preference, too.


I would like to see a screenshot of that xfce-b5 theme and what you want to achieve. For reference, this is how Firefox/Iceweasel looks in my system, running GNOME Shell: https://i.imgur.com/VedZNiC.png

I didn't crop it: that is all that is visible when maximised. I'm using tree-style-tabs for Firefox, and the Hide Top Bar and Maximus Two extensions for the Shell.


https://i.imgur.com/wYVyJG5.png

Most gtk2-based (or dependent, in case of eclipse) apps I use at daily basis (incl. floating deadbeef settings window with older gtk2 plugin) side-by-side. I haven't included evince (gtk3) as I am using partially broken gtk3-Mist theme (not compact as xfce-b5, but still better than Adwaita). Nothing scaled, cropped or such. Btw, I use Classic Theme Restorer plugin, which also helps with firefox UI compactification.


https://addons.mozilla.org/en-US/firefox/addon/littlefox-for...

This firefox theme makes the app's decorations really small. The icons look as if they were designed in 1995, but if there is a choice between slick and compact, I pick compact.

On second thought, Classic Theme Restorer works just as well with the latest firefox dev build.


Is that ICQ? ;)


yep, licq


What tab management thingy on the left are you using?


TreeStyleTabs, like felipeerias already mentioned seems to be THE reason why a whole lot of people use Firefox. (Others like me have a bunch of additional reasons.)



What's the problem with deadbeef? It supports both GTK+2 and GTK+3 interfaces - GTK+2 is even the default and considered more stable since most of deadbeefs developers prefer that one.

Edit: Regarding Evince, there's Atril. It's the GTK+2 evince fork from the mate developers.


You've made my day, thank you so much! Atril is really what I've been looking for.

Regarding deadbeef, yeah, it was mentioned mostly on emotional basis. I had some troubles building gtk2 plugin on my home machine, good chances that it was problem with inconsistent building environment, yet no problems with building simple gtk2 apps or deadbeef gtk3 plugin. I haven't dug deeply though. At work, I just use slightly older deadbeef version with gtk2 plugin :)


I'm glad I could help :)

If you need help with building deadbeef, just visit us in IRC (#deadbeefplayer in freenode) and we'll help you. There are also portable builds available, those should work on any distro.


P.S. and let's not forget that Gtk3 really really wants to draw its own titlebars and do its own window management.



We're switching to Wayland, where client-side window decorations are required. So this is prepping you for the future.


That must optional, surely. Otherwise it's a dead end.


I believe it's optional on the part of the application developers, but it's not optional on the part of the users. (Although it only happens if you have a compositing window manager, so that's one way to disable it.)


I for one like the current gnome themes but I can very much relate to (Gnome and Ubuntu) devs going off in other directions that I find weird and counterproductive ("breaking" (IMO) alt-tab, copying "shiny things" (dock) from Mac etc), copying other problematic (IMO) designs (single menu, hidden menus) from Mac.


Try Clearlooks-Phénix https://github.com/jpfleury/clearlooks-phenix

It's quite mature and available in number of distros. I'm pretty happy with it since I've discovered it.


I've encountered that while being on a quest to find perfect gtk3 theme :) Scrollbars are tremendous, which is crucial on tiling wm (see my screenshot above, for example).


I second this. Clearlooks-Phenix is great.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: