[FEATURE] Automated Day/Night Hyprsunset Scheduling via systemd user timers
Maintainer thường phản hồi trong vòng 1 ngày
@mylinuxforwork đang làm issue này rồi.
Từ ngày 8/9/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Is your feature request related to a problem? Please describe.
Currently, ML4W provides ml4w-toggle-hyprsunset to switch the blue-light filter on and off manually via keybinding (SUPER + SHIFT + H).
While this works, users have to remember to press the shortcut every single evening. If the PC is booted after 20:00 or woken up from suspend, the screen remains at full cold brightness. A modern desktop night-light should ideally be fully automated based on the time of day (like Night Light on Android, iOS, Windows, or macOS) without requiring manual intervention every evening.
Describe the solution you'd like
A native, zero-overhead day/night scheduler using systemd user timers:
- Native systemd Timers (0% CPU Overhead):
- Daily timer at 20:00 to enable the filter.
- Daily timer at 07:00 to disable the filter.
Persistent=trueensures missed triggers (e.g. while suspended or powered off) execute immediately upon resume.
- Boot / Login Session Sync:
- A lightweight init script run on Hyprland startup checks the current hour. If the PC boots at 22:00, it immediately applies the warm filter without waiting for the next timer.
- Consistent Manual Toggle:
- The manual shortcut toggles the
hyprsunset.serviceviasystemctl --user, keeping the timer states and manual overrides completely in sync.
- The manual shortcut toggles the
- Dynamic Temperature:
- Automatically reads the desired Kelvin value from
~/.config/ml4w/settings/hyprsunset-temp(default: 4500K).
- Automatically reads the desired Kelvin value from
Describe alternatives you've considered
- Background loop in Bash (
while true; sleep 60): Wastes CPU cycles, adds unnecessary background processes, and can easily desync during system suspend. - GLSL Fragment Shaders (like PR #1819): Great for grayscale or color inversion, but for blue-light filtering,
hyprsunsetwith hardware gamma LUTs is superior (keeps screenshots un-tinted, supports arbitrary Kelvin values, 0% GPU overhead). - External daemons (
wlsunset,gammastep): Unnecessary sincehyprsunsetis already the official tool and part of ML4W.
Additional context
I have already tested this entire architecture thoroughly in daily use with zero issues.
I've attached the complete, ready-to-use package (including all 5 systemd unit files, helper scripts, automated install script, and documentation) as a ZIP file so you can easily review and test it whenever you have time.
Support or Contribution
- Ngôn ngữ chính
- QML
- Star
- 5.1k
- Fork
- 386
- Merge trung bình
- 16 giờ 45 phút
- Pull request đã merge (30 ngày)
- 14
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của mylinuxforwork/dotfiles
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
mylinuxforwork/dotfiles#1904 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 82/100
mylinuxforwork/dotfiles#1829 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement solved
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
mylinuxforwork/dotfiles#1807 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
mylinuxforwork/dotfiles#1765 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[FEATURE] add keycap 1 app window over all windowsCó thể đã có người làm @mylinuxforwork đã nhận 1 ngày trước. Đang mởenhancement
mylinuxforwork/dotfiles#1902 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày