Browse Source

Merge pull request #7908 from vector-im/dbkr/electron_singleinstance_apiupdate

Update to new electron single instance API
pull/7914/head
David Baker 4 years ago committed by GitHub
parent
commit
5a549519a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      electron_app/src/electron-main.js

28
electron_app/src/electron-main.js

@ -100,24 +100,12 @@ ipcMain.on('app_onAction', function(ev, payload) {
app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
// If other instance launched with --hidden then skip showing window
if (commandLine.includes('--hidden')) return;
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (!mainWindow.isVisible()) mainWindow.show();
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.focus();
}
});
if (shouldQuit) {
const gotLock = app.requestSingleInstanceLock();
if (!gotLock) {
console.log('Other instance detected: exiting');
app.exit();
}
const launcher = new AutoLaunch({
name: vectorConfig.brand || 'Riot',
isHidden: true,
@ -268,6 +256,18 @@ app.on('before-quit', () => {
}
});
app.on('second-instance', (ev, commandLine, workingDirectory) => {
// If other instance launched with --hidden then skip showing window
if (commandLine.includes('--hidden')) return;
// Someone tried to run a second instance, we should focus our window.
if (mainWindow) {
if (!mainWindow.isVisible()) mainWindow.show();
if (mainWindow.isMinimized()) mainWindow.restore();
mainWindow.focus();
}
});
// Set the App User Model ID to match what the squirrel
// installer uses for the shortcut icon.
// This makes notifications work on windows 8.1 (and is

Loading…
Cancel
Save