feat: add wlsunset nightlight toggle with Waybar module
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 3s
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 3s
Add blue light filter support via wlsunset, toggleable through a Waybar module in the brightness group. Nightlight icon is the primary element, backlight slider expands on click. - Add wlsunset package to official.txt - Add moonarch-nightlight toggle script (kill/restart wlsunset) - Add moonarch-waybar-nightlight status script (JSON output) - Add custom/nightlight module to group/brightness in Waybar config - Add Catppuccin Yellow highlight for active nightlight state - Add wlsunset autostart in Niri config (5000K night temperature)
This commit is contained in:
parent
f6869c9cea
commit
4c609135e9
@ -18,6 +18,15 @@ Laptops mit `charge_control_end_threshold`-Support (ThinkPad, Framework, etc.) e
|
|||||||
- udev-Regel gibt Gruppe `wheel` Schreibzugriff auf den Threshold (kein sudo nötig)
|
- udev-Regel gibt Gruppe `wheel` Schreibzugriff auf den Threshold (kein sudo nötig)
|
||||||
- Auf Desktops ohne Battery-Support versteckt sich das Feature komplett
|
- Auf Desktops ohne Battery-Support versteckt sich das Feature komplett
|
||||||
|
|
||||||
|
## Nightlight (Blaufilter)
|
||||||
|
|
||||||
|
Waybar-Toggle für wlsunset (Wayland-nativer Blaufilter):
|
||||||
|
- `wlsunset` startet per Niri-Autostart mit fester Nacht-Temperatur (5000K)
|
||||||
|
- Klick auf das Nightlight-Modul in `group/brightness` toggled wlsunset an/aus (kill/restart)
|
||||||
|
- Aktiver Zustand zeigt in Catppuccin Yellow, inaktiv in Standard-Textfarbe
|
||||||
|
- Signal SIGRTMIN+11 für sofortiges Waybar-Refresh
|
||||||
|
- Scripts: `moonarch-nightlight` (Toggle), `moonarch-waybar-nightlight` (Status-JSON)
|
||||||
|
|
||||||
## Konventionen
|
## Konventionen
|
||||||
|
|
||||||
- Paketlisten sind einfache Textdateien, ein Paket pro Zeile, Kommentare mit `#`
|
- Paketlisten sind einfache Textdateien, ein Paket pro Zeile, Kommentare mit `#`
|
||||||
|
|||||||
12
defaults/bin/moonarch-nightlight
Executable file
12
defaults/bin/moonarch-nightlight
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# ABOUTME: Toggles wlsunset night light on/off.
|
||||||
|
# ABOUTME: Kills or restarts wlsunset process, signals waybar for refresh.
|
||||||
|
|
||||||
|
if pgrep -x wlsunset > /dev/null; then
|
||||||
|
pkill -x wlsunset
|
||||||
|
else
|
||||||
|
wlsunset -T 6500 -t 5000 -S 00:00 -s 00:01 &
|
||||||
|
disown
|
||||||
|
fi
|
||||||
|
|
||||||
|
pkill -RTMIN+11 waybar
|
||||||
9
defaults/bin/moonarch-waybar-nightlight
Executable file
9
defaults/bin/moonarch-waybar-nightlight
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# ABOUTME: Outputs JSON status for waybar nightlight module.
|
||||||
|
# ABOUTME: Shows warm icon when wlsunset is active, cool icon when off.
|
||||||
|
|
||||||
|
if pgrep -x wlsunset > /dev/null; then
|
||||||
|
jq -nc '{text: "", alt: "on", tooltip: "Nightlight: An (5000K)", class: "on"}'
|
||||||
|
else
|
||||||
|
jq -nc '{text: "", alt: "off", tooltip: "Nightlight: Aus", class: "off"}'
|
||||||
|
fi
|
||||||
@ -86,6 +86,7 @@ spawn-at-startup "nm-applet" "--indicator"
|
|||||||
spawn-sh-at-startup "waypaper --restore"
|
spawn-sh-at-startup "waypaper --restore"
|
||||||
// spawn-sh-at-startup "nemo . &> /dev/null &"
|
// spawn-sh-at-startup "nemo . &> /dev/null &"
|
||||||
spawn-sh-at-startup "foot --server"
|
spawn-sh-at-startup "foot --server"
|
||||||
|
spawn-at-startup "wlsunset" "-T" "6500" "-t" "5000" "-S" "00:00" "-s" "00:01"
|
||||||
// Clipboard history managed by cliphist.service (systemd user service)
|
// Clipboard history managed by cliphist.service (systemd user service)
|
||||||
|
|
||||||
hotkey-overlay {
|
hotkey-overlay {
|
||||||
|
|||||||
@ -61,6 +61,7 @@
|
|||||||
"group/brightness": {
|
"group/brightness": {
|
||||||
"orientation": "inherit",
|
"orientation": "inherit",
|
||||||
"modules": [
|
"modules": [
|
||||||
|
"custom/nightlight",
|
||||||
"backlight",
|
"backlight",
|
||||||
"backlight/slider"
|
"backlight/slider"
|
||||||
],
|
],
|
||||||
@ -304,6 +305,14 @@
|
|||||||
"<span color='#dd532e' size='8pt' rise='1.5pt'>█</span>"
|
"<span color='#dd532e' size='8pt' rise='1.5pt'>█</span>"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"custom/nightlight": {
|
||||||
|
"exec": "moonarch-waybar-nightlight",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": "once",
|
||||||
|
"signal": 11,
|
||||||
|
"on-click": "moonarch-nightlight",
|
||||||
|
"format": "{}"
|
||||||
|
},
|
||||||
"custom/cpugov": {
|
"custom/cpugov": {
|
||||||
"exec": "moonarch-waybar-cpugov",
|
"exec": "moonarch-waybar-cpugov",
|
||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
|
|||||||
@ -257,6 +257,10 @@ widget widget>* {
|
|||||||
color: alpha(@theme_selected_bg_color, 0.9);
|
color: alpha(@theme_selected_bg_color, 0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#custom-nightlight.on {
|
||||||
|
color: #f9e2af;
|
||||||
|
}
|
||||||
|
|
||||||
menu {
|
menu {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,6 +63,7 @@ waybar
|
|||||||
swaync
|
swaync
|
||||||
cliphist
|
cliphist
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
wlsunset
|
||||||
libnotify
|
libnotify
|
||||||
upower
|
upower
|
||||||
awww
|
awww
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user