Firefox nightlies for Linux are now using Gtk+3
glandium.org
glandium.org
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.
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.
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.
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.
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.
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.
Edit: Regarding Evince, there's Atril. It's the GTK+2 evince fork from the mate developers.
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 :)
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.
It's quite mature and available in number of distros. I'm pretty happy with it since I've discovered it.
Another great thing is the fidelity of widgets (buttons, dropdowns) esp. on a high dpi screen.
[edit] Oh, reading that thread, it sure does sound promising. I'll have to check it out.
These days, those older versions are dying away, but Chrome doesn't use much GTK anyway. I wonder how hard it would be to target both. But that doesn't solve the binary compat problem anyway.
Not sure if that'll help you with your specific program, but it might.
[1] https://www.mozilla.org/en-US/firefox/organizations/faq/
Also, the "use system title bar and borders" option (when right-clicking on the topmost bar) feels a bit like a hack, but I guess it is the best solution to get rid of that extra top window decoration space on most OSes.
Right now the Qt world doesn't have an acceptable browser, which is incredibly annoying for us since we're targeting Qt-based desktop environments. I'm hoping the move to GTK3 at the very least helps towards that.
As I understand it, even during the Nokia days, the point was to use Gecko with a Qt-native UI, so it wasn't about getting the entirety of XUL-based Firefox polished on Qt.
Ubuntu (mainly phone, coming soon to desktop) has these:
https://launchpad.net/webbrowser-app https://launchpad.net/oxide
It's based on Chromium/Blink.
And Qt itself switched from QtWebkit to Chromium with QtWebEngine - https://wiki.qt.io/QtWebEngine
From what I can tell the progress is backwards. A few years ago there were Firefox Qt builds on mozilla and regular progress on it. Now the builds disappeared and the only commits to the Qt backend are in some hard to find github repos with no activity.
Really the main visible difference is the file/print dialogs. I think maybe XDG would be a better way to standardize that, and would fix many other apps as well.
What project are you working on?
Qupzilla-git i.e. the version based on Qtwebengine is getting there, so reasonably soon we may have a decent Qt-based browser (I don't doubt scrollaway knows that). Also the fiber browser looks promising. I do think we need a way to do CI between chromium and Qtwebengine, or else we'll end up shipping browsers lagging one or two versions behind chromium.
As far as gecko goes, I think it's over. The hope is servo, which being much more modular may be integrated without struggling with XUL.
Shumway however is still far from finished, and I'm not sure what will happen with plugins which depend on GTK2.
I run Fedora 22 and tried FF on Wayland. It brought the system to a crawl, but I believe it was using Xwayland and not native. Running it native Wayland is supposed to be nice. I'm hoping my old machine from 2005 will still work great with Wayland. Desktop and simple web stuff worked fine, but it died on cookie clicker.
https://bugzilla.mozilla.org/showdependencytree.cgi?id=63513...
(This is just what I think is likely to happen, this isn't based on any announcement by Mozilla.)