diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-19 12:24:40 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-19 12:24:40 -0500 |
| commit | b9e892c0364539bef412589393d3307c149ff912 (patch) | |
| tree | 0e12cd80cffd557cbbe628c49420d101a1690ae6 /scripts/wipedisk | |
| parent | 7c38d0d0252f4ac551e480783f315bb325dce4fa (diff) | |
| download | archsetup-b9e892c0364539bef412589393d3307c149ff912.tar.gz archsetup-b9e892c0364539bef412589393d3307c149ff912.zip | |
feat(tmux-util): add script skeleton and reap subcommand
A new utility in dotfiles/common/.local/bin/ for managing tmux sessions. The eventual plan covers six subcommands (go, pick, ls, find, reap, rename). This commit ships the skeleton, the dispatch + help, and the first subcommand: reap.
reap walks every unattached tmux session whose name doesn't match $TMUX_UTIL_REAP_SKIP (default `^aiv-`), sends SIGHUP to each pane's PID (the same signal that fires when you close a terminal window), waits up to three seconds for the session to wind down, and falls back to `tmux kill-session` if anything's still alive.
Tests live under tests/tmux-util/ with the same fake-binary-on-PATH pattern layout-navigate uses. fake-tmux reads canned session state from a file and records every invocation. fake-kill records signal calls without sending them. fake-sleep is a no-op so tests don't actually wait. 14 tests cover Normal / Boundary cases for dispatch + reap. Run them with:
cd tests && python3 -m unittest tmux-util.test_tmux_util
The other five subcommands stub out for now and exit non-zero with "not implemented yet" so future TDD turns can drop them in one at a time.
Diffstat (limited to 'scripts/wipedisk')
0 files changed, 0 insertions, 0 deletions
