Skip to main content

Hyprland shade configuration tool

Project description


Frontend to Hyprland's screen shader feature



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 replacement[^1] 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.

[^1]: Gradual color shifting currently unsupported.


Arch Linux

Use your favorite AUR helper (e.g. paru):

paru -S hyprshade

Or manually:

sudo pacman -S --needed base-devel
git clone
cd hyprshade
makepkg -si


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: hyprshade [OPTIONS] COMMAND [ARGS]...

  auto     Turn on/off screen shader based on schedule
  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.


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.

name = "vibrance"
default = true  # shader to use during times when there is no other shader scheduled

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 files and enable the timer:

hyprshade install
systemctl --user enable --now hyprshade.timer

hyprshade install must be run after updating hyprshade.toml.

By default, they are installed to ~/.config/systemd/user as user units.

You also probably want the following line in your hyprland.conf:

exec = hyprshade auto

This ensures that the correct shader is enabled when you log in.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyprshade-0.13.1.tar.gz (15.8 kB view hashes)

Uploaded source

Built Distribution

hyprshade-0.13.1-py3-none-any.whl (16.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page