aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md20
1 files changed, 16 insertions, 4 deletions
diff --git a/README.md b/README.md
index 7fda838..c2a2a71 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,16 @@ than a poll is still a completion.
- **Menu bar** (`menubar/main.swift`): `×1 ✓3 ◐2` in herdr's colors; the
menu lists every agent in priority order, oldest waiting first. Clicking a
row jumps to that pane.
+- **Floating panel** (`menubar/panel.swift`): an always-on-top HUD that never
+ takes focus, on every Space and over full-screen apps. It lists the agents
+ waiting for you (blocked, done) and summarizes the rest
+ (`◐ 2 working · ○ 15 idle`); click a row to jump there, drag to move it.
+ **⌃⌥⌘E** shows or hides it from anywhere. Modes (menu bar, "Show Panel
+ Automatically"): *When agents are waiting* (default; appears when
+ something is blocked or done, hides when you have attended to everything),
+ *Always*, *Off*. Hiding it with the shortcut lasts until another agent
+ starts waiting. Change the shortcut in `~/.config/dingger/config.toml`
+ (menu bar, Settings…); it reloads when you 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.
@@ -71,8 +81,8 @@ dingger manifests update # refresh manifests from herdr's catalog
cargo build --release
cp target/release/dingger ~/.local/bin/dingger # do not strip: invalidates
codesign --force --sign - ~/.local/bin/dingger # the signature, macOS kills it
-swiftc -O -o target/dingger-menu menubar/main.swift # menu bar, bundled as
- # ~/Applications/dingger.app
+swiftc -O -o target/dingger-menu menubar/*.swift # menu bar + panel, bundled
+ # as ~/Applications/dingger.app
```
- launchd agents (start at login, restart on exit):
@@ -94,7 +104,8 @@ tests/e2e.sh # end to end against an isolated tmux server
30 s, so everything asserted must arrive through events), fake agents driven
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 status-line segment, latency with a
+(including the real menu bar binary), the floating panel's visibility rules
+and content, the status-line segment, latency with a
deliberately slow notifier, and state surviving a daemon restart. It never
touches your tmux server.
@@ -102,6 +113,7 @@ touches your tmux server.
- `crates/detect-core`: the detection engine and 22 manifests, from herdr.
- `crates/dinggerd`: the `dingger` binary (watcher, hooks, focus, CLI).
-- `menubar/`: the menu bar app.
+- `menubar/`: the menu bar app (`model.swift` rows and colors, `panel.swift`
+ the floating panel, `hotkey.swift` the global shortcut and settings).
- `packaging/`: launchd agents and the tmux snippet.
- `tests/e2e.sh`: the end-to-end suite.