From 1bce876faee6200faa21b312a42f2cb98b3f9b20 Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Mon, 4 Jul 2016 09:01:26 +0200 Subject: [PATCH 1/4] Updated electron to newest version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fec74e54..3e7b574d 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "electron-builder": "5.2.1", "electron-connect": "^0.3.7", "electron-packager": "^7.0.1", - "electron-prebuilt": "1.2.6", + "electron-prebuilt": "1.2.7", "electron-winstaller": "^2.2.0", "esformatter": "^0.9.3", "esformatter-jsx": "^5.0.0", From 32a5cd8fe22aab52d4f66071f6eaa106d34f82c7 Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Mon, 4 Jul 2016 09:02:28 +0200 Subject: [PATCH 2/4] Use quit role which is now part of electron https://github.com/electron/electron/pull/6154 --- src/main/menus/app.js | 12 ++---------- src/main/menus/tray.js | 5 +---- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/main/menus/app.js b/src/main/menus/app.js index e5fd6432..a3cba904 100644 --- a/src/main/menus/app.js +++ b/src/main/menus/app.js @@ -39,11 +39,7 @@ var createTemplate = function(mainWindow, config) { label: 'Show All', selector: 'unhideAllApplications:' }, separatorItem, { - label: 'Quit ' + app_name, - accelerator: 'CmdOrCtrl+Q', - click: function(item, focusedWindow) { - electron.app.quit(); - } + role: 'quit' }] : [{ label: 'Settings', accelerator: 'CmdOrCtrl+,', @@ -51,11 +47,7 @@ var createTemplate = function(mainWindow, config) { mainWindow.loadURL('file://' + __dirname + '/browser/settings.html'); } }, separatorItem, { - label: 'Quit', - accelerator: 'CmdOrCtrl+Q', - click: function(item, focusedWindow) { - electron.app.quit(); - } + role: 'quit' }]; template.push({ diff --git a/src/main/menus/tray.js b/src/main/menus/tray.js index 93431e98..4e0b5fa3 100644 --- a/src/main/menus/tray.js +++ b/src/main/menus/tray.js @@ -25,10 +25,7 @@ function createTemplate(mainWindow, config) { }), { type: 'separator' }, { - label: 'Quit', - click: function(item) { - app.quit(); - } + role: 'quit' } ]; return template; From 8c674e5b9f9c294cdb750a95a54b6eb0060e206b Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Mon, 4 Jul 2016 09:04:52 +0200 Subject: [PATCH 3/4] Use togglefullscreen role which is now part of electron https://github.com/electron/electron/pull/6166 --- src/main/menus/app.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/main/menus/app.js b/src/main/menus/app.js index a3cba904..a3d18b29 100644 --- a/src/main/menus/app.js +++ b/src/main/menus/app.js @@ -115,20 +115,7 @@ var createTemplate = function(mainWindow, config) { } } }, { - label: 'Toggle Full Screen', - accelerator: (function() { - if (process.platform === 'darwin') { - return 'Ctrl+Command+F'; - } - else { - return 'F11'; - } - })(), - click: function(item, focusedWindow) { - if (focusedWindow) { - focusedWindow.setFullScreen(!focusedWindow.isFullScreen()); - } - } + role: 'togglefullscreen' }, separatorItem, { label: 'Actual Size', accelerator: 'CmdOrCtrl+0', From 932f7565706651d7af58ec741c265f9778370895 Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Mon, 4 Jul 2016 09:19:41 +0200 Subject: [PATCH 4/4] Use the default electron roles and their naming/implemenation See: https://github.com/electron/electron/pull/6190/files --- src/browser/menus/context.js | 4 ---- src/main.js | 4 ++++ src/main/menus/app.js | 45 ++++++++---------------------------- 3 files changed, 14 insertions(+), 39 deletions(-) diff --git a/src/browser/menus/context.js b/src/browser/menus/context.js index 7183f7c3..1e33d1b5 100644 --- a/src/browser/menus/context.js +++ b/src/browser/menus/context.js @@ -7,19 +7,15 @@ const MenuItem = remote.MenuItem; var createDefault = function() { var menu = new Menu(); menu.append(new MenuItem({ - label: 'Cut', role: 'cut' })); menu.append(new MenuItem({ - label: 'Copy', role: 'copy' })); menu.append(new MenuItem({ - label: 'Paste', role: 'paste' })); menu.append(new MenuItem({ - label: 'Select All', role: 'selectall' })); return menu; diff --git a/src/main.js b/src/main.js index 5d1c7bc6..b4555909 100644 --- a/src/main.js +++ b/src/main.js @@ -163,6 +163,10 @@ app.on('activate', function(event) { }); app.on('before-quit', function() { + // Make sure tray icon gets removed if the user exits via CTRL-Q + if (process.platform === 'win32') { + trayIcon.destroy(); + } willAppQuit = true; }); diff --git a/src/main/menus/app.js b/src/main/menus/app.js index a3d18b29..b3e918f6 100644 --- a/src/main/menus/app.js +++ b/src/main/menus/app.js @@ -28,16 +28,11 @@ var createTemplate = function(mainWindow, config) { mainWindow.loadURL('file://' + __dirname + '/browser/settings.html'); } }, separatorItem, { - label: 'Hide ' + app_name, - accelerator: 'Command+H', - selector: 'hide:' + role: 'hide' }, { - label: 'Hide Others', - accelerator: 'Command+Shift+H', - selector: 'hideOtherApplications:' + role: 'hideothers' }, { - label: 'Show All', - selector: 'unhideAllApplications:' + role: 'unhide' }, separatorItem, { role: 'quit' }] : [{ @@ -47,7 +42,11 @@ var createTemplate = function(mainWindow, config) { mainWindow.loadURL('file://' + __dirname + '/browser/settings.html'); } }, separatorItem, { - role: 'quit' + role: 'quit', + accelerator: 'CmdOrCtrl+Q', + click: function(item, focusedWindow) { + electron.app.quit(); + } }]; template.push({ @@ -59,28 +58,16 @@ var createTemplate = function(mainWindow, config) { template.push({ label: '&Edit', submenu: [{ - label: 'Undo', - accelerator: 'CmdOrCtrl+Z', role: 'undo' }, { - label: 'Redo', - accelerator: 'Shift+CmdOrCtrl+Z', role: 'redo' }, separatorItem, { - label: 'Cut', - accelerator: 'CmdOrCtrl+X', role: 'cut' }, { - label: 'Copy', - accelerator: 'CmdOrCtrl+C', role: 'copy' }, { - label: 'Paste', - accelerator: 'CmdOrCtrl+V', role: 'paste' }, { - label: 'Select All', - accelerator: 'CmdOrCtrl+A', role: 'selectall' }, ] }); @@ -155,21 +142,9 @@ var createTemplate = function(mainWindow, config) { const window_menu = { label: '&Window', submenu: [{ - label: 'Minimize', - accelerator: 'CmdOrCtrl+M', - click: function(item, focusedWindow) { - if (focusedWindow) { - focusedWindow.minimize(); - } - } + role: 'minimize' }, { - label: 'Close', - accelerator: 'CmdOrCtrl+W', - click: function(item, focusedWindow) { - if (focusedWindow) { - focusedWindow.close(); - } - } + role: 'close' }, separatorItem, ...config.teams.slice(0, 9).map((team, i) => { return { label: team.name,