From 06f18ccb01b128112f06e08e82a5f54685d8c133 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Sat, 5 Mar 2016 16:47:16 -0800 Subject: [PATCH] Disable view menu items when window is hidden --- main/menu.js | 16 +++++++++++++++- main/windows.js | 5 +++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/main/menu.js b/main/menu.js index 4672b3d6..9a64d852 100644 --- a/main/menu.js +++ b/main/menu.js @@ -4,6 +4,18 @@ var windows = require('./windows') var app = electron.app +function onWindowShow () { + debug('onWindowShow') + getMenuItem('Full Screen').enabled = true + getMenuItem('Float on Top').enabled = true +} + +function onWindowHide () { + debug('onWindowHide') + getMenuItem('Full Screen').enabled = false + getMenuItem('Float on Top').enabled = false +} + function toggleFullScreen () { debug('toggleFullScreen') if (windows.main) { @@ -275,7 +287,9 @@ var appMenu = electron.Menu.buildFromTemplate(getMenuTemplate()) var menu = { appMenu: appMenu, - onToggleFullScreen: onToggleFullScreen + onToggleFullScreen: onToggleFullScreen, + onWindowHide: onWindowHide, + onWindowShow: onWindowShow } module.exports = menu diff --git a/main/windows.js b/main/windows.js index 08d7dd47..e3736929 100644 --- a/main/windows.js +++ b/main/windows.js @@ -38,8 +38,13 @@ function createMainWindow (menu) { win.show() }, 50) }) + + win.on('blur', menu.onWindowHide) + win.on('focus', menu.onWindowShow) + win.on('enter-full-screen', menu.onToggleFullScreen) win.on('leave-full-screen', menu.onToggleFullScreen) + win.on('close', function (e) { if (process.platform === 'darwin' && !isQuitting) { e.preventDefault()