aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-18 13:45:23 +0200
committerDanilo M. <danix@danix.xyz>2026-10-18 13:45:23 +0200
commit59ea46306cb11fe27e10ba827501ec21e52f7de3 (patch)
tree64029f7ceb63ba403c0e2cc8621b2105f0345d79 /AGENTS.md
parentb859e0694e504c8756c1e051e92c3fc97eff587c (diff)
downloadunified-desktop-theme-59ea46306cb11fe27e10ba827501ec21e52f7de3.tar.gz
unified-desktop-theme-59ea46306cb11fe27e10ba827501ec21e52f7de3.zip
feat(accent): play the border gradient on a Tuya LED strip
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>
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/AGENTS.md b/AGENTS.md
index a6a9f62..52c4754 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -216,6 +216,16 @@ it). The keyboard only listens over its USB cable, so `udt-keyboard --watch`,
started from hypr-theme's autostart, reapplies the accent on every plug-in. Its
firmware ignores a mode change unless the lights go off first and settle for a
few seconds, hence the off, sleep 3, mode sequence; one second was not enough.
+It also starts `udt-ledstrip`, which plays the window border's three hues as a
+moving gradient on a Tuya addressable LED strip, over the LAN only. The strip's
+local key comes from `~/.config/udt/tuya/devices.json`, written once by
+`tinytuya wizard` against a Tuya IoT cloud project; re-pairing the strip in the
+app changes the key, so the wizard has to run again. No devices file, no-op.
+The script speaks protocol 3.5 itself with `cryptography` and finds the strip
+by its UDP 6667 broadcast rather than a stored address. The effect is DP 51,
+`dreamlight_scene_mode`, whose layout Tuya does not document and the cloud spec
+omits: it was read off the strip's status pushes while the app set scenes. LEDs
+render pastel accents as white, so saturation is floored at full.
**Sublime's, GRUB's and the homepage's accents are replaced, not substituted
into a placeholder.** GRUB and the homepage are generated by udt-palette with
@@ -280,7 +290,7 @@ profile, and the new tab stays blank.
Not everything tracks the wallpaper. rofi, quickshell, Hyprland borders,
hyprlock's border (through `~/.cache/udt/hyprlock-border.conf`), Sublime's
-colour scheme, Firefox, GRUB, the homepage and the AK820 Pro keyboard do; conky, Qt, GTK, waybar, hyprlock's panel palette
+colour scheme, Firefox, GRUB, the homepage, the AK820 Pro keyboard and the LED strip do; conky, Qt, GTK, waybar, hyprlock's panel palette
(from `templates/hyprlock/hyprlock-palette.conf`) and Sublime's UI chrome sit
on the scheme's accent, lavender by default, which is also the fallback
when a wallpaper is too grey to snap. Qt and GTK apps only reread a theme on restart,