I am glad to announce that the tooling I am working on since the beginning of the year is ready to be used!
Thanks to new features introduced into libhandy 0.0.3 and 0.0.4 and thanks to a few fixes to Adwaita in GTK+ 3.24.1, you can make GTK+ 3 apps adaptive to work both on the desktop and on the upcoming GNOME-based Librem 5 phone.
We are early in the GNOME 3.32 release schedule and the Librem 5 will be released a bit after it, so if you want your apps to work on the Librem 5, now is the best time: use libhandy 0.0.4 and up, use GTK+ 3.24.1 and up and target GNOME 3.32! A few apps like Fractal, Podcasts, Calls and Chatty are already using libhandy's adaptive capabilities, and other apps are working on their adaptive transition like Contacts, Games, Geary and Settings (all are works in progress). libhandy is available in Debian Unstable and Arch's AUR repository, and I wish it would be in Fedora already to let GNOME Settings' CI pass.
For the moment, libhandy is a GTK+ 3 widget library, we will ultimately port it to GTK+ 4 and relevant widgets will be submitted to GTK+ 4. Theme creators, for adaptive apps to work well with your theme please apply similar chages to the ones I applied to Adwaita (look for changes by Adrien Plazas between 3.24.0 and 3.24.1).
Here are a few links you will find useful:
- Guide to make your GTK+ apps adaptive
- Constraints for your app to work on the Librem 5
- libhandy's forge
- libhandy's documentation
- Librem 5 developer documentation