feat: manage wlsunset via systemd user service
Update PKGBUILD version / update-pkgver (push) Successful in 4s
Update PKGBUILD version / update-pkgver (push) Successful in 4s
Move nightlight from niri spawn-at-startup to a systemd user service with After=kanshi.service to ensure all outputs are configured before wlsunset starts. Toggle now uses enable/disable --now for persistent state across reboots.
This commit is contained in:
@@ -1,12 +1,11 @@
|
||||
#!/bin/bash
|
||||
# ABOUTME: Toggles wlsunset night light on/off.
|
||||
# ABOUTME: Kills or restarts wlsunset process, signals waybar for refresh.
|
||||
# ABOUTME: Toggles wlsunset night light on/off via systemd user service.
|
||||
# ABOUTME: Persists state across reboots (enable/disable), signals waybar for refresh.
|
||||
|
||||
if pgrep -x wlsunset > /dev/null; then
|
||||
pkill -x wlsunset
|
||||
if systemctl --user is-active --quiet wlsunset; then
|
||||
systemctl --user disable --now wlsunset
|
||||
else
|
||||
wlsunset -T 6500 -t 5000 -S 00:00 -s 00:01 &
|
||||
disown
|
||||
systemctl --user enable --now wlsunset
|
||||
fi
|
||||
|
||||
pkill -RTMIN+11 waybar
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
# ABOUTME: Outputs JSON status for waybar nightlight module.
|
||||
# ABOUTME: Shows warm icon when wlsunset is active, cool icon when off.
|
||||
# ABOUTME: Checks wlsunset systemd service, shows warm icon when active.
|
||||
|
||||
if pgrep -x wlsunset > /dev/null; then
|
||||
if systemctl --user is-active --quiet wlsunset; then
|
||||
jq -nc '{text: "", alt: "on", tooltip: "Nightlight: An (5000K)", class: "on"}'
|
||||
else
|
||||
jq -nc '{text: "", alt: "off", tooltip: "Nightlight: Aus", class: "off"}'
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# ABOUTME: systemd user service for wlsunset night light (blue light filter).
|
||||
# ABOUTME: Starts after kanshi to ensure all outputs are configured.
|
||||
|
||||
[Unit]
|
||||
Description=Wlsunset night light (blue light filter)
|
||||
Documentation=man:wlsunset(1)
|
||||
PartOf=graphical-session.target
|
||||
After=graphical-session.target kanshi.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
# Give kanshi time to configure all outputs before wlsunset captures them
|
||||
ExecStartPre=/bin/sleep 2
|
||||
ExecStart=/usr/bin/wlsunset -T 6500 -t 5000 -S 00:00 -s 00:01
|
||||
Restart=on-failure
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
@@ -86,7 +86,7 @@ spawn-at-startup "nm-applet" "--indicator"
|
||||
spawn-sh-at-startup "waypaper --restore"
|
||||
// spawn-sh-at-startup "nemo . &> /dev/null &"
|
||||
spawn-sh-at-startup "foot --server"
|
||||
spawn-at-startup "wlsunset" "-T" "6500" "-t" "5000" "-S" "00:00" "-s" "00:01"
|
||||
// wlsunset is managed via systemd user service (wlsunset.service)
|
||||
// Clipboard history managed by cliphist.service (systemd user service)
|
||||
|
||||
hotkey-overlay {
|
||||
|
||||
Reference in New Issue
Block a user