From 26c0269a5921a15ea82e343e760c47772d3c8fa7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 29 Jan 2026 11:19:38 +0000 Subject: [PATCH 1/5] Initial plan From 4e9ec471b88daa61597971585f79b390e34e2dd8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 29 Jan 2026 11:24:04 +0000 Subject: [PATCH 2/5] Apply max-width and centering to chat title container to match interactive-session Co-authored-by: benibenj <44439583+benibenj@users.noreply.github.com> --- .../widgetHosts/viewPane/media/chatViewTitleControl.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css b/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css index 9434f08cef31d..e7305b73a0aee 100644 --- a/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +++ b/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css @@ -9,6 +9,10 @@ display: none; align-items: center; cursor: pointer; + max-width: 950px; + margin-left: auto; + margin-right: auto; + width: 100%; .chat-view-title-navigation-toolbar { overflow: hidden; From c7aa661eaf03aef387b02ddfab36176b3413befa Mon Sep 17 00:00:00 2001 From: BeniBenj Date: Thu, 29 Jan 2026 12:56:39 +0100 Subject: [PATCH 3/5] :lipstick: --- .../chat/browser/widgetHosts/viewPane/media/chatViewPane.css | 2 ++ .../widgetHosts/viewPane/media/chatViewTitleControl.css | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css b/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css index c6cecd30bfad2..3258a3d14dd50 100644 --- a/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +++ b/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css @@ -15,6 +15,8 @@ height: 100%; min-height: 0; min-width: 0; + max-width: 950px; + margin: auto; .interactive-session { diff --git a/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css b/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css index e7305b73a0aee..9434f08cef31d 100644 --- a/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +++ b/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css @@ -9,10 +9,6 @@ display: none; align-items: center; cursor: pointer; - max-width: 950px; - margin-left: auto; - margin-right: auto; - width: 100%; .chat-view-title-navigation-toolbar { overflow: hidden; From 70ead1b848992bab86b755fd6e8e08ffc3c13d26 Mon Sep 17 00:00:00 2001 From: BeniBenj Date: Thu, 29 Jan 2026 14:52:52 +0100 Subject: [PATCH 4/5] agent status and unified agents bar should respect command center setting --- src/vs/workbench/browser/layout.ts | 6 +++--- .../experiments/agentSessionProjectionActions.ts | 6 ++++-- .../experiments/agentTitleBarStatusWidget.ts | 12 ++++-------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/vs/workbench/browser/layout.ts b/src/vs/workbench/browser/layout.ts index abd34a528b5ac..da337f0d06ec1 100644 --- a/src/vs/workbench/browser/layout.ts +++ b/src/vs/workbench/browser/layout.ts @@ -117,6 +117,7 @@ interface IInitialEditorsState { const COMMAND_CENTER_SETTINGS = [ 'chat.agentsControl.enabled', + 'chat.unifiedAgentsBar.enabled', 'workbench.navigationControl.enabled', 'workbench.experimental.share.enabled', ]; @@ -396,10 +397,9 @@ export abstract class Layout extends Disposable implements IWorkbenchLayoutServi ].some(setting => e.affectsConfiguration(setting))) { // Show Command Center if command center actions enabled - const shareEnabled = e.affectsConfiguration('workbench.experimental.share.enabled') && this.configurationService.getValue('workbench.experimental.share.enabled'); - const navigationControlEnabled = e.affectsConfiguration('workbench.navigationControl.enabled') && this.configurationService.getValue('workbench.navigationControl.enabled'); + const enabledCommandCenterAction = COMMAND_CENTER_SETTINGS.some(setting => e.affectsConfiguration(setting) && this.configurationService.getValue(setting) === true); - if (shareEnabled || navigationControlEnabled) { + if (enabledCommandCenterAction) { if (this.configurationService.getValue(LayoutSettings.COMMAND_CENTER) === false) { this.configurationService.updateValue(LayoutSettings.COMMAND_CENTER, true); return; // onDidChangeConfiguration will be triggered again diff --git a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts index 165804cf11e58..a5e80a2aa7911 100644 --- a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts +++ b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts @@ -101,7 +101,8 @@ export class ToggleAgentStatusAction extends ToggleTitleBarConfigAction { ContextKeyExpr.and( ChatContextKeys.enabled, IsCompactTitleBarContext.negate(), - ChatContextKeys.supported + ChatContextKeys.supported, + ContextKeyExpr.has('config.window.commandCenter') ) ); } @@ -120,7 +121,8 @@ export class ToggleUnifiedAgentsBarAction extends ToggleTitleBarConfigAction { ContextKeyExpr.and( ChatContextKeys.enabled, IsCompactTitleBarContext.negate(), - ChatContextKeys.supported + ChatContextKeys.supported, + ContextKeyExpr.has('config.window.commandCenter'), ) ); } diff --git a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts index 9ec4f162d4f78..65ea313a09b0a 100644 --- a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts +++ b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts @@ -1244,20 +1244,16 @@ export class AgentTitleBarStatusRendering extends Disposable implements IWorkben // Add/remove CSS classes on workbench based on settings // Force enable command center and disable chat controls when agent status or unified agents bar is enabled const updateClass = () => { - const enabled = configurationService.getValue(ChatConfiguration.AgentStatusEnabled) === true; - const enhanced = configurationService.getValue(ChatConfiguration.UnifiedAgentsBar) === true; + const commandCenterEnabled = configurationService.getValue(LayoutSettings.COMMAND_CENTER) === true; + const enabled = configurationService.getValue(ChatConfiguration.AgentStatusEnabled) === true && commandCenterEnabled; + const enhanced = configurationService.getValue(ChatConfiguration.UnifiedAgentsBar) === true && commandCenterEnabled; mainWindow.document.body.classList.toggle('agent-status-enabled', enabled); mainWindow.document.body.classList.toggle('unified-agents-bar', enhanced); - - // Force enable command center when agent status or unified agents bar is enabled - if ((enabled || enhanced) && configurationService.getValue(LayoutSettings.COMMAND_CENTER) !== true) { - configurationService.updateValue(LayoutSettings.COMMAND_CENTER, true); - } }; updateClass(); this._register(configurationService.onDidChangeConfiguration(e => { - if (e.affectsConfiguration(ChatConfiguration.AgentStatusEnabled) || e.affectsConfiguration(ChatConfiguration.UnifiedAgentsBar)) { + if (e.affectsConfiguration(ChatConfiguration.AgentStatusEnabled) || e.affectsConfiguration(ChatConfiguration.UnifiedAgentsBar) || e.affectsConfiguration(LayoutSettings.COMMAND_CENTER)) { updateClass(); } })); From e22415a29c5a5d74d23278396975d78caf99e66c Mon Sep 17 00:00:00 2001 From: BeniBenj Date: Thu, 29 Jan 2026 14:56:02 +0100 Subject: [PATCH 5/5] Revert "agent status and unified agents bar should respect command center setting" This reverts commit 70ead1b848992bab86b755fd6e8e08ffc3c13d26. --- src/vs/workbench/browser/layout.ts | 6 +++--- .../experiments/agentSessionProjectionActions.ts | 6 ++---- .../experiments/agentTitleBarStatusWidget.ts | 12 ++++++++---- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/vs/workbench/browser/layout.ts b/src/vs/workbench/browser/layout.ts index da337f0d06ec1..abd34a528b5ac 100644 --- a/src/vs/workbench/browser/layout.ts +++ b/src/vs/workbench/browser/layout.ts @@ -117,7 +117,6 @@ interface IInitialEditorsState { const COMMAND_CENTER_SETTINGS = [ 'chat.agentsControl.enabled', - 'chat.unifiedAgentsBar.enabled', 'workbench.navigationControl.enabled', 'workbench.experimental.share.enabled', ]; @@ -397,9 +396,10 @@ export abstract class Layout extends Disposable implements IWorkbenchLayoutServi ].some(setting => e.affectsConfiguration(setting))) { // Show Command Center if command center actions enabled - const enabledCommandCenterAction = COMMAND_CENTER_SETTINGS.some(setting => e.affectsConfiguration(setting) && this.configurationService.getValue(setting) === true); + const shareEnabled = e.affectsConfiguration('workbench.experimental.share.enabled') && this.configurationService.getValue('workbench.experimental.share.enabled'); + const navigationControlEnabled = e.affectsConfiguration('workbench.navigationControl.enabled') && this.configurationService.getValue('workbench.navigationControl.enabled'); - if (enabledCommandCenterAction) { + if (shareEnabled || navigationControlEnabled) { if (this.configurationService.getValue(LayoutSettings.COMMAND_CENTER) === false) { this.configurationService.updateValue(LayoutSettings.COMMAND_CENTER, true); return; // onDidChangeConfiguration will be triggered again diff --git a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts index a5e80a2aa7911..165804cf11e58 100644 --- a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts +++ b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.ts @@ -101,8 +101,7 @@ export class ToggleAgentStatusAction extends ToggleTitleBarConfigAction { ContextKeyExpr.and( ChatContextKeys.enabled, IsCompactTitleBarContext.negate(), - ChatContextKeys.supported, - ContextKeyExpr.has('config.window.commandCenter') + ChatContextKeys.supported ) ); } @@ -121,8 +120,7 @@ export class ToggleUnifiedAgentsBarAction extends ToggleTitleBarConfigAction { ContextKeyExpr.and( ChatContextKeys.enabled, IsCompactTitleBarContext.negate(), - ChatContextKeys.supported, - ContextKeyExpr.has('config.window.commandCenter'), + ChatContextKeys.supported ) ); } diff --git a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts index 65ea313a09b0a..9ec4f162d4f78 100644 --- a/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts +++ b/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.ts @@ -1244,16 +1244,20 @@ export class AgentTitleBarStatusRendering extends Disposable implements IWorkben // Add/remove CSS classes on workbench based on settings // Force enable command center and disable chat controls when agent status or unified agents bar is enabled const updateClass = () => { - const commandCenterEnabled = configurationService.getValue(LayoutSettings.COMMAND_CENTER) === true; - const enabled = configurationService.getValue(ChatConfiguration.AgentStatusEnabled) === true && commandCenterEnabled; - const enhanced = configurationService.getValue(ChatConfiguration.UnifiedAgentsBar) === true && commandCenterEnabled; + const enabled = configurationService.getValue(ChatConfiguration.AgentStatusEnabled) === true; + const enhanced = configurationService.getValue(ChatConfiguration.UnifiedAgentsBar) === true; mainWindow.document.body.classList.toggle('agent-status-enabled', enabled); mainWindow.document.body.classList.toggle('unified-agents-bar', enhanced); + + // Force enable command center when agent status or unified agents bar is enabled + if ((enabled || enhanced) && configurationService.getValue(LayoutSettings.COMMAND_CENTER) !== true) { + configurationService.updateValue(LayoutSettings.COMMAND_CENTER, true); + } }; updateClass(); this._register(configurationService.onDidChangeConfiguration(e => { - if (e.affectsConfiguration(ChatConfiguration.AgentStatusEnabled) || e.affectsConfiguration(ChatConfiguration.UnifiedAgentsBar) || e.affectsConfiguration(LayoutSettings.COMMAND_CENTER)) { + if (e.affectsConfiguration(ChatConfiguration.AgentStatusEnabled) || e.affectsConfiguration(ChatConfiguration.UnifiedAgentsBar)) { updateClass(); } }));