Skip to content

Bar Integrations

--bar-json is a shared status-bar contract rather than a single command. Tools emit one-line --bar-json output (with text, tooltip, and class fields) meant to be polled by a status bar module through its own short-lived cache. Left click opens the relevant TUI; right click refreshes the cache.

dot git-diff status scans disable Git’s optional index locks. Background bar and TUI polling can read working-tree state during a rebase, merge, or another index-writing operation without refreshing the index or competing for .git/index.lock.

The JSON format is bar-agnostic: it works with Waybar, Quickshell, or any bar that can run a command and parse JSON. My own setup uses Waybar, so the bundled modules and dot doctor checks target Waybar, but the commands themselves do not depend on it.

The command reference lists the full --bar-json flag set on each command.

--bar-json is not limited to dot. Other tools in this setup emit the same bar-friendly JSON, so one bar can poll them the same way. go-automate is one example: its --bar-json reference documents the Home Assistant watcher output it exposes to a status bar.

go-automate’s entity watcher is a long-running stream, but a polled bar module or a dashboard source card wants one line per refresh. The bundled ha-entity-bar-json-once script bridges the two: it runs go-automate ha bridge watch entity --bar-json, reads the first line, stops the watcher, and prints that single line (or a hidden placeholder if nothing arrives). It takes the same flags as the watcher, for example:

Terminal window
ha-entity-bar-json-once --icon '' input_text.current_next_event_in_an_hour

Which repos and which activity reach the bar is controlled by the private dot-git.yml config; the notifications.bar.ignore_bot_activity key tames bot noise. See Private Git Config.

dot doctor verifies the active status-bar module wiring for git-workflows and git-notifications, alongside dot-git.yml and the absence of legacy git-workflow-watch leftovers.