13 ms·
It's a shame how far GTK is falling behind. From a user's perspective, I liked GTK2's smooth, clean interfaces much more than anything made in Qt, so much that
by creshal 11y ago
It's a shame how far GTK is falling behind. From a user's perspective, I liked GTK2's smooth, clean interfaces much more than anything made in Qt, so much that I didn't even mind putting up with its insane APIs.
But now? GTK3 interfaces are horrible from an user's perspective – client-side decorations are a sin that we should know better than to repeat, plus a whole load of changes just for change's sake to spite users (the file chooser dialog has a much worse UX; mouse wheel support was widely gutted because apparently I'm supposed to want touch interfaces instead?) –, and the APIs are still as bad to use, most changes seem to have been made out of spite; a small shim would have allowed most programs to switch from GTK2 to 3 without code changes, had it not been for those.
Now I find myself increasingly switching to Qt programs. While the interfaces are still somewhat rougher than GTK2 ones and not as unified, it still beats GTK3 crap. That seems to be turning from "a reasonable toolkit for all X11 invironments" into "the official Gnome 3 toolkit, beg us if you want interoperability".
- heinrich5991 11y agoOh, I thought Wireshark was using wxWidgets before, but according to the Wikipedia page you're right.
- 72deluxe 11y agoIf only it was! It would then fit in with the OS on OSX. As it currently is, it sticks out like a sore thumb and feels like you've SSH'd to a remote Linux box.
- heinrich5991 11y agoWhat about Qt? Do Qt applications fit in in OSX?
- 72deluxe 11y agoYes, for the most part. Many of them spew messages to the console log for bad font handling etc. but for the most part they look native. wxWidgets is different because the code is native - it is a C++ wrapper around the Cocoa code, so you make calls in C++ and it actually calls Obj-C code behind the scenes (plenty of .mm files in wxWidgets). I do not know if Qt does this or whether they do their own drawing of controls in some instances. (wxWidgets does draw some of its own controls, eg. toggle button on platforms older than Yosemite/El Capitan I think)
- dubcanada 11y agoIt really is. GTK can basically be used with any language, C bindings are extremely common and there are bindings for all my favorite languages, Go, Rust, C#, etc. But the Windows compatibility of GTK is just horrendous. It seems to work now with the help of some people GTK 3+ can be used on Windows, but the icons sometimes don't work, transparency never works, expander window grippy thing doesn't look right, fonts look terrible, responsiveness is terrible, form fields look terrible and don't function normally, the list goes on and on.
- ericfrederich 11y agoI think Qt is great, but because its C++ the bindings just aren't there. Python has excellent bindings but that is a huge project in itself. If there was a decent C port of Qt then you'd get support for almost every language (well any one worth its salt) through things like ffi. I'm sure going from your favorite language through FFI to some C wrapper around a C++ library isn't the most efficient thing in the world, but for UI programming it shouldn't matter.
- mahouse 11y agoQt is not a GUI toolkit, it's a goddamn framework. An operating system by itself. :-)
- krylon 11y agoIf you have to develop cross-platform desktop applications, you pretty much have to create an abstraction between your app and the OS interface. Qt makes that relatively easy and painless.
- timonovici 11y agoAFAIK both GTK and GIMP severely lack Windows contributors - what else is to be expected, than shitty experience on that platform? If I remember well, a few years ago GIMP even stoped publishing it's Windows builds, because there wasn't no one to take care of them. Complaining won't make much of a difference - but sending bug reports, patches will.
- bkor 11y agoI mostly disagree with you entirely. Client side decorations give way more space to the actual content than to waste space for an almost empty titlebar. It allows to combine the titlebar with content from the application itself. You regard them entirely off as a "sin". Very strong language but you don't explain _at all_! For the file chooser, some never things that were never implemented were added recently: double vs single clicking, renaming and some other super old bug. Regarding mouse wheel support: What basis do you say that 1) it was removed 2) it was made out of spite? Too many people have way too much time talking down on the work of others. You go out of your way to imply that GNOME developers are intentionally evil. What the hell. PS: I agree it needs way more developers. But that's nothing new.
- bemused 11y agoworked with GTK2/3 and QT 5+ years and got the feeling that GTK has been turning into the GNOME toolkit as well. not very pleasant to work with if you want your application to support the look&feel of different linux-DEs and not suited for cross-platform applications at all GTK3 is perfect if you want to develop for the GNOME desktop. for anything else it would need way more developers that are not focused on GNOME
- nona 11y agoHow is that surprising? The people that do the work get to set the course of the project; the Gnome devs are scratching their own itch. QT caters to more platforms, because QT _is_ Digia/The QT company's product. For Gnome devs Gnome is the product. So yeah, I agree with you: GTK3 is great if you do Gnome, QT otherwise. But some people in this thread (not you) seem to blame or resent Gnome developers for doing their jobs, which strikes me as odd, to say the least.
- bemused 11y agoWell I really dont want to critize GNOME developers for working on free software, paid or not. But GTK is still perceived as a more universal toolkit than "just GNOME" and this might be a time-consuming surprise that hits application developers furthermore it is still advertised like this as well (from gtk.org): What is GTK+, and how can I use it? GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical user interfaces. Where can I use it? Everywhere! GTK+ is cross-platform and boasts an easy to use API, speeding up your development time. from my point of view, this is not exactly true anymore ..
- ronjouch 11y agoCan you elaborate why "client-side decorations are a sin that we should know better than to repeat" ? From a subjective user perspective, I like them for enabling controls in titlebar, which paved the way for compact, elegant windows --i.e. height(clientside_titlebar_with_controls) < height(regular_titlebar + menubar + toolbar)--. What's objectively bad about them? Other than that, describing GTK3 as "the official Gnome 3 toolkit, beg us if you want interoperability" seems pretty accurate. I personally enjoy the experience provided by GNOME 3, but will never, ever, use a GTK app under Windows or Mac OSX. They just look and feel terribly out of place. However, does GTK have much choice given the resources at hand? - With the Adwaita theme now being rolled into GTK itself, it's becoming clear the GNOME/GTK folks are not aiming at a good Mac/Windows experience, they're maximizing for Linux + the whole GNOME shebang. - Could they do otherwise? Qt is backed by a big team at the Qt Company (ex Digia / Nokia / Trolltech) with commercial interest to support big $$$ Windows/Mac-based enterprise apps, while GTK seems maintained by a smaller core team of RedHat/Fedora folks, Canonical not so much, and individual contributors. I think they're just focusing.
- scrollaway 11y agoA few posts on the subject of CSDs, by the developer of KWin (he knows his shit): * http://blog.martin-graesslin.com/blog/2010/05/open-letter-the-issues-with-client-side-window-decorations/ http://blog.martin-graesslin.com/blog/2010/05/open-letter-th... * http://blog.martin-graesslin.com/blog/2010/05/why-you-should-not-use-client-side-window-decorations/ http://blog.martin-graesslin.com/blog/2010/05/why-you-should... * http://blog.martin-graesslin.com/blog/2010/05/follow-up-on-client-side-decorations/ http://blog.martin-graesslin.com/blog/2010/05/follow-up-on-c... * http://blog.martin-graesslin.com/blog/2015/11/october-plasma-on-wayland-update-all-about-geometry/ http://blog.martin-graesslin.com/blog/2015/11/october-plasma...
- ronjouch 11y agoThanks! They're dense, will read them at home. But looking at the first link (which is kind of a summary if my understanding is correct), I don't see any mention of the most important benefit to me: controls-in-titlebar. Am I missing something? Is Martin avoiding it, or is it a non-problem that could have been solved without CSDs?
- dheera 11y agoFrankly, I don't care about GTK vs. Qt. From a user standpoint, what I wish for the most is that apps have a unified look and consistency. File dialog bookmarks should be synced. If I change theme in one, it should change theme in the other. If I change fonts in one, it should change fonts in the other. If I plug in a 4K display, all apps should scale DPI identically. And from a programmer's standpoint, I wish we could end this battle already and someone just tell me what to use so that my app can become a part of everyone else's consistent look.
- 72deluxe 11y agoGTK applications have never fitted in on OSX or Windows for me. They look like bad Java applications, and some ignore the system menu bar etc. on OSX. No great loss.
- digi_owl 11y agoAt this point in time i feel the Linux world is split in two camps. The "old" camp that has been with the ecosystem since the late 90s, and the new camp that came in with the post-dot-com/browser-war cheap and easy access to LAMP servers. The former knows Linux from the kernel up, where the desktop is for the most part a way to deal with things that can't be represented in text. The latter knows Linux from the desktop down, and want those shiny graphics everywhere. GTK2 is of the old group, where tweaking and maximizing personal efficiency was king. GTK3 is old the new group, where presenting some kind of top down design experiences is paramount. Hell, it may not even be limited to Linux. Look at how Slack is getting all manner of attention, even though at its base it is IRC recreated. But now you can plaster every line with emoji(?!). Damn it, i should not be feeling like a grumpy old geezer. I'm not even half way to retirement...
- s73v3r 11y agoSlack may be IRC recreated, but at least for groups/businesses, they've definitely fixed a lot of the pain points of IRC. No arcane signup process, extremely simple sharing of files, perpetual history, etc.
- mindcrime 11y agoI kinda feel like Gnome/GTK peaked about 2001 or 2002, and has been in a steady decline ever since. OTOH, KDE/QT hit a local maxima around the same time, then dropped off, but has been improving for the past couple of years (with a few small ups and downs mixed in). I've switched to KDE Plasma desktop on Fedora as my primary work environment now and couldn't be happier. If I wanted to write a native X app now, I'd definitely be thinking QT. When QT first switched to LGPL, I hoped it would result in an explosion of interest in that environment. In hindsight, "explosion" would probably be an overstatement, but the K/QT world does seem to have been growing and improving since then.