2026-05-01 20:39:09 +08:00
|
|
|
import { app } from 'electron/main'
|
2026-04-19 14:18:20 +08:00
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
let initialized = false
|
2026-04-19 14:18:20 +08:00
|
|
|
|
2026-05-07 12:07:28 +08:00
|
|
|
export function initSingleInstance(onSecondInstance?: (argv: string[]) => void): boolean {
|
2026-04-19 14:18:20 +08:00
|
|
|
if (initialized) {
|
2026-05-01 20:39:09 +08:00
|
|
|
return true
|
2026-04-19 14:18:20 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
initialized = true
|
|
|
|
|
const hasLock = app.requestSingleInstanceLock()
|
2026-04-19 14:18:20 +08:00
|
|
|
if (!hasLock) {
|
2026-05-01 20:39:09 +08:00
|
|
|
return false
|
2026-04-19 14:18:20 +08:00
|
|
|
}
|
|
|
|
|
|
2026-05-07 12:07:28 +08:00
|
|
|
app.on('second-instance', (_event, argv) => {
|
|
|
|
|
onSecondInstance?.(argv)
|
2026-05-01 20:39:09 +08:00
|
|
|
})
|
2026-04-19 14:18:20 +08:00
|
|
|
|
2026-05-01 20:39:09 +08:00
|
|
|
return true
|
2026-04-19 14:18:20 +08:00
|
|
|
}
|