dgsasha / qualia-gtk-theme

A Yaru and Libadwaita inspired theme for GTK desktops
GNU General Public License v3.0
69 stars 3 forks source link
cinnamon-theme firefox-theme gnome gnome-shell-theme gtk3-theme gtk4-theme linux theme vscode-theme
# qualia GTK theme **A Yaru and Libadwaita inspired theme designed to provide a consistent experience across GTK desktops.** Read more about the theme [here](https://github.com/dgsasha/qualia-gtk-theme/wiki/About). **Supports GNOME 42+, Budgie 10.6+, Cinnamon, Unity7, Xfce, and Mate.** **[Other Desktop Environments](https://github.com/dgsasha/qualia-gtk-theme/wiki/Other-Desktop-Environments)** ![Screenshot of the dark theme](.github/images/dark.png) ![Screenshot of the light theme](.github/images/light.png) **There is also a variant of the theme with Libadwaita style window controls.** ![Screenshot of the symbolic window controls variant](.github/images/symbolic_window_controls.png) More screenshots can be seen [here](https://github.com/dgsasha/qualia-gtk-theme/wiki/Screenshots). **This repo contains a GTK3 theme, a configuration for Libadwaita, a Firefox theme, a VS Code theme, and themes for the desktops listed above.** **The Yaru icon, cursor, sound, and GtkSourceView themes are also included.** # How to Install ## Installing Dependencies A modern version of Python is required. Any currently supported version should work. If you are going to install the VS Code theme, you will need to install pyjson5 along with the other dependencies listed below. To install it, run this: ``` pip install json5 ```
### Arch based distros *Includes Arch, Manjaro, Garuda, EndeavourOS, etc.* ``` sudo pacman -S sassc git ninja meson rsync ``` **If you are going to install the GNOME Shell theme, also run this and then log out and log back in:** ``` sudo pacman -S gnome-shell-extensions ```
### Debian/Ubuntu based distros *Includes Debian, Ubuntu (and all Ubuntu Remixes), Pop!_OS, Zorin OS, etc.*
#### Debian base >= 'bookworm' or Ubuntu base >= 22.04 *Also includes [bullseye-backports](https://backports.debian.org/Instructions/) and Debian branches like sid/testing.* ``` sudo apt-get install sassc git ninja-build meson ``` **If you are going to install the GNOME Shell theme, also run this and then log out and log back in:** ``` sudo apt-get install gnome-shell-extensions ```
#### Debian base <= 'bullseye' or Ubuntu base <= 20.04 *Includes some Ubuntu based distros like Zorin OS.* *The GNOME Shell theme will not work on distros this old.* ``` sudo apt-get install sassc git python3-pip ``` ``` sudo pip install meson ninja ```
### Fedora based distros *Includes Fedora (and all Fedora Spins), Nobara, risiOS, etc.* ``` sudo dnf install sassc git ninja-build meson ``` **If you are going to install the GNOME Shell theme, also run this and then log out and log back in:** ``` sudo dnf install gnome-shell-extension-user-theme ```
### OpenSUSE based distros *Includes OpenSUSE Tumbleweed and GeckoLinux Rolling, openSUSE Leap probably isn't supported.* ``` sudo zypper install sassc git ninja meson ``` **If you are going to install the GNOME Shell theme, also run this and then log out and log back in:** ``` sudo zypper install gnome-shell-extension-user-theme ```
### Solus *Includes all Solus editions.* ``` sudo eopkg install sassc git ninja meson rsync gnome-shell-extensions ``` **If you are going to install the GNOME Shell theme, also run this and then log out and log back in:** ``` sudo eopkg install gnome-shell-extensions ```
## Downloading and Installing #### First, download the repository. If storage space / network usage is not a problem, run this: ``` git clone https://github.com/dgsasha/qualia-gtk-theme -b main && cd qualia-gtk-theme ``` If you want to limit the download size and don't plan on contributing, run this instead: ``` git clone --depth=1 --recurse-submodules --shallow-submodules https://github.com/dgsasha/qualia-gtk-theme -b main && cd qualia-gtk-theme ``` #### Next, run the install script to configure and install the theme. When configuring the theme you get to choose the install directory and [accent color](#available-accent-colors), choose between the light and dark theme, choose the window controls variant, and choose which themes you want to install. If you are going to install the Firefox theme, read [this](https://github.com/dgsasha/qualia-gtk-theme/wiki/Firefox-Theme) first, and if you are going to install the VS Code theme, read [this](https://github.com/dgsasha/qualia-gtk-theme/wiki/VS-Code-Theme) first. ``` ./install.py ```
usage: install.py [-h] [-c] [-r] [-d] [-t] [-w] [-s] [-F] [-a] [-f] [-n] [-v]

