The applet now keeps to the schedule by itself, so nothing has to run in the background for your screen to warm up on time.
⚠️ Changed: the "Start on login" toggle is gone. It existed only to launch the headless daemon, and with the applet doing the scheduling there was nothing left for it to add. Upgrading removes the autostart entry earlier versions wrote (including pre-renamenightshiftones). If you'd rather not keep the applet on your panel, enable the service by hand instead:systemctl --user enable --now cosmic-nightlight.service.
New
- Minute-precise schedule — From and To each pick an hour, minute, and AM/PM (or a 24-hour clock, following your COSMIC time setting) rather than whole hours, and the Schedule row summarizes the result, e.g. Warm from 9:30PM to 6:00AM. Existing whole-hour settings are read and carried over.
- Brightness slider — dims the screen while the night light is on. Floored at 50%: the dimming works by crushing the gamma ramp rather than driving the backlight, so a fully black screen would have no obvious way back.
- No background service needed — the applet re-checks the clock every 15 seconds and warms or clears the screen when a schedule boundary passes; the settings window does the same while it is open. The headless
--daemonis still shipped as an opt-in systemd user unit for anyone running without the applet.
Fixed / hardened
- A daytime schedule stays daytime — a window that ends later in the day than it starts (
9:00AM→5:00PM) was treated as wrapping past midnight and left the tint on around the clock. Only a window that ends earlier wraps now, so office-hours schedules work. - The tint comes back after suspend — a resume reprograms the CRTCs and drops the gamma ramp we wrote. That is now detected and re-applied, instead of the night light staying silently off until the next scheduled transition.
- The UI no longer freezes on a change — applies run on a background thread and coalesce, so flipping the toggle or dragging a slider can't stall the applet for the second an apply takes (
pkexec, polkit, and a VT bounce). - One flicker, not several — every process serializes applies through an advisory lock and shares a record of what is on screen, so several of them noticing the same boundary apply it once, and re-applying an unchanged tint is skipped entirely. Failed applies back off exponentially instead of retrying every tick.
- Sliders stay put — neither slider jumps out from under the pointer when another window writes a setting mid-drag.
uninstall.shclears a systemd enablement symlink that was left dangling when the unit file itself was already gone.
Other
- The settings window opens tall enough to show every section without scrolling.
- The README now explains what applies the schedule and how to run without the applet; the settings screenshots are refreshed for the new window.
Full changelog: v0.3.1...v0.4.0
Install
- Download
cosmic-nightlight_0.4.0-1_amd64.debfrom the Assets section below. - Open the downloaded file with the COSMIC Store and click Install.
(Or from a terminal:sudo apt install ./cosmic-nightlight_0.4.0-1_amd64.deb.) - Add the applet to your bar: COSMIC Settings → Desktop → Panel (or
Dock) → Configure applets → Add applet → Night Light.