feat(settings): Session tabs toggle in General → Navigation

A new Session tabs group (web/desktop only) turns the header session
tabs off; disabled, the header renders the exact pre-tabs view — plain
session title with meta row and the always-visible session menu (the
same block VS Code uses). The Alt+W close-tab shortcut no-ops while
tabs are off. Registered in settings search with a matching anchor;
labels translated in all locales.
This commit is contained in:
Bohdan Triapitsyn
2026-08-25 00:05:45 +03:00
parent 2c1d8d592e
commit ce90e7e24f
16 changed files with 83 additions and 5 deletions
+9
View File
@@ -750,6 +750,8 @@ interface UIStore {
maxLastMessageLength: number; // chars — truncate {last_message} when summarization is off
showTerminalQuickKeysOnDesktop: boolean;
/** Header session tabs (web/desktop). Off restores the plain session title. */
sessionTabsEnabled: boolean;
persistChatDraft: boolean;
showOpenCodeUpdateNotifications: boolean;
agentControlToolEnabled: boolean;
@@ -920,6 +922,7 @@ interface UIStore {
setNativeNotificationsEnabled: (value: boolean) => void;
setNotificationMode: (mode: 'always' | 'hidden-only') => void;
setShowTerminalQuickKeysOnDesktop: (value: boolean) => void;
setSessionTabsEnabled: (value: boolean) => void;
setNotifyOnSubtasks: (value: boolean) => void;
setDockBadgeEnabled: (value: boolean) => void;
setNotifyOnCompletion: (value: boolean) => void;
@@ -1092,6 +1095,7 @@ export const useUIStore = create<UIStore>()(
maxLastMessageLength: 250,
showTerminalQuickKeysOnDesktop: false,
sessionTabsEnabled: true,
persistChatDraft: true,
showOpenCodeUpdateNotifications: !isWindowsArm64(),
agentControlToolEnabled: true,
@@ -2244,6 +2248,10 @@ export const useUIStore = create<UIStore>()(
set({ showTerminalQuickKeysOnDesktop: value });
},
setSessionTabsEnabled: (value) => {
set({ sessionTabsEnabled: value });
},
setNotifyOnSubtasks: (value) => {
set({ notifyOnSubtasks: value });
},
@@ -2672,6 +2680,7 @@ export const useUIStore = create<UIStore>()(
nativeNotificationsEnabled: state.nativeNotificationsEnabled,
notificationMode: state.notificationMode,
showTerminalQuickKeysOnDesktop: state.showTerminalQuickKeysOnDesktop,
sessionTabsEnabled: state.sessionTabsEnabled,
notifyOnSubtasks: state.notifyOnSubtasks,
dockBadgeEnabled: state.dockBadgeEnabled,
notifyOnCompletion: state.notifyOnCompletion,