diff options
| author | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-11-08 14:30:14 -0500 |
|---|---|---|
| committer | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-11-08 14:30:14 -0500 |
| commit | 770bb8b52481cdcae26464a5112746e775b861c2 (patch) | |
| tree | 585f49983557233a715585cf03c53376f1b652e8 /electron_js/main.js | |
| parent | 58f31ac0932954cec75392ceca696b8bb181ded9 (diff) | |
OSX UI attach/detach handling
Former-commit-id: 851c04c376a97272431da208f0986c466c94008b
Diffstat (limited to 'electron_js/main.js')
| -rw-r--r-- | electron_js/main.js | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/electron_js/main.js b/electron_js/main.js index 3dfb8d6b..b2c53b41 100644 --- a/electron_js/main.js +++ b/electron_js/main.js @@ -3,19 +3,52 @@ app.commandLine.appendSwitch ('ignore-certificate-errors', 'true'); var BrowserWindow = require('browser-window'); // Module to create native browser window. // Report crashes to our server. -require('crash-reporter').start(); +//require('crash-reporter').start(); // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is GCed. var mainWindow = null; + +// Make sure zmNinja is a single instance app, even if launched from +// terminal +var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) { + // Someone tried to run a second instance, we should focus our window + if (mainWindow) { + if (mainWindow.isMinimized()) mainWindow.restore(); + mainWindow.focus(); + } + return true; +}); + +if (shouldQuit) { + app.quit(); + return; +} + // Quit when all windows are closed. app.on('window-all-closed', function() { // On OS X it is common for applications and their menu bar // to stay active until the user quits explicitly with Cmd + Q - //if (process.platform != 'darwin') { + if (process.platform != 'darwin') { app.quit(); - //} + } + +}); + +// OSX only callback - takes care of spawning +// a new app window if needed +app.on('activate', function() +{ + if (mainWindow==null) + { + mainWindow = new BrowserWindow({width:1024, height:900}); + mainWindow.loadUrl('file://' + __dirname + '/index.html'); + mainWindow.on('closed', function() { + + mainWindow = null; + }); + } }); // This method will be called when Electron has finished |
