diff --git a/electron_app/src/electron-main.js b/electron_app/src/electron-main.js index b0d4de4c21..5f9598afaf 100644 --- a/electron_app/src/electron-main.js +++ b/electron_app/src/electron-main.js @@ -185,7 +185,7 @@ electron.app.on('ready', () => { defaultHeight: 768, }); - mainWindow = new electron.BrowserWindow({ + mainWindow = global.mainWindow = new electron.BrowserWindow({ icon: iconPath, show: false, autoHideMenuBar: true, @@ -203,7 +203,7 @@ electron.app.on('ready', () => { mainWindow.hide(); // Create trayIcon icon - tray.create(mainWindow, { + tray.create({ icon_path: iconPath, brand: vectorConfig.brand || 'Riot', }); @@ -215,7 +215,7 @@ electron.app.on('ready', () => { } mainWindow.on('closed', () => { - mainWindow = null; + mainWindow = global.mainWindow = null; }); mainWindow.on('close', (e) => { if (!global.appQuitting && (tray.hasTray() || process.platform === 'darwin')) { diff --git a/electron_app/src/tray.js b/electron_app/src/tray.js index 039e7133fa..4225e1f6f3 100644 --- a/electron_app/src/tray.js +++ b/electron_app/src/tray.js @@ -26,17 +26,17 @@ exports.hasTray = function hasTray() { return (trayIcon !== null); }; -exports.create = function(win, config) { +exports.create = function(config) { // no trays on darwin if (process.platform === 'darwin' || trayIcon) return; const toggleWin = function() { - if (win.isVisible() && !win.isMinimized()) { - win.hide(); + if (global.mainWindow.isVisible() && !global.mainWindow.isMinimized()) { + global.mainWindow.hide(); } else { - if (win.isMinimized()) win.restore(); - if (!win.isVisible()) win.show(); - win.focus(); + if (global.mainWindow.isMinimized()) global.mainWindow.restore(); + if (!global.mainWindow.isVisible()) global.mainWindow.show(); + global.mainWindow.focus(); } }; @@ -60,7 +60,7 @@ exports.create = function(win, config) { trayIcon.on('click', toggleWin); let lastFavicon = null; - win.webContents.on('page-favicon-updated', async function(ev, favicons) { + global.mainWindow.webContents.on('page-favicon-updated', async function(ev, favicons) { let newFavicon = config.icon_path; if (favicons && favicons.length > 0 && favicons[0].startsWith('data:')) { newFavicon = favicons[0]; @@ -85,10 +85,10 @@ exports.create = function(win, config) { } trayIcon.setImage(newFavicon); - win.setIcon(newFavicon); + global.mainWindow.setIcon(newFavicon); }); - win.webContents.on('page-title-updated', function(ev, title) { + global.mainWindow.webContents.on('page-title-updated', function(ev, title) { trayIcon.setToolTip(title); }); }; diff --git a/electron_app/src/updater.js b/electron_app/src/updater.js index 106e3d2f23..49fa4e0419 100644 --- a/electron_app/src/updater.js +++ b/electron_app/src/updater.js @@ -67,17 +67,11 @@ module.exports.start = function startAutoUpdate(updateBaseUrl) { } ipcMain.on('install_update', installUpdate); - -let ipcChannel; -ipcMain.on('check_updates', function(event) { - ipcChannel = event.sender; - pollForUpdates(); - // event.sender.send('check_updates') // true/false/error = available(downloading)/notAvailable/error -}); +ipcMain.on('check_updates', pollForUpdates); function ipcChannelSendUpdateStatus(status) { - if (ipcChannel) { - ipcChannel.send('check_updates', status); + if (global.mainWindow) { + global.mainWindow.webContents.send('check_updates', status); } }