Gradience/README.md

130 lines
5.5 KiB
Markdown
Raw Normal View History

2022-08-10 08:23:06 +00:00
<img align="left" alt="Project logo" src="https://github.com/AdwCustomizerTeam/AdwCustomizer/blob/main/data/icons/hicolor/scalable/apps/com.github.AdwCustomizerTeam.AdwCustomizer.svg" />
# Gradience
2022-07-20 12:18:05 +00:00
Change the look of Adwaita, with ease
2022-08-10 08:23:06 +00:00
![Screenshot of interface with Adwaita light theme](https://github.com/AdwCustomizerTeam/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:49:17 +00:00
<details>
2022-07-18 14:51:16 +00:00
<summary>More screenshots</summary>
2022-08-10 08:23:06 +00:00
![Screenshot of interface with a customized theme](https://github.com/AdwCustomizerTeam/Design/blob/main/Screenshots/customized_screenshot.png)
2022-07-18 14:51:16 +00:00
2022-08-10 08:23:06 +00:00
![Screenshot of proof that this actually works](https://github.com/AdwCustomizerTeam/Design/blob/main/Screenshots/proof_of_work_screenshot.png)
2022-07-18 14:49:17 +00:00
</details>
[![Build flatpak](https://github.com/AdwCustomizerTeam/AdwCustomizer/actions/workflows/flatpak.yml/badge.svg)](https://github.com/AdwCustomizerTeam/AdwCustomizer/actions/workflows/flatpak.yml)
[![Build flatpak nightly](https://github.com/AdwCustomizerTeam/AdwCustomizer/actions/workflows/flatpak-nightly.yml/badge.svg)](https://github.com/AdwCustomizerTeam/AdwCustomizer/actions/workflows/flatpak-nightly.yml)
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)
[![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/#Gradience:matrix.org)
2022-08-10 08:23:06 +00:00
## Building and Installing
2022-08-16 23:37:04 +00:00
**[NOTE]** See `next` branch for latest commits.
## Requirements:
- Python 3 `python`
- PyGObject `python-gobject`
- Blueprint <code>[blueprint-compiler](https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/setup.html)</code>
- GTK4 `gtk4`
- libadwaita (>= 1.2.alpha) `libadwaita`
- Meson `meson`
- Ninja `ninja`
## Building from source:
Install required Python libraries:
```sh
pip install -r requirements.txt
```
### Global installation:
```sh
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):
```sh
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
2022-08-16 21:06:18 +00:00
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`
2022-07-26 13:34:48 +00:00
4. Install the `master` version of GNOME SDK: `flatpak install org.gnome.Sdk/x86_64/master org.gnome.Platform/x86_64/master`
2022-08-16 21:06:18 +00:00
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.
2022-07-20 12:18:05 +00:00
For Flatpak Libadwaita applications, you need to override their permissions:
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**
### Vanilla GTK 4 applications
Use [this guide](https://github.com/lassekongo83/adw-gtk3/blob/main/gtk4.md) to theme vanilla GTK 4 applications.
### GTK 3 applications
- 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**
## Roadmap
2022-07-20 12:18:05 +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-07-18 19:20:02 +00:00
- [x] Customize named colors, either with a color picker or with text
- [x] Explanations for some named colors
2022-07-18 19:20:02 +00:00
- [x] Partial theme preview
- [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
- [x] Customize palette colors
2022-07-24 17:46:37 +00:00
- [x] Add custom CSS code
- [x] Localization support
2022-07-30 05:10:31 +00:00
- [x] Normalize color variables
- [x] 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
2022-07-24 13:32:12 +00:00
- [ ] Customize KvLibadwaita
- [ ] Customize Firefox GNOME theme
2022-07-18 16:15:03 +00:00
## Contribute
### Code
Fork this repository, then create a push request when you're done adding features or fixing bugs.
2022-08-16 21:53:10 +00:00
### Localisation
2022-08-16 21:45:51 +00:00
[![Translations](https://hosted.weblate.org/widgets/GradienceTeam/-/multi-auto.svg)](https://hosted.weblate.org/engage/GradienceTeam)
## 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"