feat: agents on the keyboard through keybars Pro #1

Merged
jwarykowski merged 2 commits from feat/agents into main 2026-10-17 12:55:11 +00:00
Owner

Phase 1 of the herdr-keybars plan: herdr-zsa-lights rebuilt on the keybars-pro command line.

  • Number key N is workspace N (as ctrl+alt+N): breathes amber while its agent is blocked, holds green when done, cleared when it works again. Moonlander and Voyager number rows by default, any positions in config.env.
  • The top-right key breathes while any agent is blocked; next-agent (kept from zsa-lights) jumps there.
  • agent.waiting / agent.done reach keybars Pro's rules with the workspace label as -repo (HERDR_KEYBARS_EVENTS=0 for lights only).
  • Only changes are sent; the watcher clears its lights when it stops or herdr goes away; it says once if keybars-pro isn't on the PATH.
  • Actions: next-agent, toggle (agent lights), keyboard (keybars Pro's On switch), party (sparkle for 4 s), restart.
  • Works on any keyboard keybars Pro drives; lights play over the music instead of blanking the board. No Keymapp or kontroll.

make check: shellcheck, and tests/watch_test.sh driving the watcher with fake herdr and keybars-pro through blocked, done, unchanged and cleared states. Not yet run inside herdr with the real app.

Phase 1 of the herdr-keybars plan: herdr-zsa-lights rebuilt on the `keybars-pro` command line. - Number key N is workspace N (as `ctrl+alt+N`): breathes amber while its agent is blocked, holds green when done, cleared when it works again. Moonlander and Voyager number rows by default, any positions in `config.env`. - The top-right key breathes while any agent is blocked; `next-agent` (kept from zsa-lights) jumps there. - `agent.waiting` / `agent.done` reach keybars Pro's rules with the workspace label as `-repo` (`HERDR_KEYBARS_EVENTS=0` for lights only). - Only changes are sent; the watcher clears its lights when it stops or herdr goes away; it says once if `keybars-pro` isn't on the PATH. - Actions: next-agent, toggle (agent lights), keyboard (keybars Pro's On switch), party (sparkle for 4 s), restart. - Works on any keyboard keybars Pro drives; lights play over the music instead of blanking the board. No Keymapp or kontroll. `make check`: shellcheck, and `tests/watch_test.sh` driving the watcher with fake `herdr` and `keybars-pro` through blocked, done, unchanged and cleared states. Not yet run inside herdr with the real app.
Number key N breathes while workspace N's agent is blocked and holds when it's done; the top-right key breathes while any is blocked, for next-agent. Lights go through keybars-pro, so any keyboard keybars Pro drives works and they play over the music; only changes are sent, and the watcher clears its lights when it stops. agent.waiting and agent.done reach keybars Pro's rules with the workspace as the repo. Actions: next-agent, toggle, keyboard, party, restart.
README.md Outdated
@ -0,0 +41,4 @@
| `jwarykowski.herdr-keybars.next-agent` | focus the next blocked agent, else the next done one; repeat to cycle |
| `jwarykowski.herdr-keybars.toggle` | agent lights off / on |
| `jwarykowski.herdr-keybars.keyboard` | keybars Pro's lights off / on (its On switch) |
| `jwarykowski.herdr-keybars.party` | sparkle over the whole board for a few seconds |
Author
Owner

perhaps remove this and all the supported effects e.g flash, ripple

perhaps remove this and all the supported effects e.g flash, ripple
The party action is gone: the blocked and done keys take any of the nine effects, listed in the README and config.env.example, and other plugins' hooks call keybars-pro light themselves with whichever they like.
Author
Owner

Done in the latest commit: the party action is gone. The blocked and done keys take any of keybars Pro's nine effects (flash, pulse, wave, fade, sparkle, ripple, hold, breathe, chase), listed in a new Effects section of the README and in config.env.example. Hooks from herdr-gh or herdr-pomodoro call keybars-pro light all purple -effect ripple (or whatever they like) directly, which covers what party did.

Done in the latest commit: the `party` action is gone. The blocked and done keys take any of keybars Pro's nine effects (flash, pulse, wave, fade, sparkle, ripple, hold, breathe, chase), listed in a new Effects section of the README and in `config.env.example`. Hooks from herdr-gh or herdr-pomodoro call `keybars-pro light all purple -effect ripple` (or whatever they like) directly, which covers what party did.
jwarykowski deleted branch feat/agents 2026-10-17 12:55:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jwarykowski/herdr-keybars!1
No description provided.