From a593b157d63cfa46d541104acf44aec4f28881b0 Mon Sep 17 00:00:00 2001 From: codex Date: Wed, 3 Jun 2026 17:34:41 +0000 Subject: [PATCH] fix(cli): remove supervise tmux alert handling --- bot_bottle/cli/supervise.py | 17 ----------------- .../0049-strip-dashboard-to-supervisor-tui.md | 10 ++++------ 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/bot_bottle/cli/supervise.py b/bot_bottle/cli/supervise.py index fb786d7..209266f 100644 --- a/bot_bottle/cli/supervise.py +++ b/bot_bottle/cli/supervise.py @@ -354,27 +354,12 @@ def _try_init_green() -> int: return 0 -def _in_tmux() -> bool: - return bool(os.environ.get("TMUX")) - - -def _select_tmux_pane(pane_id: str) -> None: - try: - subprocess.run( - ["tmux", "select-pane", "-t", pane_id], - capture_output=True, text=True, check=False, - ) - except FileNotFoundError: - pass - - def _main_loop(stdscr: "curses._CursesWindow") -> None: curses.curs_set(0) stdscr.timeout(_REFRESH_INTERVAL_MS) green_attr = _try_init_green() selected = 0 status_line = "" - supervise_pane_id = os.environ.get("TMUX_PANE", "") seen_ids: set[str] = set() while True: @@ -389,8 +374,6 @@ def _main_loop(stdscr: "curses._CursesWindow") -> None: curses.beep() except curses.error: pass - if supervise_pane_id and _in_tmux(): - _select_tmux_pane(supervise_pane_id) for i, qp in enumerate(pending): if qp.proposal.id in newly_arrived: selected = i diff --git a/docs/prds/0049-strip-dashboard-to-supervisor-tui.md b/docs/prds/0049-strip-dashboard-to-supervisor-tui.md index 61985c6..36985f6 100644 --- a/docs/prds/0049-strip-dashboard-to-supervisor-tui.md +++ b/docs/prds/0049-strip-dashboard-to-supervisor-tui.md @@ -1,5 +1,5 @@ -- **Status:** Active +- **Status:** Draft - **Author:** didericis - **Created:** 2026-06-03 - **Issue:** #174 @@ -204,11 +204,9 @@ ripgrep view, same as today. - `q` / Esc quits. There are no dashboard-owned bottles, so no per-process teardown decision — `q` just exits. -- The new-arrival bell + (if in tmux) the - `tmux select-pane` jump back to the supervise pane stay, - because they're real wins for the operator's "I was typing at - claude and a proposal landed" case. They don't require any of - the pane-management code being removed. +- The new-arrival bell stays, because it is a real win for the + operator's "I was typing at claude and a proposal landed" case. + No tmux-specific focus management remains. ### Code organisation