Gradience/README.md

200 lines
7.4 KiB
Markdown
Raw Normal View History

2022-09-29 14:56:27 +00:00
<img align="left" alt="Gradience" src="https://github.com/GradienceTeam/Gradience/raw/main/data/icons/hicolor/scalable/apps/com.github.GradienceTeam.Gradience.svg">
# 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-09-29 14:56:27 +00:00
![Screenshot of interface with Adwaita Light theme](https://github.com/GradienceTeam/Design/raw/main/Screenshots/main_screenshot.png)
2022-07-20 12:18:05 +00:00
Gradience is a tool for customizing Libadwaita applications and the adw-gtk3 theme.
> **Warning**
> [Gradience, stopthemingmy.app and Adwaita Developers](#gradience-stopthemingmyapp-and-adwaita-developers)
2022-07-18 14:49:17 +00:00
<details>
2022-07-18 14:51:16 +00:00
<summary>More screenshots</summary>
![Screenshot of interface of Monet Tab](https://github.com/GradienceTeam/Design/raw/main/Screenshots/monet_purple.png)
2022-07-18 14:51:16 +00:00
![Screenshot of proof that this actually works](https://github.com/GradienceTeam/Design/raw/main/Screenshots/proof_of_work_screenshot.png)
2022-07-18 14:49:17 +00:00
</details>
[![Flatpak build](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak.yml/badge.svg)](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak.yml)
[![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/)
[![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)
[![Chat on Matrix](https://img.shields.io/matrix/Gradience:matrix.org?label=matrix&logo=matrix)](https://matrix.to/#/#Gradience:matrix.org)
[![Chat on Discord](https://img.shields.io/discord/1013779899821064202?label=discord&logo=discord&logoColor=white)](https://discord.com/invite/MYa8Sr7btJ)
<!--[![Flatpak build - Nightly](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak-nightly.yml/badge.svg)](https://github.com/GradienceTeam/Gradience/actions/workflows/flatpak-nightly.yml)-->
## Download
Gradience is available on Flathub.
<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"/>
</a>
## Building and Installing
2022-09-04 15:20:37 +00:00
Gradience can be installed using multiple methods.
- 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
```
### Debian (And derivates)
> **Warning**
> Not available yet. If you want, submit a PR.
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
- 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)
- GTK4 `gtk4`
- libadwaita (>= 1.2.alpha) `libadwaita`
- Meson `meson`
- Ninja `ninja-build`
Install required Python libraries:
2022-08-20 22:10:46 +00:00
```sh
pip install -r requirements.txt
```
### Global installation
2022-08-20 22:10:46 +00:00
```sh
2022-08-18 16:52:25 +00:00
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)
2022-08-20 22:10:46 +00:00
```sh
2022-08-18 16:52:25 +00:00
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
2022-08-16 21:06:18 +00:00
2. Run `git clone https://github.com/GradienceTeam/Gradience.git && cd Gradience`
3. Install the `43` version of GNOME runtime and SDK: `flatpak install org.gnome.Sdk//43 org.gnome.Platform//43`
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.
2022-09-23 11:28:28 +00:00
## Theming Setup
> **Note**
> You can also go to `Preferences` and apply overrides for Flatpak
### Libadwaita applications
2022-08-20 22:10: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**
### Vanilla GTK 4 applications
2022-08-20 22:10:46 +00:00
Use [this guide](https://github.com/lassekongo83/adw-gtk3/blob/main/gtk4.md) to theme vanilla GTK 4 applications.
### GTK 3 applications
2022-08-20 22:10: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-09-23 11:28:28 +00:00
## Revert Theming
### Using app:
Press on the menu button in the headerbar and press `Reset Applied Color Scheme`
2022-09-23 11:28:28 +00:00
![Main Gradience menu](https://raw.githubusercontent.com/GradienceTeam/Design/main/Screenshots/hamburger_menu.png)
2022-09-23 11:32:46 +00:00
2022-09-23 11:28:28 +00:00
### Manually:
Remove GTK3 and GTK4 configs:
2022-09-23 11:28:28 +00:00
- Run `rm -rf .config/gtk-4.0 .config/gtk-3.0`
Remove adw-gtk3 theme:
2022-09-23 11:28:28 +00:00
- 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:
2022-09-23 11:28:28 +00:00
- Run `sudo flatpak override --reset`
> **Warning**
> This will reset all Flatpak overrides, such as Firefox Wayland override
2022-09-23 11:28:28 +00:00
## Roadmap
See [`ROADMAP.md`](ROADMAP.md)
## Contribute
2022-08-16 21:45:51 +00:00
See [`CONTRIBUTING.md`](CONTRIBUTING.md) for more informations and a list of contributors
2022-08-20 23:01:35 +00:00
[![Contributors](https://contrib.rocks/image?repo=GradienceTeam/Gradience)](https://github.com/GradienceTeam/Gradience/graphs/contributors)
## About Name
Gradience was originally named Adwaita Manager.
You can see the meaning of Gradience on [Wiktionary](https://en.wiktionary.org/wiki/gradience).
The icon represents: _A Paint Roller repainting an Adwaita window, keeping it's functionality._
## Gradience, [stopthemingmy.app](https://stopthemingmy.app) and Adwaita Developers
Gradience Team is not against [stopthemingmy.app](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.