Libadwaita 1.0 has been released, kickstarting a new era in GTK app development.
Now, there’s been a fair bit of controversy and misunderstanding over what libadwaita is and isn’t. It’s pitched as a library that implements the (new) GNOME HIG, and is a GTK4-based successor to the GTK3-based libhandy library that has, over the past few years, given GTK apps lots of cool adaptive capabilities.
Libadwaita is set to become tightly intwined with GNOME as, in a break with the past, this library comes with a stylesheet —what we think of as GTK themes are actually just stylesheets— baked in. This means anything built using libadwaita (i.e., like a lot of GNOME 42) should look virtually the same wherever it runs regardless of what GTK theme is set.
The upcoming GNOME 42 release makes heavy use of GTK4 and libadwaita already. This is one of the reasons why engineers working on Pop!_OS plan to build a new desktop environment, as they wish to retain some control over how things look to end users
While the arrival of libadwaita is a big win for Linux developers irritated by inconsistencies introduced by distro theming it is also a small loss for the Linux desktop customisation scene. That said, there’s nothing precluding some “theming” elements from being added to/supported by libadwaita — it is open source code, after all.
On the the positives: the ‘new’ version of the Adwaita “theme” shipped inside libadwaita looks pretty awesome (IMO, ofc). You can get a good feel for it in the hero image at the start of this post (unless you’re reading from an RSS reader or a scraper site).
As well as looking good, it feels good. The libadwaita library intros a ton of modern flourishes, widgets, and behaviours that app developers can take advantage of. These new additions will result in robust, modern, and above all consistent GTK apps going forward.
I’m pretty optimistic about the future from here, and I say that as someone who’s spent 13 years writing about GTK themes (amongst other stuff) and enjoying the flexibility of a desktop environment that can be made to look …Well, like whatever you want.
For one, theming capabilities aren’t going anywhere per se; libadwaita isn’t ubiquitous yet, and not every GTK4 app will use libadwaita. Plus, GTK3 remains available and tons of other desktop environments out there (like Linux Mint’s Cinnamon, MATE, etc) use it. Those DEs aren’t evaporating anytime soon!.
While the theming scene many of us know and love on the GNOME desktop will need to adapt to libadwaita, there’s no reason it won’t continue to exist. Besides, libadwaita isn’t anti-theme it’s more pro-predictability.
GNOME’s design team say they aren’t averse to adding extra theming capabilities to libadwaita, like accent colours, in future.
And what a future it’s going to be.