slab/menubar: complete-state + Terminal theming + restore/restart/tile
Menu Bar app:
- ClaudeSession adds a `complete` state ("turn done, idle") between working and stale; icon/dot/menu colors shift to green=working / slate=complete / amber=awaiting / gray=stale.
- Restore-threads submenu opens N fresh Terminal windows running `claude -r <id>` for the most-recently-modified sessions on disk that aren't already live (recovery hatch for when Terminal.app dies).
- Restart-all-active SIGTERMs every live session and respawns each in a fresh Terminal with --resume (warns first since it interrupts in-flight work).
- Auto-tile + Tile-now pack open Terminal windows into a square-ish grid with font size scaled to fit; "Near"/"Far" text-size radio shrinks the font for close-to-screen viewing.
- Theme-by-status pushes per-state background color + custom-title to each Terminal tab via a single batched osascript pass (memoized so it only fires when state/subject actually changes).
- New ClaudeHistoryReader.swift reads ~/.claude history JSONLs to source the "restore last N" picks.
Bash hooks + install:
- claude-prompt-log.sh derives a 4–8-word `summary` from the prompt and writes it both into active-prompts/<id>.json and as an OSC 0 title to the controlling TTY (so the Terminal title reflects the current task even when theme-by-status is off).
- claude-stop.sh prefers the new sinebells `all-done-waltz.mp3` when present, falling back to the legacy chime.
- install.sh copies any *.mp3 in slab/sounds/ alongside the .wav set so the waltz phrase is installed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This is a binary file and will not be displayed.