aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-22 18:01:04 +0300
committerIgor Soarez <igor@soarez.org>2026-10-22 18:01:04 +0300
commitf4a7346fd32f906ccc814364462c18afb3f10616 (patch)
treec4502bc0a6725233e9ba45c5350bf7be44100f1d /README.md
parent7649396bf30a65096fc3944e1404835e661f00af (diff)
agent search: spotlight-style fuzzy finder on ctrl+opt+cmd+shift+u
a centered, non-activating key panel that lists every agent and jumps to the chosen one through the same dingger focus path as a row click. - fzf-style matching: each word must match one of name, session, window, harness, status, or directory, letters in order; the best alignment wins (word starts and consecutive runs score higher), matched title letters are highlighted. - empty query keeps the menu's order, so enter jumps to the top waiting agent. - the selection follows the agent, not the position, as states change; the list scrolls to keep it visible. - keys: arrows, ctrl+n/p, ctrl+j/k, enter, esc, ctrl+u; the shortcut again or clicking elsewhere closes it. - search_hotkey setting; an unedited config file is upgraded. menu item "Search Agents...". rows carry the pane's directory. - --print-search and --snapshot-search debug flags; the panel's background and snapshot code are shared. selftest covers matching, ranking, highlighting, and selection; e2e step 15 checks queries through the real binary (fails when search only looks at titles). e2e resolves relative binary paths, which tmux hooks need.
Diffstat (limited to 'README.md')
-rw-r--r--README.md15
1 files changed, 12 insertions, 3 deletions
diff --git a/README.md b/README.md
index 9d54428..fb843ba 100644
--- a/README.md
+++ b/README.md
@@ -49,8 +49,16 @@ than a poll is still a completion.
(with a "Show all / Show less" toggle for the full list). The panel is
always dark, in herdr's palette, so it reads the same over any desktop.
- **Jump shortcut**: **⌃⌥⌘U** jumps to the top waiting agent from anywhere,
- like clicking the tmux status line. Both shortcuts live in
- `~/.config/dingger/config.toml` (menu bar, Settings…), reloaded on save.
+ like clicking the tmux status line.
+- **Agent search**: **⌃⌥⇧⌘U** opens a Spotlight-style search over every
+ agent. Type to fuzzy-filter (each word must match, letters in order, the
+ name, session, window, harness, status, or directory); ↑↓ or ⌃N ⌃P / ⌃J ⌃K
+ select, ↩ or a click jumps, esc closes, ⌃U clears. With nothing typed,
+ agents are in the menu's order, so ↩ jumps to the top waiting agent. It
+ takes the keyboard without activating dingger, so focus returns where it
+ was.
+- All shortcuts live in `~/.config/dingger/config.toml` (menu bar,
+ Settings…), reloaded on save.
- **tmux status line** (`packaging/tmux/dingger.tmux`): the same summary after
the clock. Clicking it jumps to the top waiting agent (the menu's top row),
skipping the window you already look at.
@@ -108,7 +116,8 @@ tests/e2e.sh # end to end against an isolated tmux server
over the hook protocol, and a real tmux client whose focus it controls. It
asserts every status transition, attendance by navigation, both click paths
(including the real menu bar binary), the floating panel's visibility and
-layout rules and content (compact, full, toggle), the status-line segment, latency with a
+layout rules and content (compact, full, toggle), agent search (matching,
+ranking, selection), the status-line segment, latency with a
deliberately slow notifier, and state surviving a daemon restart. It never
touches your tmux server.