From f090ce95d05d2e7811869be93f9a23bf4ac2c3af Mon Sep 17 00:00:00 2001 From: Eric Yue Date: Mon, 21 Sep 2026 01:33:11 +0800 Subject: fix: confirm closing the last tab in the tui (#4409) * fix: confirm closing the last tab in the tui refs #4379 * docs: clarify last-tab worktree confirmation in translations refs #4379 --------- Co-authored-by: JJ Liebig --- src/client/shell/actions.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/client/shell/actions.rs') diff --git a/src/client/shell/actions.rs b/src/client/shell/actions.rs index da4edd49..9d0a3bd5 100644 --- a/src/client/shell/actions.rs +++ b/src/client/shell/actions.rs @@ -124,6 +124,16 @@ impl ClientShellState { outcome.repaint = true; return; } + if action == crate::input::KeybindAction::CloseTab { + if let Some(tab_id) = self + .snapshot + .as_deref() + .and_then(|snapshot| snapshot.focused_tab_id.clone()) + { + self.request_tab_close(tab_id, outcome); + } + return; + } if action == crate::input::KeybindAction::NewTab && self.config.prompt_new_tab_name { self.open_new_tab_overlay(); @@ -1040,9 +1050,6 @@ impl ClientShellState { env: Default::default(), })) } - KeybindAction::CloseTab => Some(Method::TabClose(TabTarget { - tab_id: focused_tab?, - })), KeybindAction::ClosePane => Some(Method::PaneClose(PaneTarget { pane_id: focused_pane.clone()?, })), -- cgit v1.2.3