Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.

GradienceTeam/Gradience

Important

Gradience has been archived as of June 29, 2024. See the blog post for some information on the rationale behind this decision.

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
Gradience

Change the look of Adwaita, with ease

Download on Flathub


Translation status Build status Flathub downloads Packaging status

Chat on Matrix Chat on Discord

Please do not theme this app

Preview

Gradience is a tool for customizing Libadwaita applications and the adw-gtk3 theme.

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
📷️ More screenshots

Monet Tab

Proof of Work

🎨️ Theming setup

Note

You can go to Preferences and apply overrides for Flatpak

🪛️ Manual setup

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

🔄 Revert Theming

  1. Open Preferences window

Main Gradience Menu

  1. Go to Theming tab

  2. In Reset & Restore Presets group, click Reset button for either GTK 3 or Libadwaita applications

Reset & Restore Presets Group

🪛️ Manual revert

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

[!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
🪛️ Without AUR helpers
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

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.

  1. Download GNOME Builder.
  2. In Builder, click the "Clone Repository" button at the bottom, using https://github.com/GradienceTeam/Gradience.git as the URL.
  3. 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

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 #23.

Pretty Purple is built-in in the Gradience and used in all Gradience artworks.

🌱️ Gradience, stopthemingmy.app and Adwaita Developers

See gradienceteam.github.io/hack

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

🪞 Mirrors