From a5510a7a2bd5cc710cf8cef9d30f210fe694e582 Mon Sep 17 00:00:00 2001 From: Ollie Agent Date: Tue, 4 Aug 2026 19:40:39 +0200 Subject: [PATCH] o tui: accept [session] [agent] positional args --- data/scripts/o | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/data/scripts/o b/data/scripts/o index f91b5ff..8933f3e 100755 --- a/data/scripts/o +++ b/data/scripts/o @@ -368,17 +368,39 @@ cmd_kill() { } cmd_tui() { + local tmux_session="${session:-}" local s a - s=$(require_session) || exit 1 - a=$(require_agent "$s") || exit 1 - - local tmux_session="o-${s}" + # Check for subcommands first if [[ "${1:-}" == "exit" ]]; then - tmux kill-session -t "$tmux_session" 2>/dev/null && echo "[killed $tmux_session]" || echo "no tui session: $tmux_session" + if [[ -z "$tmux_session" ]]; then + echo "error: no session context" >&2 + exit 1 + fi + tmux kill-session -t "o-${tmux_session}" 2>/dev/null && echo "[killed o-${tmux_session}]" || echo "no tui session: o-${tmux_session}" return fi + # Accept optional positional args: o tui [session] [agent] + s="${1:-${session:-}}" + if [[ -n "$1" ]]; then shift; fi + a="${1:-${agent:-}}" + + if [[ -z "$s" ]]; then + echo "error: no session set" >&2 + echo " usage: o tui [agent]" >&2 + echo " or: export session=" >&2 + exit 1 + fi + if [[ -z "$a" ]]; then + echo "error: no agent set" >&2 + echo " usage: o tui " >&2 + echo " or: export agent=" >&2 + exit 1 + fi + + tmux_session="o-${s}" + tmux kill-session -t "$tmux_session" 2>/dev/null || true # Layout: