Skip to content

oskarsh/Yin-Yang

Repository files navigation

Yin & Yang logo Yin-Yang

Auto Night-mode for Linux, it supports popular Desktops like KDE, GNOME, Budgie and also themes your favourite editors like VSCode or Atom.

You might also want to take a look at our discussions page, where we talk about the future of the app and other cool stuff!

Visualization App configuration

Features

  • Changes your themes at certain times or sunrise and sunset
  • Supported Desktops:
    • GNOME
    • Budgie
    • KDE Plasma
  • Supported applications:
    • VSCode, Atom, gedit
    • Firefox & Brave
    • Kvantum
    • Konsole
    • OnlyOffice
    • and more...
  • Miscellaneous:
    • Wallpaper change
    • Notifications on theme change
    • Play a sound
    • Ability to run custom scripts

To see planned features and the development status, visit the project status page.

Installation

Flatpak

# follow the development setup
poetry build
# see https://github.com/flatpak/flatpak-builder/issues/237 if you have issues with rofiles
flatpak-builder --install --user build sh.oskar.yin_yang.json --force-clean

Arch-based distributions

Yin-Yang can be downloaded from AUR as yin-yang package.

Source

Yin-Yang depends on python-systemd and pyside6 from pypi. python-systemd requires you have installed the systemd-headers from your package manager. You also need python development headers (e.g. python3-devel) and the poetry build system for python. Preferably install PySide6-Essentials and PySide6-Addons from your system package manager as well. If they are not available there, uncomment the dependencies in pyproject.toml.

For CentOS, RHEL, and Fedora:

sudo dnf install gcc systemd-devel python3-devel libnotify poetry python3-pyside6

For OpenSUSE:

sudo zypper refresh
sudo zypper install gcc systemd-devel libnotify python311-poetry python3-PySide6

For Debian, Ubuntu, etc.

sudo apt update
sudo apt install libsystemd-dev gcc pkg-config python3-dev libnotify-bin python3-poetry python3-qtpy-pyside6

Then you can install Yin-Yang in a python virtual environment:

# bash is necessary to run the source command
bash
# Clones the code to your local machine
git clone https://github.com/oskarsh/Yin-Yang.git
cd Yin-Yang
# Installs Yin-Yang
./scripts/install.sh

For development, skip the installation and instead build python using Poetry. A virtual environment will be created for you:

# Load into virtual environment
poetry env use python
# Install dependencies
poetry sync
# Load Yin-Yang
poetry run python -m yin_yang

Make sure to run flake8 on your files to avoid errors from the ci in PRs:

poetry run flake8

Uninstall

Run scripts/uninstall.sh from a terminal and fill out the password.

Documentation

Want to help out? Check out the wiki to learn how to contribute translations, plugins and more!

Generic badge

Related or similar projects

Thanks to all Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Donate