store window ref globally so when splitting files its easier to access.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2017-06-12 13:47:29 +01:00
parent 53e2ce33b8
commit b6d2ba2019
3 changed files with 15 additions and 21 deletions

View file

@ -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')) {

View file

@ -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);
});
};

View file

@ -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);
}
}