Change the look of Adwaita, with ease
Find a file
dependabot[bot] 4229dc6d27
build(deps): bump peter-evans/create-pull-request from 3 to 4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-19 07:46:29 +00:00
.github build(deps): bump peter-evans/create-pull-request from 3 to 4 2022-08-19 07:46:29 +00:00
data feat: rename to Gradience 2022-08-18 18:49:51 +02:00
po translate: translated using Weblate (Dutch) 2022-08-19 07:49:34 +02:00
src feat: update constants 2022-08-18 18:50:25 +02:00
.gitignore feat: add copyrights 2022-08-16 13:24:25 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-08-10 01:27:08 +02:00
com.github.GradienceTeam.Gradience.Devel.json feat: update flatpak to gradience 2022-08-18 18:51:38 +02:00
com.github.GradienceTeam.Gradience.json feat: update flatpak to gradience 2022-08-18 18:51:38 +02:00
LICENSE Create LICENSE 2022-08-10 23:51:10 +02:00
local.sh feat: add copyright 2022-08-16 12:14:27 +02:00
Makefile feat: only use global install 2022-08-18 18:49:36 +02:00
meson.build feat: update constants 2022-08-18 18:50:25 +02:00
pylintrc Fixed pylintrc 2022-07-29 21:05:28 +03:00
pypi-dependencies.json feat: use pypi version 2022-08-18 18:49:25 +02:00
README.md feat: update using Gradience 2022-08-18 18:52:25 +02:00
requirements.txt feat: use pypi version 2022-08-17 15:31:54 +02:00
transifex.yml Update transifex.yml 2022-07-30 00:50:34 +03:00

Project logo

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.

More screenshots

Screenshot of interface with a customized theme

Screenshot of proof that this actually works

Build flatpak Build flatpak nightly Translate on Weblate Chat on Matrix

Building and Installing

[NOTE] See next branch for latest commits.

Requirements:

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

Building from source:

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/testdir"
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. Add the gnome-nightly Flatpak repository flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
  4. Install the master version of GNOME SDK: flatpak install org.gnome.Sdk/x86_64/master org.gnome.Platform/x86_64/master
  5. Run flatpak-builder --install --user --force-clean repo/ com.github.GradienceTeam.Gradience.json

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

Setup Tutorial

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

Roadmap

This tool is currently WIP, but it already has a plenty of features and is very usable. Below is the roadmap, where all the checked features are already implemented:

  • Customize named colors, either with a color picker or with text
  • Explanations for some named colors
  • Partial theme preview
  • Built-in presets for Adwaita and Adwaita Dark (based on default libadwaita colors)
  • Apply changes to libadwaita, GTK4 (with extracted libadwaita theme) and GTK3 (with the adw-gtk3 theme) applications
  • Load and create custom presets
  • View adw-gtk3's support of variables
  • View parsing errors
  • Customize palette colors
  • Add custom CSS code
  • Localization support
  • Normalize color variables
  • Make the code more secure
  • Add plugin support. Will help integration with others tools.
  • Release on Flathub
  • Full theme preview
  • Customize GNOME Shell
  • Customize GDM
  • Customize KvLibadwaita
  • Customize Firefox GNOME theme

Contribute

Code

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

Localisation

Translations

About Name

Gradience is originally named Adwaita Manager

Meaning of Gradience is: https://en.wiktionary.org/wiki/gradience

Meaning of an icon is: "A Paint Roller repaints Adwaita window keeping it's functionality"