What's new for developers, system administrators and distributors

GNOME 3.14 introduces a number of new features and enhancements for those working with GNOME technologies.

GTK+ Inspector

With 3.14, GTK+ includes an exciting new interactive inspector. This allows live examination of a running GTK+ application, with interactive selection of widgets and interface elements. Properties and CSS can be viewed and edited live, and the inspector also provides access to testing and inspection settings, such as touch screen emulation, window scaling, theme and font settings, text direction and more.

GTK+ Inspector is an incredibly useful development and testing tool. It can be invoked anywhere, with the Ctrl+Shift+I keyboard combination.

CSS Integration for Icons and Assets

GTK+'s CSS support has continued to expand with 3.14, and now features closer integration with icon themes and SVG assets. Icons from the icon theme can be called directly from CSS, and SVG assets can be used to style spinners, arrows, checkmarks, radiomarks and expanders. This can be used to integrate a GTK+ theme with an icon theme for a consistent look and feel, and provides a convenient way to style symbolic theme elements.

SVG icons and assets can also be styled and transformed with CSS. Symbolic icons can be recolored, and can have shadows and animations applied. A theme can also specify where regular or symbolic (monotone) icon variants should be used.

More details can be found in Benjamin Otte's post on the subject.

Another Wayland Milestone

3.14 is another significant milestone on the path to full Wayland adoption for GNOME. Critical pieces of missing functionality have been filled in, including keyboard configuration, touch screen support, drag and drop support, functional context menus, tooltips and comboboxes, high-resolution display support, and window move/resize.

Stability has also been greatly improved over the 3.14 development cycle, and a large number of bugs have been fixed. As a result of this work, GNOME now provides a usable Wayland experience, which can serve the basis of further testing and stabilization work.

Developers are encouraged to test GNOME and their applications with Wayland. Further details about this, and about GNOME on Wayland in general, can be found on the GNOME Wayland wiki page.

Gestures

GTK+ now includes support for gesture interaction. With 3.14, the majority of common multitouch gestures are available for use in GTK+ applications, such as tap, drag, swipe, pinch and rotate. Gestures can be added to existing GTK+ applications using GtkGesture.

Gestures are currently only supported with touchscreen devices - touchpads are not yet covered.

New Default GTK+ Theme

From 3.14, Adwaita has replaced Raleigh as the default GTK+ theme. This ensures that GTK+ has an attractive, complete, and up-to-date default theme for all platforms. Adwaita utilizes all the latest GTK+ CSS features, and supports all of GTK+'s new widgets.

To support this move, Adwaita has been rewritten from the ground up for 3.14. The new version is more compact, maintainable and flexible, and makes use of more CSS features, such as animations.

Human Interface Guidelines

GNOME 3.14 includes a new and updated set of Human Interface Guidelines (HIG). These provide thorough design guidance for the latest GTK+, enabling developers and designers to make the most of the toolkit. The HIG includes guidelines on layout, writing style, icons, typography and input. It also incorporates a collection of design patterns, which you can use to construct a fully-featured application design, as well as design notes on the various GTK+ widgets.

The new version of the HIG is designed to provide guidance for all GTK+ users, including authors of cross-platform applications, as well as those targeting GNOME 3.

Other GTK+ Improvements

GTK+ 3.14 includes an assortment of other improvements and bug fixes. This includes:

  • Automatic loading of menus from resources.

  • Multi-selection support in GtkListBox.

  • Horizontal sections in popover menus.

  • Property bindings in GtkBuilder files.

  • Support for drawing outside a widget's allocation (see gtk_widget_set_clip()).

  • New transition types in GtkStack.

  • File loading and saving with GtkSourceView.

GLib 3.14

GLib 3.14 includes: