Change the look of Adwaita, with ease
Go to file
David Lapshin 67e9ba9672
fix: preset directory issues (#494)
Written on github's editor, and not tested yet 😅 !
2022-09-23 23:08:55 +03:00
.github build(deps): bump actions/stale from 5 to 6 2022-09-22 08:44:44 +00:00
build-aux Merge branch 'main' into pypi-deps 2022-09-13 23:23:36 +02:00
data Update com.github.GradienceTeam.Gradience.appdata.xml.in.in 2022-09-23 20:57:39 +02:00
gradience Breaking translations temporarily to solve a bigger bug 2022-09-23 21:40:52 +02:00
po translate: translated using Weblate (Russian) 2022-09-23 19:53:04 +02: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 fix: add editor config 2022-09-11 22:25:55 +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 Update CONTRIBUTING.md 2022-09-01 19:39:15 +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: local build support 2022-09-13 20:06:03 +02:00
MAINTAINERS.md fix: nicknames and links 2022-09-16 15:34:28 +03:00
Makefile feat: add release in mak 2022-09-18 03:45:52 +02:00
meson.build fix: help url 2022-09-22 11:32:51 +03:00
pylintrc feat: improve pylint style 2022-08-31 09:31:59 +02:00
README.md fix: typo 2022-09-23 14:37:10 +03:00
requirements.txt feat: begin shell theme 2022-09-13 22:20:15 +02:00
ROADMAP.md fix: add autoload preset 2022-09-13 21:38:42 +02:00
SECURITY.md fix: add security 2022-09-11 22:00:06 +02:00

Icon

Gradience

Change the look of Adwaita, with ease

Screenshot of interface with Adwaita light theme

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

Warning

Gradience, stopthemingmy.app and Adwaita Developers

More screenshots

Screenshot of interface of Monet Tab

Screenshot of proof that this actually works

Flatpak build Copr build status Flathub Translate on Weblate Chat on Matrix Chat on Discord

Download

Gradience is available on Flathub.

Download on Flathub

Building and Installing

Gradience can be installed using multiple methods.

  • Flathub (Recommended)
  • As RPM package
  • As DEB package (not available yet)
  • From AUR

Flatpak

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

flatpak install flathub com.github.GradienceTeam.Gradience

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. If you want, submit a PR.

AUR

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

yay -S gradience # or gradience-git

Building from source

Requirements

  • Python 3 python
  • PyGObject python-gobject
  • Blueprint blueprint-compiler
  • GTK4 gtk4
  • libadwaita (>= 1.2.alpha) libadwaita
  • Meson meson
  • Ninja ninja-build

Install required Python libraries:

pip install -r requirements.txt

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 developement, as a convenience, you can use the local.sh script to quickly rebuild local builds.

Building using flatpak-builder

  1. Open Terminal
  2. Run git clone https://github.com/GradienceTeam/Gradience.git && cd Gradience
  3. Install the 42 version of GNOME SDK: flatpak install org.gnome.Sdk/x86_64/42 org.gnome.Platform/x86_64/42
  4. Run: flatpak-builder --install --user --force-clean repo/ build-aux/flatpak/com.github.GradienceTeam.Gradience.Devel.json

Alternatively, open the project with GNOME Builder, then build and run it.

Theming Setup

You can also go in Preferences and apply override 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

Revert Theming

Using app:

Press on 3-lines button and press Reset Applied Color Scheme

hamburger menu

Manually:

Remove GTK3 and GTK4 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

Roadmap

See ROADMAP.md

Contribute

See CONTRIBUTING.md for more informations and a list of contributors

About 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 https://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.