Save state when quitting on OSX
This commit is contained in:
@@ -10,7 +10,10 @@ var trayIcon
|
|||||||
|
|
||||||
function init () {
|
function init () {
|
||||||
// No tray icon on OSX
|
// No tray icon on OSX
|
||||||
if (process.platform === 'darwin') return
|
if (process.platform === 'darwin') {
|
||||||
|
// Instead of relying on the tray icon quit button, listen for Cmd+Q
|
||||||
|
electron.app.once('before-quit', quitApp)
|
||||||
|
}
|
||||||
|
|
||||||
trayIcon = new electron.Tray(path.join(__dirname, '..', 'static', 'WebTorrentSmall.png'))
|
trayIcon = new electron.Tray(path.join(__dirname, '..', 'static', 'WebTorrentSmall.png'))
|
||||||
|
|
||||||
@@ -46,7 +49,8 @@ function hideApp () {
|
|||||||
windows.main.hide()
|
windows.main.hide()
|
||||||
}
|
}
|
||||||
|
|
||||||
function quitApp () {
|
function quitApp (e) {
|
||||||
|
e.preventDefault()
|
||||||
windows.main.send('dispatch', 'saveState') /* try to save state on exit */
|
windows.main.send('dispatch', 'saveState') /* try to save state on exit */
|
||||||
electron.ipcMain.once('savedState', () => electron.app.quit())
|
electron.ipcMain.once('savedState', () => electron.app.quit())
|
||||||
setTimeout(() => electron.app.quit(), 2000) /* exit after at most 2 secs */
|
setTimeout(() => electron.app.quit(), 2000) /* exit after at most 2 secs */
|
||||||
|
|||||||
Reference in New Issue
Block a user