Window is hidden also on minimize and a click on the tray icon toggles the window

This commit is contained in:
Martin Gondermann
2016-06-27 09:06:20 +02:00
parent f85cad72db
commit db4bdd0a9b
3 changed files with 43 additions and 4 deletions

View File

@@ -156,6 +156,7 @@ app.on('browser-window-created', function(event, window) {
// For OSX, show hidden mainWindow when clicking dock icon.
app.on('activate', function(event) {
mainWindow.show();
mainWindow.isHidden = false;
});
app.on('before-quit', function() {
@@ -227,14 +228,29 @@ app.on('ready', function() {
trayIcon.setToolTip(app.getName());
trayIcon.on('click', function() {
mainWindow.show();
if (process.platform === 'win32') {
if (config.minimizeToTray) {
if (mainWindow.isHidden) {
mainWindow.show();
mainWindow.isHidden = false;
} else {
mainWindow.hide();
mainWindow.isHidden = true;
}
}
}
mainWindow.focus();
});
trayIcon.on('right-click', () => {
trayIcon.popUpContextMenu();
});
trayIcon.on('balloon-click', function() {
mainWindow.show();
if (process.platform === 'win32') {
if (config.minimizeToTray) {
mainWindow.show();
mainWindow.isHidden = false;
}
}
mainWindow.focus();
});
ipcMain.on('notified', function(event, arg) {
@@ -348,7 +364,12 @@ app.on('ready', function() {
event.preventDefault();
switch (process.platform) {
case 'win32':
mainWindow.hide();
if (config.minimizeToTray) {
mainWindow.hide();
mainWindow.isHidden = true;
} else {
mainWindow.minimize();
}
break;
case 'linux':
mainWindow.minimize();
@@ -361,6 +382,15 @@ app.on('ready', function() {
}
});
if (process.platform === 'win32') {
mainWindow.on('minimize', function() {
if (config.minimizeToTray) {
mainWindow.hide();
mainWindow.isHidden = true;
}
});
}
// App should save bounds when a window is closed.
// However, 'close' is not fired in some situations(shutdown, ctrl+c)
// because main process is killed in such situations.