So, it turns out that it’s actually simple to get a theme to override libadwaita
. There are 2 methods:
- Create symlinks under
~/.config/gtk-4.0/
-
This can be done manually:
theme=Matcha-dark-sea ; for f in "gtk-4.0/gtk.css" "gtk-4.0/gtk-dark.css" "gtk-4.0/assets" "assets" ; do [ -e "/usr/share/themes/$theme/$f" ] && ln -s "/usr/share/themes/$theme/$f" ~/.config/gtk-4.0/"$f"; done;
-
Or, with this helper python script:
libadwaita-theme-changer
- Requires
python3
- Note: The python script was originally forked from:
odziom91/libadwaita-theme-changer
- Refactoring & more theme directories support added from Pippadi’s fork.
- Changes were added to support Manjaro + OS-packaged themes under:
/usr/share/themes
&/usr/local/share/themes
- Requires
-
libadwaita-without-adwaita-git
package- This is the method used by TromJaro
- Involves patching
libadwaita
with this patch
Note: Neither of these methods are officially supported, given the current stance of GNOME and rationale behind libadwaita
. Yet, as always, the *nix community will find a way to customize. Such is the way of OSS.