o: fix tui with session names containing slashes
- Sanitize tmux session name (replace / and : with -) - Include agent name in tmux session for uniqueness - Quote context arg in spawned o commands - Use colon separator for robustness
This commit is contained in:
parent
e1d01716f3
commit
c30c75cea9
|
|
@ -393,7 +393,10 @@ cmd_tui() {
|
||||||
|
|
||||||
local s="$CTX_SESSION"
|
local s="$CTX_SESSION"
|
||||||
local a="$CTX_AGENT"
|
local a="$CTX_AGENT"
|
||||||
local tmux_session="o-${s}"
|
# Sanitize session name for tmux (replace / and : with -)
|
||||||
|
local safe_session="${s//\//-}"
|
||||||
|
safe_session="${safe_session//:/-}"
|
||||||
|
local tmux_session="o-${safe_session}-${a}"
|
||||||
|
|
||||||
# Check for subcommands
|
# Check for subcommands
|
||||||
if [[ "${1:-}" == "exit" ]]; then
|
if [[ "${1:-}" == "exit" ]]; then
|
||||||
|
|
@ -405,12 +408,14 @@ cmd_tui() {
|
||||||
tmux kill-session -t "=${tmux_session}" 2>/dev/null || true
|
tmux kill-session -t "=${tmux_session}" 2>/dev/null || true
|
||||||
|
|
||||||
# Layout: chat (top 80%), prompt (bottom 20%)
|
# Layout: chat (top 80%), prompt (bottom 20%)
|
||||||
|
# Use colon separator in o commands to handle session names with slashes
|
||||||
|
local ctx="$s:$a"
|
||||||
tmux new-session -d -s "$tmux_session" -c "$HOME"
|
tmux new-session -d -s "$tmux_session" -c "$HOME"
|
||||||
tmux set-option -g mouse on
|
tmux set-option -g mouse on
|
||||||
tmux send-keys -t "=${tmux_session}" "o $s/$a log -n 1000 | grep -v '\\[\\[\\[.*\\]\\]\\]' | grep -v '^\`\`\`'; o $s/$a read chat" Enter
|
tmux send-keys -t "=${tmux_session}" "o '$ctx' log -n 1000 | grep -v '\\[\\[\\[.*\\]\\]\\]' | grep -v '^\`\`\`'; o '$ctx' read chat" Enter
|
||||||
|
|
||||||
tmux split-window -t "=${tmux_session}" -v -l 20%
|
tmux split-window -t "=${tmux_session}" -v -l 20%
|
||||||
tmux send-keys -t "=${tmux_session}" "clear; o $s/$a prompt" Enter
|
tmux send-keys -t "=${tmux_session}" "clear; o '$ctx' prompt" Enter
|
||||||
|
|
||||||
tmux set-option -t "=${tmux_session}" status-right "starting... | %H:%M"
|
tmux set-option -t "=${tmux_session}" status-right "starting... | %H:%M"
|
||||||
tmux set-option -t "=${tmux_session}" status-right-length 64
|
tmux set-option -t "=${tmux_session}" status-right-length 64
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue