aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-19 16:19:10 +0300
committerIgor Soarez <igor@soarez.org>2026-10-19 16:19:10 +0300
commit3bace4ac392fb914263377369383f5ac23111c61 (patch)
tree6dbd48104e158cb7af6aebe774440181eb44eb09 /README.md
parentab33633ceb9e4bea3e292b2371241797d1587d02 (diff)
wait for tmux at startup, force utf-8 for tmux clients, add launchd packaging
running under launchd, the tmux client defaults to the c locale, which makes tmux mangle tab-separated -f output into underscores, so every pane parsed as one field and the watcher silently saw nothing; invoke tmux with -u so format output is locale-independent. drop the startup fail-fast: the watcher now waits for a tmux server and attaches when one appears, which is the right shape for a login agent. ship the launchd plist under packaging/launchd.
Diffstat (limited to 'README.md')
-rw-r--r--README.md19
1 files changed, 16 insertions, 3 deletions
diff --git a/README.md b/README.md
index f47f1d5..6e96683 100644
--- a/README.md
+++ b/README.md
@@ -56,6 +56,19 @@ screens such as Claude's transcript never change state.
## Status
-Early scaffold. Roadmap: menu bar UI (Swift shell over the daemon), tmux
-control-mode event source instead of polling, configurable notification
-policy.
+Early scaffold. Roadmap: menu bar UI (Swift shell over the daemon), configurable
+notification policy.
+
+### Running as a login agent (launchd)
+
+`packaging/launchd/dev.dingger.dingger.plist` runs `dingger watch` at login
+with auto-restart; adjust the user path, then:
+
+```bash
+launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/dev.dingger.dingger.plist
+```
+
+dingger does not require tmux to be running first — it waits for a server and
+attaches when one appears. All tmux invocations use `-u` (forced UTF-8): under
+launchd's C locale, tmux mangles tab-separated `-F` output into underscores,
+which would silently hide every pane.