Change the look of Adwaita, with ease
Go to file
David Lapshin fb0486628a
feat: update release notes (#659)
# 0.3.2 release notes

Description of what changed in this release

## Changelog

- Added 0.3.2 release notes

## Screenshot

If applicable
2022-11-20 23:09:06 +03:00
.github Update translation.yml 2022-11-18 17:50:50 +03:00
build-aux ci: update Flatpak pypi dependencies 2022-11-10 19:16:51 +00:00
data Merge branch 'main' into 0.3.2-release-notes 2022-11-20 23:08:42 +03:00
gradience feat: 0.3.2 release notes 2022-11-20 22:59:46 +03:00
po translate: translated using Weblate (German) 2022-11-20 19:54:48 +01:00
.all-contributorsrc Adding LyesSaadi as a contributor for Packaging 2022-08-21 00:39:21 +02:00
.deepsource.toml Add .deepsource.toml 2022-09-07 15:50:48 +00:00
.editorconfig feat: set intent_size for *.blp to 2 spaces, to match a majority of *.blp files 2022-10-01 18:33:13 +02:00
.gitignore feat: local build support 2022-09-13 20:06:03 +02:00
CODE_OF_CONDUCT.md feat: add gnome coc 2022-09-21 21:57:28 +02:00
CONTRIBUTING.md fix: add contributors 2022-09-29 23:22:54 +02:00
gradience.doap feat: add doap file 2022-09-11 22:45:02 +02:00
LICENSE Create LICENSE 2022-08-10 23:51:10 +02:00
local.sh feat: update local.sh 2022-11-11 01:46:07 +01:00
MAINTAINERS.md fix: nicknames and links 2022-09-16 15:34:28 +03:00
Makefile meson: remove depracation warnings in newer Meson versions 2022-11-11 01:42:00 +01:00
meson.build meson: remove depracation warnings in newer Meson versions 2022-11-11 01:42:00 +01:00
pylintrc feat: improve pylint style 2022-08-31 09:31:59 +02:00
README.md docs: fix typos 2022-11-05 09:37:58 +08:00
requirements.txt feat: move from cssutils to in-house solution 2022-10-14 23:25:12 +02:00
ROADMAP.md feat: fix odd Libadwaita, GTK 3 and GTK 4 names 2022-10-08 03:27:23 +03:00
SECURITY.md fix: add security 2022-09-11 22:00:06 +02:00

Gradience
Gradience

Change the look of Adwaita, with ease

Download on Flathub


Translation status CI status Flathub downloads Packaging status

Chat on Matrix Chat on Discord

Preview

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

Warning

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
📷 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

Note

You can press on the menu button in the headerbar and press Reset Applied Color Scheme Main Gradience menu

🪛 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

Warning

The main installation method is Flatpak from Flathub

COPR

Gradience is available on COPR. You can install it using the following command:

dnf copr enable lyessaadi/gradience
dnf install gradience

Debian (And derivates)

Warning

Not available yet.

AUR

Gradience is available on 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

🏗️ Building from source

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.

Meson

Prerequisites

The following packages are required to build Gradience:

  • Python 3 python
  • PyGObject python-gobject
  • Blueprint blueprint-compiler
  • GTK 4 gtk4
  • Libadwaita (>= 1.2.alpha) libadwaita
  • Libsoup 3 (>= 3.2.0) libsoup
  • Meson meson
  • Ninja ninja-build

Required Python libraries:

pip install -r requirements.txt

Build Instruction

Global installation
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
meson builddir --prefix=/usr/local
sudo ninja -C builddir install
Local build (for testing and development purposes)
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
meson builddir
meson configure builddir -Dprefix="$(pwd)/builddir"
ninja -C builddir install
ninja -C builddir run

Note

During testing and development, as a convenience, you can use the local.sh script to quickly rebuild local builds.

🙌 Contribute to Gradience

Code

Fork this repository, then create a push request when you're done adding features or fixing bugs.

Localization

You can help Gradience translate into your native language. If you found any typos or think you can improve a translation, you can use the Weblate platform.

Translations

Contributors

Contributors

📊 Stats

Statistics

🏷️ 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 it's functionality.

🌱 Gradience, stopthemingmy.app and Adwaita Developers

Gradience Team is not against stopthemingmy.app and Adwaita Developers idea, Gradience is a tool for tinkers that want to theme their desktops at their liking, and not a tool for distributions to change theme in them by default, Gradience Team agrees with importance of unified look of Adwaita to make sure that all apps work right and Developers have 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