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

I wouldn't normally care about the state of GNOME, but as a developer myself I'm in a really sorry state of affairs regarding GTK itself.

At some point with 2.x, GTK stopped being GIMP's toolkit and became part of GNOME. Fortunately it remained more or less self-contained, but it's no longer the case with GTK3.

As an user, I cringe about the usability and responsiveness of GTK3 applications. I really dislike how the built-in dialogs have become. I don't like how some widgets now work. No (easy) theming (as a reversed color theme user) is also a major letdown.

I always considered GTK a nice toolkit from the user's perspective, and up to GTK 1.x it was also considerably faster than QT. GTK2 killed that, and at the same time removed any support for exotic OSes. I had 1-line patches refused under pretty much the same reasons you read in the article.

But as an user I still preferred GTK because of some nice unix-centric features (tear-off menus -- that disappeared at some point, column-based file browsers -- again killed later, user-customizable key bindings on any application -- can you still do that? I don't even care anymore, low memory, fast engines, etc).

But now QT is just superior in any front. QT has native support for OO and nice, consistent, multi-platform API, whereas GTK3 still depends of the shitty glib stack that pretends to be an OO framework (and doing a poor job at it). Ever got random glib warnings by GTK applications on the console? My xsession-errors is full of them. As a developer I just cringe at GTK. It was always bad from day 1, but now it doesn't really make any more sense. Whenever I need to consider a toolkit for a C-only based program (where QT or FLTK is not an option), I usually go for UIP. It's a shame that the looks of these toolkits do not integrate in the rest of the UI.

Right now I actively remove any GTK3 application. Whenever an application gets rebuilt I switch to a QT counterpart, which is usually more responsive and more stable over time. GTK didn't deserve this.

Qt/KDE have their issues as well. Both Qt and KDFE have their own versions of each object (e.g. QAction vs KAction). This means you have two choices when writing an application in Qt -- Qt only or KDE-based.

The Qt stack does not have support for mimetype handling for files (e.g. I want to open any text/html file). You need KDE for that.

Qt/KDE requires you to generate moc files (preprocessing the C++ code) which can make it harder to maintain if not using CMake or the Qt project format.

Qt broke the behaviour of QAudioDeviceInfo by moving it to a different package (QtMultimedia vs QtMultimediaKit). There have been times where Qt has not shipped a pc package (esp. in the package QAudioDevice moved to) which makes it difficult to add that package on build systems other than the Qt build system.

Qt does not support using gettext for translation.

Qt is in a transition from QtWidgets to QtQuick which (like Gtk3 themes) is currently a moving target.

I'm pretty sure there's a gconf/dconf key somewhere to enable the customisable keys.

You can see how customisable keys could confuse a normal user if they did it by accident though.

At least improvements are happening to gtk (if slowly for lack of manpower) .. for instance gtk3 makes drawing a lot simpler (a lot more based around cairo) - changes like this are important as it should be quicker to make apps.

Toolkits etc do need to refreshed from time to time or they become unmanageable, 10 years or so was pretty good for gtk2, gtk3 is only just getting started.


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