Many CSS improvements and bug fixes landed lately

Nov 15, 2016 01:47 GMT  ·  By

On November 14, 2016, Emmanuele Bassi has reported on the latest work of various GTK+ developers for the cross-platform and open-source GUI (Graphical User Interface) toolkit, the core of the GNOME desktop environment.

Last week, we told you that GTK+ 3.22.3 stable release landed on the official channels and was ready for integration in various GNU/Linux distributions that are already shipping with the newest GNOME 3.22 packages. Our report stated that GTK+ 3.22.3 brought many GL improvements and HiDPI support for the Windows platform.

But it looks like there's a lot going on in the master branch, where the magic happens. According to Emmanuele Bassi's latest report, Adwaita, the default GNOME theme and other GTK+ themes were ported to use the standard CSS gradient definitions, and it looks like the custom "-gtk-gradient" CSS function has been removed.

"In this last week, the master branch of GTK+ has seen 46 commits, with 1541 lines added and 3471 lines removed," wrote Emmanuele Bassi. "Matthias Clasen worked on removing the custom -gtk-gradient CSS function and ensured that the standard radial-gradient and linear-gradient functions worked as defined by the CSS specifications."

GTK+ now uses a lot less CPU under Wayland than under X11

Among other interesting changes, we can mention that there's a new GskTexture API inside GSK, which can be used for caching icon assets, a bug that made GTK+ use a lot more CPU under the next-generation Wayland than under X11 was patched, and there are fixes for GdkGLContext, GtkSpinButton, GtkHeaderBar, GtkPrintOperation, and GtkPlacesSidebar too.

It also looks like the custom "appears-as-list" style property was removed from GtkComboBox, along with the custom style properties used by the GtkToolItemGroup and GtkTreeView widgets. The latter were replaced with standard CSS properties. All these goodies and much more should land soon in the upcoming GTK+ 4 branch, which is currently under heavy development.