2022-08-22 02:03:23 +00:00
< img align = "left" alt = "Icon" src = "https://github.com/GradienceTeam/Gradience/blob/main/data/icons/hicolor/scalable/apps/com.github.GradienceTeam.Gradience.svg" >
2022-07-18 14:11:46 +00:00
2022-08-12 21:24:10 +00:00
# Gradience
2022-08-20 22:10:46 +00:00
2022-07-20 12:18:05 +00:00
Change the look of Adwaita, with ease
2022-08-18 16:52:25 +00:00
![Screenshot of interface with Adwaita light theme ](https://github.com/GradienceTeam/Design/blob/main/Screenshots/main_screenshot.png )
2022-07-20 12:18:05 +00:00
2022-08-16 21:06:18 +00:00
Gradience is a tool for customizing Libadwaita applications and the adw-gtk3 theme.
2022-07-18 14:11:46 +00:00
2022-07-18 14:49:17 +00:00
< details >
2022-07-18 14:51:16 +00:00
< summary > More screenshots< / summary >
2022-08-19 23:17:06 +00:00
![Screenshot of interface of Monet Tab ](https://github.com/GradienceTeam/Design/blob/main/Screenshots/monet_purple.png )
2022-07-18 14:51:16 +00:00
2022-08-18 16:52:25 +00:00
![Screenshot of proof that this actually works ](https://github.com/GradienceTeam/Design/blob/main/Screenshots/proof_of_work_screenshot.png )
2022-07-18 14:49:17 +00:00
< / details >
2022-08-18 16:52:25 +00:00
[![Build flatpak ](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak.yml/badge.svg )](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak.yml)
[![Build flatpak nightly ](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak-nightly.yml/badge.svg )](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak-nightly.yml)
2022-08-22 03:16:23 +00:00
[![Copr build status ](https://img.shields.io/badge/dynamic/json?color=blue&label=copr&query=builds.latest.state&url=https%3A%2F%2Fcopr.fedorainfracloud.org%2Fapi_3%2Fpackage%3Fownername%3Dlyessaadi%26projectname%3Dgradience%26packagename%3Dgradience%26with_latest_build%3DTrue )](https://copr.fedorainfracloud.org/coprs/lyessaadi/gradience/package/gradience/)
2022-09-02 19:06:19 +00:00
[![Flathub ](https://img.shields.io/badge/dynamic/json?color=informational&label=downloads&logo=flathub&logoColor=white&query=%24.installs_total&url=https%3A%2F%2Fflathub.org%2Fapi%2Fv2%2Fstats%2Fcom.github.GradienceTeam.Gradience )](https://flathub.org/apps/details/com.github.GradienceTeam.Gradience)
2022-08-16 21:45:51 +00:00
[![Translate on Weblate ](https://hosted.weblate.org/widgets/GradienceTeam/-/svg-badge.svg )](https://hosted.weblate.org/engage/GradienceTeam)
2022-08-18 04:35:00 +00:00
[![Chat on Matrix ](https://matrix.to/img/matrix-badge.svg )](https://matrix.to/#/#Gradience:matrix.org)
2022-08-31 15:11:13 +00:00
[![Chat on Discord ](https://img.shields.io/discord/1013779899821064202 )](https://discord.com/invite/rwNDGPJf)
2022-09-02 17:11:21 +00:00
2022-08-30 00:54:44 +00:00
## Download
2022-08-30 22:07:55 +00:00
Gradience is available on Flathub.
2022-08-30 00:54:44 +00:00
< a href = "https://flathub.org/apps/details/com.github.GradienceTeam.Gradience" >
< img width = "200" alt = "Download on Flathub" src = "https://flathub.org/assets/badges/flathub-badge-i-en.svg" / >
2022-08-30 14:03:29 +00:00
< / a >
2022-08-30 16:10:38 +00:00
2022-08-22 03:38:43 +00:00
## Building and Installing
2022-08-10 18:30:32 +00:00
2022-09-04 15:20:37 +00:00
Gradience can be installed using multiple methods.
2022-09-06 09:15:40 +00:00
- Flathub (Recommended)
- As RPM package
- As DEB package (not available yet)
- From AUR
2022-09-04 15:20:37 +00:00
### Flatpak
Gradience is available on Flathub. You can install it using the following command:
```bash
flatpak install flathub com.github.GradienceTeam.Gradience
```
### COPR
Gradience is available on COPR. You can install it using the following command:
```bash
dnf copr enable lyessaadi/gradience
dnf install gradience
```
2022-09-06 09:15:40 +00:00
### Debian (And derivates)
Not available yet
2022-09-04 15:20:37 +00:00
### AUR
Gradience is available on AUR. You can install it using the following command:
```bash
yay -S gradience # or gradience-git
```
### Building from source
#### Requirements
2022-08-20 22:10:46 +00:00
2022-08-12 21:18:24 +00:00
- Python 3 `python`
- PyGObject `python-gobject`
2022-08-20 22:10:46 +00:00
- Blueprint [`blueprint-compiler` ](https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/setup.html )
2022-08-12 21:18:24 +00:00
- GTK4 `gtk4`
- libadwaita (>= 1.2.alpha) `libadwaita`
- Meson `meson`
- Ninja `ninja`
Install required Python libraries:
2022-08-20 22:10:46 +00:00
2022-08-12 21:18:24 +00:00
```sh
pip install -r requirements.txt
```
2022-08-22 03:38:43 +00:00
### Global installation
2022-08-20 22:10:46 +00:00
2022-08-12 21:18:24 +00:00
```sh
2022-08-18 16:52:25 +00:00
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
2022-08-12 21:18:24 +00:00
meson builddir --prefix=/usr/local
sudo ninja -C builddir install
```
2022-08-22 03:38:43 +00:00
### Local build (for testing and development purposes)
2022-08-20 22:10:46 +00:00
2022-08-12 21:18:24 +00:00
```sh
2022-08-18 16:52:25 +00:00
git clone https://github.com/GradienceTeam/Gradience.git
cd Gradience
2022-08-12 21:18:24 +00:00
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.
2022-08-22 03:38:43 +00:00
### Building using flatpak-builder
2022-08-10 18:30:32 +00:00
2022-07-26 13:31:16 +00:00
1. Open Terminal
2022-08-16 21:06:18 +00:00
2. Run `git clone https://github.com/GradienceTeam/Gradience.git && cd Gradience`
2022-08-28 01:32:15 +00:00
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`
2022-07-18 14:11:46 +00:00
2022-07-26 13:31:16 +00:00
Alternatively, open the project with GNOME Builder, then build and run it.
2022-07-18 14:11:46 +00:00
2022-08-22 03:38:43 +00:00
## Setup Tutorial
2022-07-18 14:11:46 +00:00
2022-09-02 17:21:27 +00:00
You can also go in `Preferences` and apply overwrite for Flatpak
2022-08-22 03:38:43 +00:00
### Libadwaita applications
2022-08-20 22:10:46 +00:00
2022-07-18 14:11:46 +00:00
No additional setup is required for native Libadwaita applications.
2022-07-20 12:18:05 +00:00
For Flatpak Libadwaita applications, you need to override their permissions:
2022-08-20 22:10:46 +00:00
2022-07-20 12:41:03 +00:00
- Run `sudo flatpak override --filesystem=xdg-config/gtk-4.0` or
- Use [Flatseal ](https://github.com/tchx84/Flatseal ) and adding `xdg-config/gtk-4.0` to **Other files** in the **Filesystem** section of **All Applications**
2022-07-18 14:11:46 +00:00
2022-08-22 03:38:43 +00:00
### Vanilla GTK 4 applications
2022-08-20 22:10:46 +00:00
2022-07-18 14:11:46 +00:00
Use [this guide ](https://github.com/lassekongo83/adw-gtk3/blob/main/gtk4.md ) to theme vanilla GTK 4 applications.
2022-08-22 03:38:43 +00:00
### GTK 3 applications
2022-08-20 22:10:46 +00:00
2022-07-18 14:11:46 +00:00
- Install and apply the [adw-gtk3 ](https://github.com/lassekongo83/adw-gtk3#readme ) theme (don't forget to install the Flatpak package!)
2022-07-20 12:21:15 +00:00
- For Flatpak applications, you need to override their permissions:
2022-07-20 12:41:03 +00:00
- Run `sudo flatpak override --filesystem=xdg-config/gtk-3.0` or
- Use [Flatseal ](https://github.com/tchx84/Flatseal ) and adding `xdg-config/gtk-3.0` to **Other files** in the **Filesystem** section of **All Applications**
2022-07-18 14:11:46 +00:00
2022-08-22 03:38:43 +00:00
## Roadmap
2022-08-22 03:36:19 +00:00
2022-08-22 03:37:15 +00:00
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:
2022-08-22 03:36:19 +00:00
< details > < summary > Show roadmap< / summary >
### <!-- GapTool Turbo 3000 -->
2022-08-20 22:10:46 +00:00
2022-07-18 19:20:02 +00:00
- [x] Customize named colors, either with a color picker or with text
2022-07-18 14:11:46 +00:00
- [x] Explanations for some named colors
2022-07-18 19:20:02 +00:00
- [x] Partial theme preview
2022-07-18 14:23:01 +00:00
- [x] Built-in presets for Adwaita and Adwaita Dark (based on default libadwaita colors)
2022-07-18 19:20:02 +00:00
- [x] Apply changes to libadwaita, GTK4 (with extracted libadwaita theme) and GTK3 (with the adw-gtk3 theme) applications
- [x] Load and create custom presets
- [x] View adw-gtk3's support of variables
- [x] View parsing errors
2022-07-21 19:03:18 +00:00
- [x] Customize palette colors
2022-07-24 17:46:37 +00:00
- [x] Add custom CSS code
2022-07-26 13:31:16 +00:00
- [x] Localization support
2022-07-30 05:10:31 +00:00
- [x] Normalize color variables
2022-08-10 18:30:32 +00:00
- [x] Make the code more secure
2022-08-26 17:58:17 +00:00
- [x] Add preset manager with option to download other users presets
2022-08-30 00:55:45 +00:00
- [x] Release on Flathub
2022-08-26 17:58:17 +00:00
- [ ] Add plugin support. Will help integration with others tools. (WIP)
2022-07-18 14:11:46 +00:00
- [ ] Full theme preview
2022-07-21 19:03:18 +00:00
- [ ] Customize GNOME Shell
- [ ] Customize GDM
2022-07-24 13:32:12 +00:00
- [ ] Customize KvLibadwaita
2022-07-21 19:03:18 +00:00
- [ ] Customize Firefox GNOME theme
2022-07-18 16:15:03 +00:00
2022-08-22 03:36:19 +00:00
< / details >
2022-08-22 03:38:43 +00:00
## Contribute
2022-08-16 21:45:51 +00:00
2022-08-20 17:23:17 +00:00
See [`CONTRIBUTING.md` ](CONTRIBUTING.md ) for more informations and a list of contributors
2022-08-20 23:01:35 +00:00
2022-08-22 03:38:43 +00:00
## About Name
2022-08-14 13:15:59 +00:00
2022-08-28 03:11:01 +00:00
Gradience was originally named Adwaita Manager.
2022-08-14 13:15:59 +00:00
2022-08-28 03:11:01 +00:00
You can see the meaning of Gradience on [Wiktionary ](https://en.wiktionary.org/wiki/gradience ).
2022-08-14 13:15:59 +00:00
2022-08-28 03:11:01 +00:00
The icon represents: _A Paint Roller repainting an Adwaita window, keeping it's functionality and improving it's looks_