/qualia-gtk-theme

A Yaru and Libadwaita inspired theme for GTK desktops

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

qualia GTK theme

A Yaru and Libadwaita inspired theme designed to provide a consistent experience across GTK desktops.

Read more about the theme here.

Supports GNOME 42+, Budgie 10.6+, Cinnamon, Unity7, Xfce, and Mate.

Other Desktop Environments

Screenshot of the dark theme

Screenshot of the light theme

There is also a variant of the theme with Libadwaita style window controls. Screenshot of the symbolic window controls variant

More screenshots can be seen here.

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 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, 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 first, and if you are going to install the VS Code theme, read this 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 Accent Colors

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 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

❤️  Credits  ❤️

A huge thanks to: