GTK, GNOME’s toolkit for creating graphical user interfaces is lately on the media/blogs/socials spotlight and not for a good reason. GTK is criticized as no-modern and poor toolkit and many people even suggest that GNOME should switch to Qt -something that will never (never say never) happen.
If you look around in applications that are made with GTK, you will notice really bad interfaces in a very good apps (in functionality), and only the experienced devs (people that dedicated quite a time) seem to deliver quality GTK Apps. In any case GTK never was a very attractive choice.
All the above would be useless, if they didn’t also work to improve the GTK itself. There are massive improvements in GTK 3.10 and more will follow, like Responsive Design, Popup Windows, better Tabbing support etc.
Appart from GTK itself, there are also improvements in Clutter Toolkit, which many Apps embed in GTK and of course there is GTK Webkit and all those give the freedom to devs to create powerful and pretty applications.
Clocks feature an really nice animation!
Clocks Stopwatch View is a nice example of the capabilities of GTK to create what we call modern applications.
Weather is another great looking app (and Athens has a great Weather!), so despite the weaknesses of GTK for devs, users can get quality apps.
GTK made a record high with 46 contributors in Aug 2013 equals the 46 contributors on Jan 2011. Of course those numbers while are better from previous years, aren’t encouraging at all for the size of the project, mostly if we take into consideration that only 2-3 devs do the most work. To make my point clear I also printed the Qt5 graphs, that shows 187 contributors in just one month.
A huge difference is that Qt has many more regular contributors and that is why the number of commits in Qt5 are multiple times over GTKs.
If you are interested on stats, you can check on Ohloh
GTK 3.10 Changelog
Major new features include:
- We support Wayland 1.2 now
- The backend is much more complete now, with support for maximization, animated cursors, multiple monitors, settings, custom surfaces, frame synchronization
- Improve window size handling
- Implement frame synchronization
- Add support for password authentication
- Broadway can be built on Windows now
- Native input methods are supported
Major new features
- Support for composite children has been added to GtkWidget. This allows to create complex widgets from GtkBuilder ui files. All complex GTK+ widgets have been converted to use this facility.
- Client-side decorations are supported, including application-provided title bars with gtk_window_set_titlebar().
- Support for scaled output (on high-dpi screens) has been added. This requires cairo master to work.
- The fine-adjustment mode for scrolling has been made more discoverable, and visual feedback and autoscrolling has been added.
- GtkHeaderBar is a new widget similar to a GtkBox, with the extrafeature that it can center a child (typically a title), independent of the other content.
- GtkPlacesSidebar is the sidebar widget in the file chooser, exported as a public widget – it will be shared with nautilus.
- GtkStack is an alternative to GtkNotebook for showing one of several child widgets at a time. It supports animated transitions. Tabs are not built into this widgets, but instead provided by the separate GtkStackSwitcher widget.
- GtkRevealer is a new new widget that can hide or show its child in an animated fashion.
- GtkSearchBar -s a toolbar that will popup automatically when searches should be started, and dismissed when they are finished
- GtkListBox is a vertical container that can sort and filter its children
- Baseline support was added to the GTK+ size allocation machinery. Widgets can now export the baseline of the text they contain, and containers can align their children wrt to their baselines.
- Implement height-for-width for GtkEventBox and GtkCheckButton
Deprecations and removals
- Support for the Motif DND protocol has been dropped
- Support for multiple screens per display has been removed. This was only ever supported on X11, and is an exceedingly rare setup nowadays. The display-screen relation is now 1:1
- gdk_window_get_display has been deprecated
- gtk_widget_push_composite_child has been deprecated – this was not used for anything
- Tear-off menuitems have been deprecated
- We’ve started deprecating stock APIs, including GtkIconFactory, GtkIconSet, GtkIconSource, GtkImageMenuItem, GtkAction, GtkUIManager. These APIs will continue to work until GTK+ 4, so there is no need to rush to replace them.
- A number of GTK+ settings have been deprecated and are ignored now.
Widget Factory 3.10.1
For more details and lists of fixed bugs, see the NEWS file that is included in the tarball, or see:
For concerns about porting from older GLib release, see the README file that is included in the tarball, or see:
Where to get more information about GTK+
Information about GTK+ including links to documentation can be found at:
An installation guide for GTK+ is found at:
GTK+ is a large project and relies on voluntary contributions. We are actively searching for new contributors in various areas and invite everyone to help project development. If you are willing to participate, please subscribe to the project mailing lists to offer your help and read over our list of vacant project tasks:
Thanks to the many people who contributed to this release in the form of bug reports, patches and translations.
September 23, 2013
It would be very helpful if you have some time to file a bug that you will discover in GTK. Specially if you can run GTK against Wayland.
A bug that was forcing huge dialog boxes on large filepath names is gone! Remember, what is a common bug for you, maybe is unknown to devs!