From fa4033937e3b80554c037efd357b5fd6159372cf Mon Sep 17 00:00:00 2001 From: Leo Lamprecht Date: Mon, 18 Jul 2016 18:44:33 +0200 Subject: [PATCH] Bring focus to main window when clicking preferences (#235) --- index.js | 7 ++++++- menu.js | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 60a83583..c832de99 100644 --- a/index.js +++ b/index.js @@ -41,10 +41,10 @@ app.on('window-all-closed', () => { }); let winCount = 0; - app.on('ready', () => { function createWindow (fn) { const cfg = plugins.getDecoratedConfig(); + const win = new BrowserWindow({ width: 540, height: 380, @@ -59,6 +59,7 @@ app.on('ready', () => { // is ready for user input show: process.env.HYPERTERM_DEBUG || isDev }); + winCount++; win.loadURL(url); @@ -72,6 +73,7 @@ app.on('ready', () => { rpc.on('init', () => { win.show(); + if (fn) fn(win); // auto updates if (!isDev) { @@ -112,6 +114,7 @@ app.on('ready', () => { // on Session and focus/blur to subscribe rpc.on('focus', ({ uid }) => { const session = sessions.get(uid); + if (session) { session.focus(); } else { @@ -121,6 +124,7 @@ app.on('ready', () => { rpc.on('blur', ({ uid }) => { const session = sessions.get(uid); + if (session) { session.blur(); } else { @@ -218,6 +222,7 @@ app.on('ready', () => { plugins.updatePlugins({ force: true }); } })); + Menu.setApplicationMenu(Menu.buildFromTemplate(tpl)); }; diff --git a/menu.js b/menu.js index 5ec18b12..f07e3a00 100644 --- a/menu.js +++ b/menu.js @@ -23,6 +23,8 @@ module.exports = function createMenu ({ createWindow, updatePlugins }) { click (item, focusedWindow) { if (focusedWindow) { focusedWindow.rpc.emit('preferences'); + } else { + createWindow(win => win.rpc.emit('preferences')); } } },