mirror of https://github.com/vector-im/riot-web
Merge pull request #7908 from vector-im/dbkr/electron_singleinstance_apiupdate
Update to new electron single instance APIpull/7914/head
commit
5a549519a6
|
@ -100,24 +100,12 @@ ipcMain.on('app_onAction', function(ev, payload) {
|
||||||
|
|
||||||
app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
|
app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
|
||||||
|
|
||||||
const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
|
const gotLock = app.requestSingleInstanceLock();
|
||||||
// If other instance launched with --hidden then skip showing window
|
if (!gotLock) {
|
||||||
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) {
|
|
||||||
console.log('Other instance detected: exiting');
|
console.log('Other instance detected: exiting');
|
||||||
app.exit();
|
app.exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const launcher = new AutoLaunch({
|
const launcher = new AutoLaunch({
|
||||||
name: vectorConfig.brand || 'Riot',
|
name: vectorConfig.brand || 'Riot',
|
||||||
isHidden: true,
|
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
|
// Set the App User Model ID to match what the squirrel
|
||||||
// installer uses for the shortcut icon.
|
// installer uses for the shortcut icon.
|
||||||
// This makes notifications work on windows 8.1 (and is
|
// This makes notifications work on windows 8.1 (and is
|
||||||
|
|
Loading…
Reference in New Issue