feat: add instance lock and second instance handling
This commit is contained in:
parent
0cc460a4a3
commit
72e847258d
@ -7,6 +7,11 @@ import { registerZoomShortcut } from './shortcut'
|
|||||||
import { updateUserDataPath } from './utils/upgrade'
|
import { updateUserDataPath } from './utils/upgrade'
|
||||||
import { createMainWindow } from './window'
|
import { createMainWindow } from './window'
|
||||||
|
|
||||||
|
// Check for single instance lock
|
||||||
|
if (!app.requestSingleInstanceLock()) {
|
||||||
|
app.quit()
|
||||||
|
}
|
||||||
|
|
||||||
// This method will be called when Electron has finished
|
// This method will be called when Electron has finished
|
||||||
// initialization and is ready to create browser windows.
|
// initialization and is ready to create browser windows.
|
||||||
// Some APIs can only be used after this event occurs.
|
// Some APIs can only be used after this event occurs.
|
||||||
@ -42,6 +47,15 @@ app.whenReady().then(async () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Listen for second instance
|
||||||
|
app.on('second-instance', () => {
|
||||||
|
const mainWindow = BrowserWindow.getAllWindows()[0]
|
||||||
|
if (mainWindow) {
|
||||||
|
mainWindow.isMinimized() && mainWindow.restore()
|
||||||
|
mainWindow.focus()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
// Quit when all windows are closed, except on macOS. There, it's common
|
// Quit when all windows are closed, except on macOS. There, it's common
|
||||||
// for applications and their menu bar to stay active until the user quits
|
// for applications and their menu bar to stay active until the user quits
|
||||||
// explicitly with Cmd + Q.
|
// explicitly with Cmd + Q.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user