Change the look of Adwaita, with ease
Go to file
tfuxu c6365f6c88 feat: set devel app id and version suffix if buildtype is debug, and replace another hard-coded values to constants
* modify flatpak json's to use local directory instead of local git repository
2022-08-15 20:47:26 +02:00
.github fix: workflow error 2022-08-15 08:57:37 +02:00
data feat: set devel app id and version suffix if buildtype is debug, and replace another hard-coded values to constants 2022-08-15 20:47:26 +02:00
monet use local file 2022-08-11 11:29:36 +02:00
po ci: generate .pot file 2022-08-15 12:15:28 +00:00
src feat: set devel app id and version suffix if buildtype is debug, and replace another hard-coded values to constants 2022-08-15 20:47:26 +02:00
.gitignore Added gitignore and localization to settings schema 2022-07-26 16:31:16 +03:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2022-08-10 01:27:08 +02:00
com.github.AdwCustomizerTeam.AdwCustomizer.Devel.json feat: set devel app id and version suffix if buildtype is debug, and replace another hard-coded values to constants 2022-08-15 20:47:26 +02:00
com.github.AdwCustomizerTeam.AdwCustomizer.json feat: set devel app id and version suffix if buildtype is debug, and replace another hard-coded values to constants 2022-08-15 20:47:26 +02:00
LICENSE Create LICENSE 2022-08-10 23:51:10 +02:00
local.sh feat: allow users to compile builds using meson and ninja, and add a convenience shell script 2022-08-12 23:17:49 +02:00
Makefile fix: reocnfigure meson each time 2022-08-14 11:50:22 +02:00
meson.build feat: set devel app id and version suffix if buildtype is debug, and replace another hard-coded values to constants 2022-08-15 20:47:26 +02:00
pylintrc Fixed pylintrc 2022-07-29 21:05:28 +03:00
pypi-dependencies.json add regex 2022-08-11 11:24:21 +02:00
README.md fix: better text in about aame section 2022-08-14 20:16:10 +03:00
requirements.txt add regex 2022-08-11 11:24:21 +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 (AdwCustomizer) 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 Chat on Matrix

Building and Installing

[NOTE] See next branch for UI rework and 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
pip3 install $(pwd)/monet/material_color_utilities_python-0.1.0-py3-none-any.whl

Global installation:

git clone https://github.com/AdwCustomizerTeam/AdwCustomizer.git
cd AdwCustomizer
meson builddir --prefix=/usr/local
sudo ninja -C builddir install

Local build (for testing and development purposes):

git clone https://github.com/AdwCustomizerTeam/AdwCustomizer.git
cd AdwCustomizer
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/AdwCustomizerTeam/AdwCustomizer.git && cd AdwCustomizer
  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.AdwCustomizerTeam.AdwCustomizer.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.

Localize

The localization project is available on Transifex.

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"