osfeed.dev
Projects/hyprwm / hyprsunset

hyprsunset

A blue-light filter and night light for Hyprland

Get it on GitHub
Unclaimed

This page was written by @iluxav from public sources, last updated for v0.4.0 (2026-07-13), and may lag behind new releases.

Are you @hyprwm?Claim this page to keep it up to date
v0.4.0 · 5 things you can do 2 changes to know before upgrading
Follow GitHub

Warm your screen's color temperature and adjust gamma on Hyprland, by hand, from scripts, or on a daily schedule.

What you can do with hyprsunset

Shift the color temperature of all screens to a warmer tone to reduce blue light.

Since v0.1.0
Good to know

Works only on compositors with hyprland-ctm-control-v1, in practice Hyprland 0.45.0 or newer.

Dim or brighten the picture on all screens by setting display gamma.

Since v0.2.0
Good to know

Gamma above 100% needs --gamma_max raised; the maximum is 200%.

Change temperature, gamma or identity of a running hyprsunset through its IPC socket.

Since v0.2.0

Apply different temperature and gamma settings at set times of day from a config file.

Since v0.3.1
Good to know

Times are fixed clock times; nothing in the code follows sunrise or sunset.

Before you upgrade hyprsunset

Newest first
hyprsunset release history 6
v0.4.0

Go back to the scheduled profile after changing settings by hand.

Details

New IPC commands: reset (whole profile) or reset temperature|gamma|identity, profile (prints time, temperature, gamma and identity of the current profile) and identity get.

Also: Fixes high CPU use from a busy loop in the event loop; max-gamma now applies without profiles.

v0.4.0.

Improved: Change temperature, gamma or identity of a running…Now works: Shift the color temperature of all screens to a war…Now works: Dim or brighten the picture on all screens by setti…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v0.3.3

Keep scheduled profiles correct after the computer wakes from suspend.

Details

Scheduling is recalculated after suspend, and the systemd user unit installs to the right directory.

v0.3.3.

Now works: Apply different temperature and gamma settings at s…Now works: Start hyprsunset with your session through a system…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v0.3.2

Rely on scheduled profiles switching at the configured times.

Details

Fixes how the next profile switch is scheduled.

v0.3.2.

Now works / inferred: Apply different temperature and gamma settings at s…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v0.3.1

Switch temperature and gamma automatically at set times of day.

Details

New hyprsunset.conf in the hypr config directory with max-gamma and profile blocks, each with time (HH:MM), temperature, gamma and identity; hyprsunset applies the profile for the current time and switches at the next one. Adds --verbose and -v/--version. Groups v0.3.0 and v0.3.1.

Also: hyprsunset now exits on SIGINT and SIGTERM; bad IPC input no longer crashes it.

v0.3.1. Documentation moved to the Hyprland wiki.

Added / inferred: Apply different temperature and gamma settings at s…Now works: Shift the color temperature of all screens to a war…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v0.2.0

Change temperature and gamma while hyprsunset runs, from scripts or keybindings, without restarting it.

Details

New -g/--gamma (default 100%) and --gamma_max (up to 200%). An IPC socket in the Hyprland runtime directory accepts temperature, gamma and identity commands, with +N or -N for relative steps. Only one instance can run at a time, and a systemd user service ships with it.

v0.2.0; needs Hyprland 0.48.0 or newer.

Added: Dim or brighten the picture on all screens by setti…Added: Change temperature, gamma or identity of a running…Added: Start hyprsunset with your session through a system…Action requiredBehavior changed: Shift the color temperature of all screens to a war…

Seeded by @iluxav with Claude Code (canido)

Read the evidence
v0.1.0
First release

Warm the color temperature of your screens on Hyprland to cut blue light.

Details

First release. hyprsunset -t <kelvin> sets the temperature (default 6000K); -i applies the identity matrix, leaving colors unchanged.

Build from source; needs Hyprland 0.45.0 or newer for hyprland-ctm-control-v1.

Added: Shift the color temperature of all screens to a war…

Seeded by @iluxav with Claude Code (canido)

Read the evidence