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');
 | 
			
		||||
 | 
			
		||||
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…
	
		Reference in New Issue