This script is used to install, update, and reconfigure the theme

options:
  -h, --help         show this help message and exit
  -c, --clean        clean build directories and exit
  -r, --reconfigure  reconfigure the theme
  -d, --install-dir  change install dir
  -t, --theme        change theme variant
  -w, --window       change window controls variant
  -s, --syntax       change VS Code syntax highlighting
  -F, --firefox      change Firefox settings theming
  -a, --accent       change accent color
  -f, --force        force install the theme
  -n, --no-update    don't update the submodules, useful if you made local changes
  -v, --verbose      verbose mode
#### Available Accent Colors: ![Accent Colors](.github/images/accents-dark.svg#gh-dark-mode-only) ![Accent Colors](.github/images/accents-light.svg#gh-light-mode-only) ## Updating You should try to update the theme frequently, and always make sure it is up to date before opening issues. To update, pull in changes from the git repo and run the install script again. ``` git pull ``` ``` ./install.py ``` Only the themes that have updates will be reinstalled, if you want to force reinstall everything, use the `--force` option. Your previous configuration will be used again unless you use the `--reconfigure` option. There are other options to change parts of the configuration, all of them are listed above in the [Downloading and Installing](#downloading-and-installing) section. If for some reason the update fails, try running `./install.py -c` and then run the install script again before you open an issue. This cleans the build directories, and often has to be done when there are major changes.
#### Warning about GNOME The GNOME Shell often changes a lot between major releases. For this reason you will always need to run `./install.py` after updating GNOME to make sure the latest version of the theme is installed. You should probably do this for other desktops as well, just in case there are changes. You should also probably avoid using alpha builds of GNOME because I might not have the theme updated to support them yet.
## Uninstalling Run the uninstall script followed by any number of the below themes to choose what to uninstall. Or run the uninstall script with no arguments to uninstall the entire theme. ``` ./uninstall.py ```
Usage:
    ./uninstall.py <option> <theme> ...

Themes:
    gtk3            gtk4-libadwaita  gnome-shell
    cinnamon-shell  metacity         unity
    xfwm4           firefox          icons
    cursors         sounds           gtksourceview
    snap            vscode           gtk4-config

Options:
    -v, --verbose   Verbose mode.
    -d, --dry-run   Similar to verbose mode, except nothing is actually deleted.
    -h, --help      Show this screen.
## Other things you should read ### [Snap Apps](https://github.com/dgsasha/qualia-gtk-theme/wiki/Snap-Apps)   [GDM Theme](https://github.com/dgsasha/qualia-gtk-theme/wiki/GDM-Theme)   [Copying](https://github.com/dgsasha/qualia-gtk-theme/wiki/Copying)   [Issues](https://github.com/dgsasha/qualia-gtk-theme/wiki/Issues)   [Contributing](https://github.com/dgsasha/qualia-gtk-theme/wiki/Contributing) ## :heart:  Credits  :heart: ### A huge thanks to: ### [Ubuntu](https://ubuntu.com/) for [Yaru](https://github.com/ubuntu/yaru), [vinceliuice](https://github.com/vinceliuice) for [WhiteSur-gtk-theme](https://github.com/vinceliuice/WhiteSur-gtk-theme), [rafaelmardojai](https://github.com/rafaelmardojai) for [firefox-gnome-theme](https://github.com/rafaelmardojai/firefox-gnome-theme), [piousdeer](https://github.com/piousdeer) for [vscode-adwaita](https://github.com/piousdeer/vscode-adwaita), and [lassekongo83](https://github.com/lassekongo83) for [adw-gtk3](https://github.com/lassekongo83/adw-gtk3).