diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-18 13:45:23 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-18 13:45:23 +0200 |
| commit | 59ea46306cb11fe27e10ba827501ec21e52f7de3 (patch) | |
| tree | 64029f7ceb63ba403c0e2cc8621b2105f0345d79 /AGENTS.md | |
| parent | b859e0694e504c8756c1e051e92c3fc97eff587c (diff) | |
| download | unified-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.md | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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, |
