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 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
|
||||
if [[ "${1:-}" == "exit" ]]; then
|
||||
|
|
@ -405,12 +408,14 @@ cmd_tui() {
|
|||
tmux kill-session -t "=${tmux_session}" 2>/dev/null || true
|
||||
|
||||
# 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 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 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-length 64
|
||||
|
|
|
|||
Loading…
Reference in New Issue