Gradience/README.md

331 lines
10 KiB
Markdown
Raw Normal View History

> [!IMPORTANT]\
> This software is currently in a **beta** state. It can break things, and it doesn't yet have a polished, _foolproof_ UX.
>
> Contributions are welcome!
>
> Please, if you got into some trouble with it, just create a [new issue](https://github.com/GradienceTeam/Gradience/issues/new?assignees=&labels=type%2Fbug&template=bug_report.yml&title=bug%3A+), or contact us on [Matrix](https://matrix.to/#/#Gradience:matrix.org) and [Discord](https://discord.com/invite/4njFDtfGEZ).
2022-10-08 14:10:41 +00:00
<h1 align="center">
2022-10-10 10:33:55 +00:00
<img src="data/icons/hicolor/scalable/apps/com.github.GradienceTeam.Gradience.svg" alt="Gradience" width="192" height="192"/>
2022-10-08 14:10:41 +00:00
<br>
Gradience
</h1>
<p align="center">
<strong>Change the look of Adwaita, with ease</strong>
</p>
<p align="center">
<a href="https://flathub.org/apps/details/com.github.GradienceTeam.Gradience">
<img width="200" alt="Download on Flathub" src="https://dl.flathub.org/assets/badges/flathub-badge-i-en.svg"/>
2022-10-08 14:10:41 +00:00
</a>
<br>
</p>
<br>
<p align="center">
<a href="https://hosted.weblate.org/engage/GradienceTeam">
<img alt="Translation status" src="https://hosted.weblate.org/widgets/GradienceTeam/-/svg-badge.svg"/>
</a>
<a href="https://github.com/GradienceTeam/Gradience/actions/workflows/build.yml">
<img alt="Build status" src="https://github.com/GradienceTeam/Gradience/actions/workflows/build.yml/badge.svg"/>
2022-10-08 14:10:41 +00:00
</a>
<a href="https://flathub.org/apps/details/com.github.GradienceTeam.Gradience">
<img alt="Flathub downloads" src="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"/>
</a>
<a href="https://repology.org/project/gradience/versions">
2022-10-08 14:10:41 +00:00
<img alt="Packaging status" src="https://repology.org/badge/tiny-repos/gradience.svg">
</a>
</p>
2022-10-13 19:44:14 +00:00
<p align="center">
<a href="https://matrix.to/#/#Gradience:matrix.org">
<img alt="Chat on Matrix" src="https://img.shields.io/matrix/Gradience:matrix.org?color=%230dbd8b&label=Gradience&logo=matrix&logoColor=white"/>
2022-10-13 19:44:14 +00:00
</a>
<a href="https://discord.com/invite/4njFDtfGEZ">
<img alt="Chat on Discord" src="https://dcbadge.vercel.app/api/server/4njFDtfGEZ?style=flat&theme=default-inverted"/>
2022-10-13 19:44:14 +00:00
</a>
</p>
<p align="center">
<a href="https://stopthemingmy.app">
<img alt="Please do not theme this app" src="https://stopthemingmy.app/badge.svg"/>
</a>
</p>
2022-10-08 14:10:41 +00:00
<p align="center">
2022-10-10 10:33:55 +00:00
<img src="https://github.com/GradienceTeam/Design/raw/main/Covers/preview.png" alt="Preview"/>
2022-10-08 14:10:41 +00:00
</p>
2022-07-20 12:18:05 +00:00
Gradience is a tool for customizing Libadwaita applications and the adw-gtk3 theme.
> [!IMPORTANT] [Gradience, stopthemingmy.app and Adwaita Developers](#%EF%B8%8F-gradience-stopthemingmyapp-and-adwaita-developers)
2022-10-08 14:10:41 +00:00
The main features of Gradience include the following:
2022-10-13 20:53:49 +00:00
- 🎨️ Changing any color of Adwaita theme
- 🖼️ Applying Material 3 color scheme from wallpaper
- 🎁️ Usage of other users presets
- ⚙️ Changing advanced options with CSS
- 🧩️ Extending functionality using plugins
2022-10-08 14:10:41 +00:00
2022-07-18 14:49:17 +00:00
<details>
2022-10-08 14:10:41 +00:00
<summary>📷️ More screenshots</summary>
2023-01-04 17:51:14 +00:00
![Monet Tab](https://github.com/GradienceTeam/Design/raw/main/Screenshots/monet_purple.png)
2023-01-04 17:51:14 +00:00
2022-10-08 14:10:41 +00:00
![Proof of Work](https://github.com/GradienceTeam/Design/raw/main/Screenshots/proof_purple.png)
2022-07-18 14:49:17 +00:00
</details>
> **Note**
> You can download [latest nightly build](https://nightly.link/GradienceTeam/Gradience/workflows/build/main) from GitHub actions
2022-10-13 21:07:08 +00:00
## 🎨️ Theming setup
2023-01-04 17:51:14 +00:00
> **Note**
2022-10-13 21:07:08 +00:00
> You can go to `Preferences` and apply overrides for Flatpak
<details>
2022-10-13 21:07:08 +00:00
<summary>🪛️ Manual setup</summary>
### 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](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!)
- For Flatpak applications, you need to override their permissions:
- 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**
</details>
2023-01-04 17:51:14 +00:00
2022-10-13 21:07:08 +00:00
## 🔄 Revert Theming
1. Open Preferences window
2022-10-13 21:07:08 +00:00
![Main Gradience Menu](https://i.imgur.com/bJMNX6d.png)
2. Go to Theming tab
3. In _Reset & Restore Presets_ group, click Reset button for either GTK 3 or Libadwaita applications
![Reset & Restore Presets Group](https://i.imgur.com/SynxTJT.png)
2022-10-13 21:07:08 +00:00
<details>
<summary>🪛️ Manual revert</summary>
### Remove GTK 3 and GTK 4 configs
- Run `rm -rf .config/gtk-4.0 .config/gtk-3.0`
### Remove adw-gtk3 theme
- 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
- Run `sudo flatpak override --reset`
> [!WARNING]\
2022-10-13 21:07:08 +00:00
> This will reset all Flatpak overrides, such as Firefox Wayland override
</details>
2022-10-13 20:53:49 +00:00
## 📦️ Alternative installation methods
> [!IMPORTANT]\
2022-10-13 20:53:49 +00:00
> The main installation method is Flatpak from Flathub
> **Note**
> There are number of Gradience packages that are not tested by Gradience Team and not listed here, available at [Repology](https://repology.org/project/gradience/versions)
2023-01-04 17:51:14 +00:00
### Fedora (COPR)
2022-10-13 20:53:49 +00:00
2023-01-04 17:51:14 +00:00
Gradience is available for Fedora via COPR:
2022-10-13 20:53:49 +00:00
```shell
dnf copr enable lyessaadi/gradience
dnf install gradience
```
2023-02-03 23:23:23 +00:00
### Debian (And derivatives)
2022-10-13 20:53:49 +00:00
> [!WARNING]\
2022-10-13 20:53:49 +00:00
> Not available yet.
2023-01-04 17:51:14 +00:00
### Arch Linux (AUR)
2022-10-13 20:53:49 +00:00
2023-01-04 17:51:14 +00:00
Gradience is available for Arch Linux via AUR:
2022-10-13 20:53:49 +00:00
2022-10-13 21:04:35 +00:00
Using [Paru](https://github.com/morganamilo/paru):
2023-01-04 17:51:14 +00:00
2022-10-13 20:53:49 +00:00
```shell
2022-10-13 21:04:35 +00:00
paru -S gradience
2022-10-13 20:53:49 +00:00
```
For latest changes:
```shell
2022-10-13 21:04:35 +00:00
paru -S gradience-git
2022-10-13 20:53:49 +00:00
```
2022-10-13 21:04:35 +00:00
<details>
<summary>🪛️ Without AUR helpers</summary>
2022-10-13 20:53:49 +00:00
```shell
2022-10-13 21:04:35 +00:00
git clone https://aur.archlinux.org/gradience.git
cd gradience
makepkg -sic
2022-10-13 20:53:49 +00:00
```
For latest changes:
```shell
2022-10-13 21:04:35 +00:00
git clone https://aur.archlinux.org/gradience-git.git
cd gradience-git
makepkg -sic
2022-10-13 20:53:49 +00:00
```
2022-10-13 21:04:35 +00:00
</details>
### NixOS
Gradience is available for NixOS 23.05 (Stoat) and later:
To run in a temporary shell:
```shell
nix-shell -p gradience
```
To install:
```shell
nix-env -iA nixos.gradience
```
2022-10-13 20:53:49 +00:00
2023-07-13 00:33:49 +00:00
## 🏗️ Building from source
2023-07-13 00:33:49 +00:00
### Nightly Remote
First of all, you need to have [GNOME Nightly](https://wiki.gnome.org/Apps/Nightly) Flatpak remote added if it's not already:
2023-07-13 00:33:49 +00:00
```shell
flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
```
Then, add the Gradience Flatpak remote:
```shell
flatpak remote-add --if-not-exists gradience-nightly https://gradienceteam.github.io/Gradience/index.flatpakrepo
2023-07-13 00:33:49 +00:00
```
Finally, install Gradience by running:
```shell
flatpak install gradience-nightly com.github.GradienceTeam.Gradience.Devel
2023-07-13 00:33:49 +00:00
```
2022-10-08 14:10:41 +00:00
### GNOME Builder
2022-10-08 14:10:41 +00:00
GNOME Builder is the environment used for developing this application.
It can use Flatpak manifests to create a consistent building and running
environment cross-distro. Thus, it is highly recommended you use it.
2022-10-08 14:10:41 +00:00
1. Download [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder).
2. In Builder, click the "Clone Repository" button at the bottom, using `https://github.com/GradienceTeam/Gradience.git` as the URL.
3. Click the build button at the top once the project is loaded.
2022-12-24 21:39:37 +00:00
For more building and installation methods, see [HACKING.md](HACKING.md)
## 🎛️ Miscellaneous
### Show welcome window again
The following command will make Gradience show welcome screen on next launch, like you just installed it
#### Flatpak
```shell
flatpak run --command=gsettings com.github.GradienceTeam.Gradience reset com.github.GradienceTeam.Gradience first-run
```
2022-11-28 12:23:39 +00:00
#### Alternative installation methods
```shell
gsettings reset com.github.GradienceTeam.Gradience first-run
```
2022-12-24 21:45:18 +00:00
## FAQ
### How can I launch a CLI?
Refer to [temporary CLI documentation](https://github.com/GradienceTeam/Gradience/wiki/Using-CLI) in repo's wiki for instructions on how to launch a CLI.
2022-12-24 21:45:18 +00:00
2023-01-04 17:51:14 +00:00
## 🙌 Contribute to Gradience
2022-10-08 22:03:18 +00:00
2022-12-24 21:39:37 +00:00
See [HACKING.md](HACKING.md)
2022-08-20 22:10:46 +00:00
2022-10-08 22:03:18 +00:00
## ✨️ Contributors
[![Contributors](https://contrib.rocks/image?repo=GradienceTeam/Gradience)](https://github.com/GradienceTeam/Gradience/graphs/contributors)
2022-10-08 14:10:41 +00:00
## 🏷️ About the 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 its functionality._
## 🖌️ About the "Pretty Purple"
The Pretty Purple theme comes from the very beginning, directly from the original author of Gradience, [Artyom Fomin](https://github.com/ArtyIF).
It was called "Purple Guy", presumably as a reference to the FNaF, later it was renamed to Pretty Purple.
Pretty Purple preset was originally shared in the https://github.com/GradienceTeam/Gradience/discussions/23.
Pretty Purple is built-in in the Gradience and used in all Gradience artworks.
2022-10-13 19:11:49 +00:00
2022-10-08 14:10:41 +00:00
## 🌱️ Gradience, [stopthemingmy.app](https://stopthemingmy.app) and Adwaita Developers
> See [gradienceteam.github.io/hack](https://gradienceteam.github.io/hack)
Gradience Team is not against the ideas of [stopthemingmy.app](https://stopthemingmy.app) and the developers of Adwaita. Gradience is a tool for tinkerers who want to theme their desktop to their liking, and **not a tool for distributions** to ship in their releases. Gradience Team agrees with importance of unified look of Adwaita to make sure that all apps function correctly and that developers have a unified and stable tool for creating their apps.
2022-10-08 14:10:41 +00:00
2022-10-13 19:11:49 +00:00
2022-10-08 14:10:41 +00:00
## 💝 Acknowledgment
Special thanks to:
2022-10-08 14:10:41 +00:00
- Original author of Gradience, [Artyom Fomin](https://github.com/ArtyIF) for creating this project
- [Weblate](https://weblate.org) for providing translation platform
This README is based on README from [Kooha](https://github.com/SeaDve/Kooha) by [Dave Patrick Caberto](https://github.com/SeaDve)
## 🪞 Mirrors
- [GitLab](https://gitlab.com/GradienceTeam/Gradience)
- [GitHub](https://github.com/GradienceTeam/Gradience)
- [Codeberg](https://codeberg.org/GradienceTeam/Gradience)