AI-assisted development with Claude
A blue light filter and bedtime notification service for Wayland. Wraps wlsunset with configurable schedules and desktop notifications to help maintain healthy sleep habits.
- Blue Light Filtering - Automatic warm screen tint after sunset
- Bedtime Notifications - Reminders when it's time to sleep
- Configurable Schedule - Set your own times for blue light, bedtime, and wake
- Smooth Transitions - Optional gradual color temperature changes
- Desktop Integration - Uses standard notify-send for notifications
- Python 3.8+
- wlsunset (Wayland blue light filter)
- notify-send (usually pre-installed)
# Ubuntu/Debian
sudo apt install wlsunset libnotify-bin
# Arch Linux
sudo pacman -S wlsunset libnotify
# Fedora
sudo dnf install wlsunset libnotify- Clone the repository
- Copy example config:
cp config.toml.example config.toml - Edit
config.tomlwith your preferred schedule
Edit config.toml:
[schedule]
blue_light_start = "20:00" # When to warm the screen
bedtime = "23:00" # When to send bedtime notification
wake_time = "07:00" # When to restore normal temperature
transition_minutes = 30 # Gradual transition (0 = instant)
[temperature]
day = 6500 # Normal temperature (Kelvin)
night = 3000 # Warm temperature (lower = warmer)
[notifications]
enabled = true
blue_light_message = "Blue light filter activated"
bedtime_message = "Time for bed!"
bedtime_warning_minutes = 15 # Warning before bedtime# Run directly
python night-mode.py
# Or as a service
systemctl --user start night-mode# ~/.config/systemd/user/night-mode.service
[Unit]
Description=Night Mode Service
After=graphical-session.target
[Service]
ExecStart=/usr/bin/python3 /path/to/night-mode.py
Restart=on-failure
WorkingDirectory=/path/to/night-mode
[Install]
WantedBy=graphical-session.targetsystemctl --user enable --now night-mode- Starts
wlsunsetwith your configured schedule - Runs a notification scheduler that checks the clock
- Sends notifications at blue light time, warning time, and bedtime
- Resets tracking at midnight for the next day
- Python
- wlsunset
- notify-send
MIT License - see LICENSE for details.