Hyprshade
Front-end to Hyprland's screen shader feature
Description
Hyprshade takes full advantage of Hyprland's decoration:screen_shader feature
by automating the process of switching screen shaders, either from a user-defined
schedule or on the fly. It can be used as a replacement1 for apps that adjust
the screen's color temperature such as f.lux,
redshift, or gammastep
with blue-light-filter, which is installed by default.
Installation
Arch Linux
Use your favorite AUR helper (e.g. paru):
paru -S hyprshade
Or manually:
sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/hyprshade.git
cd hyprshade
makepkg -si
PyPI
If your distribution isn't officially supported, you can also install directly from PyPI with pip:
pip install --user hyprshade
Or with pipx:
pipx install hyprshade
Usage
Usage: hyprshade [OPTIONS] COMMAND [ARGS]...
Commands:
auto Set screen shader on schedule
current Print current screen shader
install Install systemd user units
ls List available screen shaders
off Turn off screen shader
on Turn on screen shader
toggle Toggle screen shader
Commands which take a shader name accept either the basename:
hyprshade on blue-light-filter
...or a full path name:
hyprshade on ~/.config/hypr/shaders/blue-light-filter.glsl
If you provide the basename, Hyprshade searches in ~/.config/hypr/shaders and /usr/share/hyprshade.
Scheduling
[!WARNING] For scheduling to work,
systemd --usermust have access to the environment variableHYPRLAND_INSTANCE_SIGNATURE.Add the following line to
hyprland.conf2:exec-once = dbus-update-activation-environment --systemd HYPRLAND_INSTANCE_SIGNATURE
To have specific shaders enabled during certain periods of the day, you can
create a config file in either ~/.config/hypr/hyprshade.toml or ~/.config/hyprshade/config.toml.
[[shades]]
name = "vibrance"
default = true # shader to use during times when there is no other shader scheduled
[[shades]]
name = "blue-light-filter"
start_time = 19:00:00
end_time = 06:00:00 # optional if you have more than one shade with start_time
For starters, you can copy the example config:
cp /usr/share/hyprshade/examples/config.toml ~/.config/hypr/hyprshade.toml
After writing your config, install the systemd timer/service user units and enable the timer unit:
hyprshade install
systemctl --user enable --now hyprshade.timer
[!TIP] Run
hyprshade installevery time you make changes tohyprshade.tomlto keep the user units in sync.
Tips
You probably want the following line in your hyprland.conf:
exec = hyprshade auto
This ensures that the correct shader is enabled when you log in.
-
Gradual color shifting currently unsupported. ↩
-
See also: Hyprland FAQ (cache) ↩
Metadata
Release files for hyprshade 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hyprshade-5.0.0.tar.gz | 17.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hyprshade-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.5 kB
Release files / hyprshade-5.0.0.tar.gz
| Download URL | hyprshade-5.0.0.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a102c34f1be16f34d7c6271051f298e1b8929f2e6d40e06c5d450bad7439efc
|
|
BLAKE2b-256 checksum How to use checksums |
07c64bf8a61303d5c490eb362bea648c4b5157ecdb1e5952c2195a43f533492c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
Release files / hyprshade-5.0.0-py3-none-any.whl
| Download URL | hyprshade-5.0.0-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49bdef2fad7057a63f028fb26722d488a68e297266d4585855d4deacea21b483
|
|
BLAKE2b-256 checksum How to use checksums |
37d89065b5e708578d9515923d15b125e83fcf291feb1fd4deefd96343f3c191
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|