tmux.conf sets pane-base-index 1, but dev-session.sh was referencing panes starting at .0. All splits and send-keys silently failed, leaving a single empty pane with no dashboard.
57 lines
2.3 KiB
Bash
Executable File
57 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ── Dev Session Bootstrap ──────────────────────────────────────────────
|
|
# Creates the standard dev tmux session with two windows:
|
|
# Window 1: Hermes TUI
|
|
# Window 2: Timmy devloop (3-pane layout)
|
|
#
|
|
# Source-controlled: gitea/rockachopa/hermes-config
|
|
# ───────────────────────────────────────────────────────────────────────
|
|
|
|
SESSION="dev"
|
|
export PATH="$HOME/.local/bin:$HOME/.hermes/bin:/usr/local/bin:$PATH"
|
|
|
|
# If session already exists, just attach
|
|
if tmux has-session -t "$SESSION" 2>/dev/null; then
|
|
exec tmux attach -t "$SESSION"
|
|
fi
|
|
|
|
# ── Window 1: Hermes TUI ──────────────────────────────────────────────
|
|
tmux new-session -d -s "$SESSION" -n "hermes" -x 200 -y 50
|
|
tmux send-keys -t "$SESSION:1" "hermes" Enter
|
|
|
|
# ── Window 2: Timmy Devloop (3-pane) ──────────────────────────────────
|
|
tmux new-window -t "$SESSION" -n "timmy-loop"
|
|
|
|
# Vertical split: left | right
|
|
tmux split-window -h -t "$SESSION:2.1"
|
|
|
|
# Horizontal split on left: top-left / bottom-left
|
|
tmux split-window -v -t "$SESSION:2.1"
|
|
|
|
# Pane map (pane-base-index = 1):
|
|
# 1 = top-left → Loop
|
|
# 3 = bottom-left → Hermes Chat (in Timmy dir)
|
|
# 2 = right → Status Dashboard
|
|
|
|
# Set pane titles
|
|
tmux select-pane -t "$SESSION:2.1" -T "Loop"
|
|
tmux select-pane -t "$SESSION:2.3" -T "Chat"
|
|
tmux select-pane -t "$SESSION:2.2" -T "Status"
|
|
|
|
# Resize: give right pane ~40 cols for status
|
|
tmux resize-pane -t "$SESSION:2.2" -x 45
|
|
|
|
# Start processes
|
|
tmux send-keys -t "$SESSION:2.1" \
|
|
"export PATH=\"$HOME/.local/bin:$HOME/.hermes/bin:/usr/local/bin:\$PATH\" && $HOME/.hermes/bin/timmy-loop.sh" Enter
|
|
tmux send-keys -t "$SESSION:2.2" \
|
|
"$HOME/.hermes/bin/timmy-status.sh" Enter
|
|
tmux send-keys -t "$SESSION:2.3" \
|
|
"cd ~/Timmy-Time-dashboard && hermes" Enter
|
|
|
|
# Focus: start on hermes window
|
|
tmux select-window -t "$SESSION:1"
|
|
|
|
# Attach to the session we just created
|
|
exec tmux attach -t "$SESSION"
|