From 4bd16d6f47a4a2d67d6bba5c104c0fd5d6f853ad Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 29 Jul 2026 12:35:23 -0400 Subject: [PATCH] feat(tui): default tabs to cwd scope --- packages/tui/src/component/dialog-config.tsx | 8 ++++++++ packages/tui/src/context/session-tabs.tsx | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/tui/src/component/dialog-config.tsx b/packages/tui/src/component/dialog-config.tsx index 54da64c394..9eaba22bc2 100644 --- a/packages/tui/src/component/dialog-config.tsx +++ b/packages/tui/src/component/dialog-config.tsx @@ -101,6 +101,14 @@ export const settings: Setting[] = [ values: [false, true], labels: ["off", "on"], }, + { + title: "Scope", + category: "Tabs", + path: ["tabs", "scope"], + default: "cwd", + values: ["cwd", "global"], + labels: ["current directory", "global"], + }, { title: "Layout", category: "Diffs", diff --git a/packages/tui/src/context/session-tabs.tsx b/packages/tui/src/context/session-tabs.tsx index c59c00731d..0533936e4a 100644 --- a/packages/tui/src/context/session-tabs.tsx +++ b/packages/tui/src/context/session-tabs.tsx @@ -49,12 +49,12 @@ export const { use: useSessionTabs, provider: SessionTabsProvider } = createSimp let history: SessionTabHistory = { entries: [], index: -1 } function state() { - if (config.tabs?.scope !== "cwd") return store.global + if (config.tabs?.scope === "global") return store.global return store.cwd[paths.cwd] ?? fallback } function update(mutation: (draft: TabsState) => void) { - const scope = config.tabs?.scope ?? "global" + const scope = config.tabs?.scope ?? "cwd" void updateStore((draft) => mutation(scope === "cwd" ? (draft.cwd[paths.cwd] ??= empty()) : draft.global)).catch( () => {}, )