From e1b4ade218dffd94ba4da3a1ef2d213af41cf7dd Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 18 Dec 2015 13:25:10 +0100 Subject: [PATCH] Windows: still allow to bring up the menu when in full screen --- src/typings/atom-browser.d.ts | 1 + src/typings/atom-renderer.d.ts | 1 + src/vs/workbench/electron-main/window.ts | 11 ++++++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/typings/atom-browser.d.ts b/src/typings/atom-browser.d.ts index f7d2217d5c4..f0a9d928d98 100644 --- a/src/typings/atom-browser.d.ts +++ b/src/typings/atom-browser.d.ts @@ -190,6 +190,7 @@ declare class BrowserWindow extends EventEmitter { getPosition(): number[]; setPosition(x: number, y: number): void; setMenuBarVisibility(visible: boolean): void; + setAutoHideMenuBar(autoHide: boolean): void; maximize(): void; setRepresentedFilename(path: string): void; setTitle(title: string): void; diff --git a/src/typings/atom-renderer.d.ts b/src/typings/atom-renderer.d.ts index 8a8b12b95c9..c08f9f0e598 100644 --- a/src/typings/atom-renderer.d.ts +++ b/src/typings/atom-renderer.d.ts @@ -219,6 +219,7 @@ declare module 'remote' { getPosition(): number[]; setPosition(x: number, y: number): void; setMenuBarVisibility(visible: boolean): void; + setAutoHideMenuBar(autoHide: boolean): void; maximize(): void; setRepresentedFilename(path: string): void; setDocumentEdited(edited: boolean): void; diff --git a/src/vs/workbench/electron-main/window.ts b/src/vs/workbench/electron-main/window.ts index 7bd14c3c996..bff9bba2805 100644 --- a/src/vs/workbench/electron-main/window.ts +++ b/src/vs/workbench/electron-main/window.ts @@ -526,10 +526,15 @@ export class VSCodeWindow { } public toggleFullScreen(): void { - let isFullScreen = this.win.isFullScreen(); + let willBeFullScreen = !this.win.isFullScreen(); - this.win.setFullScreen(!isFullScreen); - this.win.setMenuBarVisibility(isFullScreen); + this.win.setFullScreen(willBeFullScreen); + + // Windows: Hide the menu bar but still allow to bring it up by pressing the Alt key + if (platform.isWindows) { + this.win.setMenuBarVisibility(!willBeFullScreen); + this.win.setAutoHideMenuBar(willBeFullScreen); + } } public sendWhenReady(channel: string, ...args: any[]): void {