Some see the emergence of libadwaita as an intentional roadblock, something designed to get in the way of end-user customisation – but a new app added to Flathub this week proves otherwise.
Gradience is a nimble desktop app written in Python, GTK4, and libadwaita. Using it you can tweak each and every colour shown in the libadwaita theme (as well as colours of the adw-gtk3 theme, should you have it installed).
We’re talking background app colour, button colour, toggles, switches, radio boxes, and sliders; menus; dialogs; pop-overs; drop-down lists, text… You can even adjust the opacity if you really like seeing your desktop wallpaper.
There’s even an advanced tab where custom CSS code can be applied — this app busts the myth that libadwaita limits theme customisation.
Thing is, none of those controls are why I like this app. Oh sure, I get that having unbridled autonomy over every accent, hue, and tone in libadwaita is exciting. Go mad! But let me level with you: I can’t even dress myself coherently most days, let alone design a balanced colour scheme for my desktop UI that is fun but functional.
Thankfully, Gradience has a few interesting features to help the less creatively-gifted amongst us achieve a customised desktop setup that doesn’t make anyone’s eyes bleed.
The ‘Monet’ mode can automatically generate a libadwaita colour scheme based on the colours of any image you feed it. You have a bunch of controls to fine-tune what it produces in more detail, using its initial calculations as a base. You can configure, name, and save your ‘Material Design 3’ preset to use again or share.
Which brings me to the real “killer” feature of Gradience: it lets you save, export, import, and browse “presets” curated by other Gradience users.
There are some fantastic palettes already available, including ones based on the popular “Dracula” colour scheme, and the calming “Solarized” colour scheme, which you can see pictured below:
Perhaps most importantly, Gradience is relatively “safe” to you as you can, with one click, undo/reset/return to stock libadwaita.
With Gradience you can:
- Change any color of Adwaita theme
- Apply Material 3 colors from wallpaper
- Search and install other users’ presets
- Change advanced options with CSS
- Extend functionality using plugins
This latter function is an interesting one for the future, as it could allow colour schemes to be applied to non-libadwaita software too. At the time of writing this post no plugins are available, but it’s something to keep an eye on.
You’ll find Gradience on Flathub.
A few notes: keep in mind the app is relatively new and there may be some quirks; the app can’t theme non-libadwaita software unless it’s using the adw-gtk3 theme; and be aware you often need to quit/reopen apps for theme changes to occur — so don’t think the Gradience isn’t working like I did for the first five minutes using it!