diff --git a/SPEC.md b/SPEC.md index 9336c95..fbfd1c3 100644 --- a/SPEC.md +++ b/SPEC.md @@ -89,11 +89,12 @@ not cover: **redeploy** and **secrets diff**. Example startup command (generic placeholders): ``` +tmux kill-session -t kctl \; \ tmux new-session -d -s kctl \ - "kctl-tui panel --context=$CTX_A --ns=$NS --team=$TEAM" \; \ + -- "kctl-tui panel --context=$CTX_A --ns=$NS --team=$TEAM" \; \ set-option -t kctl remain-on-exit on \; \ - split-window -v -t kctl:0.0 "k9s --context $CTX_A -n $NS" \; \ - split-window -v -t kctl:0.1 "k9s --context $CTX_B -n $NS" \; \ + split-window -v -t kctl:0.0 -- "k9s --context $CTX_A -n $NS" \; \ + split-window -v -t kctl:0.1 -- "k9s --context $CTX_B -n $NS" \; \ select-layout -t kctl even-vertical \; \ select-pane -t kctl:0.0 \; \ attach -t kctl diff --git a/cmd/kctl-tui/full.go b/cmd/kctl-tui/full.go index b6d893e..cfd1cfb 100644 --- a/cmd/kctl-tui/full.go +++ b/cmd/kctl-tui/full.go @@ -278,17 +278,18 @@ func (m *fullModel) startTmuxSession() tea.Cmd { k9sCmdA := fmt.Sprintf("k9s --context %s -n %s", ctxA, m.selectedNamespace) args := []string{ + "kill-session", "-t", "kctl", ";", // ignore error if no session exists "new-session", "-d", "-s", "kctl", - panelCmd, ";", + "--", panelCmd, ";", "set-option", "-t", "kctl", "remain-on-exit", "on", ";", - "split-window", "-v", "-t", "kctl:0.0", k9sCmdA, ";", + "split-window", "-v", "-t", "kctl:0.0", "--", k9sCmdA, ";", } if len(m.cfg.Envs) > 1 { envB := m.cfg.Envs[1] ctxB := m.cfg.ResolveContext(envB, m.selectedContext) k9sCmdB := fmt.Sprintf("k9s --context %s -n %s", ctxB, m.selectedNamespace) args = append(args, - "split-window", "-v", "-t", "kctl:0.1", k9sCmdB, ";", + "split-window", "-v", "-t", "kctl:0.1", "--", k9sCmdB, ";", ) } args = append(args,