From 1753800a1bd21884bae12888c120564c3acaa65c Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 3 Sep 2018 10:46:36 +0200 Subject: [PATCH] custom menu - enable by default again on Windows --- src/vs/code/electron-main/app.ts | 10 +++++++++- src/vs/code/electron-main/window.ts | 6 +++++- src/vs/workbench/electron-browser/main.contribution.ts | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts index 258608d91bb..00c772757dc 100644 --- a/src/vs/code/electron-main/app.ts +++ b/src/vs/code/electron-main/app.ts @@ -560,7 +560,15 @@ export class CodeApplication { // Install Menu const instantiationService = accessor.get(IInstantiationService); const configurationService = accessor.get(IConfigurationService); - if (platform.isMacintosh || configurationService.getValue('window.titleBarStyle') !== 'custom') { + + let createNativeMenu = true; + if (platform.isLinux) { + createNativeMenu = configurationService.getValue('window.titleBarStyle') !== 'custom'; + } else if (platform.isWindows) { + createNativeMenu = configurationService.getValue('window.titleBarStyle') === 'native'; + } + + if (createNativeMenu) { instantiationService.createInstance(CodeMenu); } diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts index 55f9a7767fb..ce7e5d1eb5f 100644 --- a/src/vs/code/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -166,7 +166,11 @@ export class CodeWindow implements ICodeWindow { useCustomTitleStyle = false; // not enabled when developing due to https://github.com/electron/electron/issues/3647 } } else { - useCustomTitleStyle = windowConfig && windowConfig.titleBarStyle === 'custom'; // Must be specified on Windows/Linux + if (isLinux) { + useCustomTitleStyle = windowConfig && windowConfig.titleBarStyle === 'custom'; + } else { + useCustomTitleStyle = !windowConfig || !windowConfig.titleBarStyle || windowConfig.titleBarStyle === 'custom'; // Default to custom on Windows + } } if (useNativeTabs) { diff --git a/src/vs/workbench/electron-browser/main.contribution.ts b/src/vs/workbench/electron-browser/main.contribution.ts index dababed7b48..3ab089c9ce9 100644 --- a/src/vs/workbench/electron-browser/main.contribution.ts +++ b/src/vs/workbench/electron-browser/main.contribution.ts @@ -794,7 +794,7 @@ configurationRegistry.registerConfiguration({ 'window.titleBarStyle': { 'type': 'string', 'enum': ['native', 'custom'], - 'default': isMacintosh ? 'custom' : 'native', + 'default': isLinux ? 'native' : 'custom', 'scope': ConfigurationScope.APPLICATION, 'description': nls.localize('titleBarStyle', "Adjust the appearance of the window title bar. Changes require a full restart to apply.") },