Awesome
[!IMPORTANT] Gradience has been archived as of June 29, 2024. See the blog post for some information on the rationale behind this decision.
<h1 align="center"> <img src="data/icons/hicolor/scalable/apps/com.github.GradienceTeam.Gradience.svg" alt="Gradience" width="192" height="192"/> <br> Gradience </h1> <p align="center"> <strong>Change the look of Adwaita, with ease</strong> </p> <p align="center"> <a href="https://flathub.org/apps/details/com.github.GradienceTeam.Gradience"> <img width="200" alt="Download on Flathub" src="https://dl.flathub.org/assets/badges/flathub-badge-i-en.svg"/> </a> <br> </p> <br> <p align="center"> <a href="https://hosted.weblate.org/engage/GradienceTeam"> <img alt="Translation status" src="https://hosted.weblate.org/widgets/GradienceTeam/-/svg-badge.svg"/> </a> <a href="https://github.com/GradienceTeam/Gradience/actions/workflows/build.yml"> <img alt="Build status" src="https://github.com/GradienceTeam/Gradience/actions/workflows/build.yml/badge.svg"/> </a> <a href="https://flathub.org/apps/details/com.github.GradienceTeam.Gradience"> <img alt="Flathub downloads" src="https://img.shields.io/badge/dynamic/json?color=informational&label=downloads&logo=flathub&logoColor=white&query=%24.installs_total&url=https%3A%2F%2Fflathub.org%2Fapi%2Fv2%2Fstats%2Fcom.github.GradienceTeam.Gradience"/> </a> <a href="https://repology.org/project/gradience/versions"> <img alt="Packaging status" src="https://repology.org/badge/tiny-repos/gradience.svg"> </a> </p> <p align="center"> <a href="https://matrix.to/#/#Gradience:matrix.org"> <img alt="Chat on Matrix" src="https://img.shields.io/matrix/Gradience:matrix.org?color=%230dbd8b&label=Gradience&logo=matrix&logoColor=white"/> </a> <a href="https://discord.com/invite/4njFDtfGEZ"> <img alt="Chat on Discord" src="https://dcbadge.vercel.app/api/server/4njFDtfGEZ?style=flat&theme=default-inverted"/> </a> </p> <p align="center"> <a href="https://stopthemingmy.app"> <img alt="Please do not theme this app" src="https://stopthemingmy.app/badge.svg"/> </a> </p> <p align="center"> <img src="https://github.com/GradienceTeam/Design/raw/main/Covers/preview.png" alt="Preview"/> </p>[!NOTE] Gradience is looking for a maintainer(s)! if you know Python and GTK4/Libadwaita and willing to work on it, chip in on Matrix and Discord.
Gradience is a tool for customizing Libadwaita applications and the adw-gtk3 theme.
[!IMPORTANT] Gradience, stopthemingmy.app and Adwaita Developers
The main features of Gradience include the following:
- 🎨️ Changing any color of Adwaita theme
- 🖼️ Applying Material 3 color scheme from wallpaper
- 🎁️ Usage of other users presets
- ⚙️ Changing advanced options with CSS
- 🧩️ Extending functionality using plugins
🎨️ Theming setup
<details> <summary>🪛️ Manual setup</summary>[!NOTE] You can go to
Preferences
and apply overrides for Flatpak
Libadwaita applications
No additional setup is required for native Libadwaita applications.
For Flatpak Libadwaita applications, you need to override their permissions:
- Run
sudo flatpak override --filesystem=xdg-config/gtk-4.0
or - Use Flatseal and adding
xdg-config/gtk-4.0
to Other files in the Filesystem section of All Applications
Vanilla GTK 4 applications
Use this guide to theme vanilla GTK 4 applications.
GTK 3 applications
- Install and apply the adw-gtk3 theme (don't forget to install the Flatpak package!)
- For Flatpak applications, you need to override their permissions:
- Run
sudo flatpak override --filesystem=xdg-config/gtk-3.0
or - Use Flatseal and adding
xdg-config/gtk-3.0
to Other files in the Filesystem section of All Applications
- Run
🔄 Revert Theming
- Open Preferences window
-
Go to Theming tab
-
In Reset & Restore Presets group, click Reset button for either GTK 3 or Libadwaita applications
Remove GTK 3 and GTK 4 configs
- Run
rm -rf .config/gtk-4.0 .config/gtk-3.0
Remove adw-gtk3 theme
- Run
flatpak uninstall adw-gtk3
to remove Flatpak adw-gtk3 theme - Run
rm -rf .themes/adw-gtk3 .themes/adw-gtk3-dark .local/share/themes/adw-gtk3 .local/share/themes/adw-gtk3-dark
to remove local adw-gtk3 theme
Reset Flatpak overrides
- Run
sudo flatpak override --reset
</details>[!WARNING] This will reset all Flatpak overrides, such as Firefox Wayland override
📦️ Alternative installation methods
[!IMPORTANT] The main installation method is Flatpak from Flathub
[!NOTE] There are number of Gradience packages that are not tested by Gradience Team and not listed here, available at Repology
Fedora (COPR)
Gradience is available for Fedora via COPR:
dnf copr enable lyessaadi/gradience
dnf install gradience
Debian (And derivatives)
[!WARNING] Not available yet.
Arch Linux (AUR)
Gradience is available for Arch Linux via AUR:
Using Paru:
paru -S gradience
For latest changes:
paru -S gradience-git
<details>
<summary>🪛️ Without AUR helpers</summary>
git clone https://aur.archlinux.org/gradience.git
cd gradience
makepkg -sic
For latest changes:
git clone https://aur.archlinux.org/gradience-git.git
cd gradience-git
makepkg -sic
</details>
NixOS
Gradience is available for NixOS 23.05 (Stoat) and later:
To run in a temporary shell:
nix-shell -p gradience
To install:
nix-env -iA nixos.gradience
🏗️ Building from source
Nightly Build
First of all, you need to have GNOME Nightly Flatpak remote added if it's not already:
flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
Then, download the Gradience nightly from here
Finally, extract the ZIP and install Gradience by running:
flatpak install gradience-devel.flatpak
GNOME Builder
GNOME Builder is the environment used for developing this application. It can use Flatpak manifests to create a consistent building and running environment cross-distro. Thus, it is highly recommended you use it.
- Download GNOME Builder.
- In Builder, click the "Clone Repository" button at the bottom, using
https://github.com/GradienceTeam/Gradience.git
as the URL. - Click the build button at the top once the project is loaded.
For more building and installation methods, see HACKING.md
🎛️ Miscellaneous
Show welcome window again
The following command will make Gradience show welcome screen on next launch, like you just installed it
Flatpak
flatpak run --command=gsettings com.github.GradienceTeam.Gradience reset com.github.GradienceTeam.Gradience first-run
Alternative installation methods
gsettings reset com.github.GradienceTeam.Gradience first-run
ℹ️ FAQ
How can I launch a CLI?
Refer to temporary CLI documentation in repo's wiki for instructions on how to launch a CLI.
🙌 Contribute to Gradience
See HACKING.md
✨️ Contributors
🏷️ About the Name
Gradience was originally named Adwaita Manager.
You can see the meaning of Gradience on Wiktionary.
The icon represents: A Paint Roller repainting an Adwaita window, keeping its functionality.
🖌️ About the "Pretty Purple"
The Pretty Purple theme comes from the very beginning, directly from the original author of Gradience, Artyom Fomin.
It was called "Purple Guy", presumably as a reference to the FNaF, later it was renamed to Pretty Purple.
Pretty Purple preset was originally shared in the https://github.com/GradienceTeam/Gradience/discussions/23.
Pretty Purple is built-in in the Gradience and used in all Gradience artworks.
🌱️ Gradience, stopthemingmy.app and Adwaita Developers
Gradience Team is not against the ideas of stopthemingmy.app and the developers of Adwaita. Gradience is a tool for tinkerers who want to theme their desktop to their liking, and not a tool for distributions to ship in their releases. Gradience Team agrees with importance of unified look of Adwaita to make sure that all apps function correctly and that developers have a unified and stable tool for creating their apps.
💝 Acknowledgment
Special thanks to:
- Original author of Gradience, Artyom Fomin for creating this project
- Weblate for providing translation platform
This README is based on README from Kooha by Dave Patrick Caberto