From 84ed4b5404e8fba51cd459caac9fb732716002b5 Mon Sep 17 00:00:00 2001 From: Marvin Heilemann Date: Tue, 7 Apr 2020 12:00:56 +0200 Subject: [PATCH] feat add window title separator prop (#94371) --- src/vs/workbench/browser/parts/titlebar/titlebarPart.ts | 5 ++--- src/vs/workbench/browser/workbench.contribution.ts | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts b/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts index db93ef83b78..5af0e5b822b 100644 --- a/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts +++ b/src/vs/workbench/browser/parts/titlebar/titlebarPart.ts @@ -47,7 +47,6 @@ export class TitlebarPart extends Part implements ITitleService { private static readonly NLS_USER_IS_ADMIN = isWindows ? nls.localize('userIsAdmin', "[Administrator]") : nls.localize('userIsSudo', "[Superuser]"); private static readonly NLS_EXTENSION_HOST = nls.localize('devExtensionWindowTitlePrefix', "[Extension Development Host]"); private static readonly TITLE_DIRTY = '\u25cf '; - private static readonly TITLE_SEPARATOR = isMacintosh ? ' — ' : ' - '; // macOS uses special - separator //#region IView @@ -126,7 +125,7 @@ export class TitlebarPart extends Part implements ITitleService { } protected onConfigurationChanged(event: IConfigurationChangeEvent): void { - if (event.affectsConfiguration('window.title')) { + if (event.affectsConfiguration('window.title') || event.affectsConfiguration('window.titleSeparator')) { this.titleUpdater.schedule(); } @@ -283,7 +282,7 @@ export class TitlebarPart extends Part implements ITitleService { const dirty = editor?.isDirty() && !editor.isSaving() ? TitlebarPart.TITLE_DIRTY : ''; const appName = this.productService.nameLong; const remoteName = this.labelService.getHostLabel(REMOTE_HOST_SCHEME, this.environmentService.configuration.remoteAuthority); - const separator = TitlebarPart.TITLE_SEPARATOR; + const separator = this.configurationService.getValue('window.titleSeparator'); const titleTemplate = this.configurationService.getValue('window.title'); return template(titleTemplate, { diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts index 4ceec674a9d..30539e9b038 100644 --- a/src/vs/workbench/browser/workbench.contribution.ts +++ b/src/vs/workbench/browser/workbench.contribution.ts @@ -301,6 +301,11 @@ import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuratio })(), 'markdownDescription': windowTitleDescription }, + 'window.titleSeparator': { + 'type': 'string', + 'default': isMacintosh ? ' — ' : ' - ', + 'markdownDescription': nls.localize("window.titleSeparator", "Separator used by `window.title`.") + }, 'window.menuBarVisibility': { 'type': 'string', 'enum': ['default', 'visible', 'toggle', 'hidden', 'compact'],