aboutsummaryrefslogtreecommitdiffstats
path: root/bin/udt-ledstrip
AgeCommit message (Collapse)AuthorFilesLines
5 daysfeat(ledstrip): breathe the accent while suspendedDanilo M.1-7/+25
`udt-ledstrip sleep` plays the accent alone as the strip's breathing scene, desaturated to 60 and at half brightness. Its DP 51 layout, mode 0x03 with flags 0, was read off the strip's status push while the Tuya app set a breathing scene; the selftest checks it against that capture. AGENTS.md also records why poweroff never reached the strip: rc.6 stops networking before it signals Hyprland, so the hyprland.shutdown handler fires with no route. The power menu now switches the strip off before loginctl instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 daysfeat(ledstrip): switch the strip on and off with the sessionDanilo M.1-8/+37
`udt-ledstrip on|off` switches the strip, replaying the gradient when it comes on; with no argument it still only replays the gradient, so a wallpaper change leaves a strip the user switched off alone. The last address is cached in ~/.cache/udt/ledstrip.json, because `off` runs as the session ends and cannot wait up to 20 s for a broadcast. From the cache a switch takes under half a second; discovery is the fallback when the cached address fails. hypr-theme calls it at login, on Hyprland's shutdown event, and around suspend from hypridle. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5 daysfeat(accent): play the border gradient on a Tuya LED stripDanilo M.1-0/+180
udt-ledstrip sends the window border's three hues to every Tuya addressable strip in the tinytuya device list as a flow scene (DP 51, dreamlight_scene_mode), so the strip moves with the wallpaper accent. Fully local: it speaks protocol 3.5 itself with cryptography, finds the strip by its UDP discovery broadcast, and reads the local key from ~/.config/udt/tuya/devices.json, written once by tinytuya's wizard. DP 51's layout is undocumented and missing from the cloud spec; it was read off the strip's status pushes while the app set scenes. Saturation is floored at full because LEDs render pastel accents as white. udt-accent starts it detached next to udt-keyboard; install.sh links it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>