From 228444889dabfc23c87727ddc879b01f40e97a7f Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Mon, 27 Jun 2016 15:57:59 -0400 Subject: #275 - upgraded electron chrome and some other tweaks Former-commit-id: cedefb2be8be6dd09a6c2ea27d449523aada1b64 --- electron_js/main.js | 92 +++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 49 deletions(-) (limited to 'electron_js/main.js') diff --git a/electron_js/main.js b/electron_js/main.js index 65093313..ae3ad75a 100644 --- a/electron_js/main.js +++ b/electron_js/main.js @@ -1,24 +1,20 @@ -var app = require('app'); // Module to control application life. -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(); +const electron = require('electron'); +// Module to control application life. +const {app} = electron; +// Module to create native browser window. +const {BrowserWindow} = electron; // 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; - +// be closed automatically when the JavaScript object is garbage collected. +let win; +app.commandLine.appendSwitch ('ignore-certificate-errors', 'true'); -// 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(); +const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => { + // Someone tried to run a second instance, we should focus our window. + if (win) { + if (win.isMinimized()) win.restore(); + win.focus(); } - return true; }); if (shouldQuit) { @@ -26,46 +22,44 @@ if (shouldQuit) { 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') { - 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({ 'node-integration':false, '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 -// initialization and is ready to create browser windows. -app.on('ready', function() { +function createWindow() { // Create the browser window. - mainWindow = new BrowserWindow({'node-integration':false, 'width':1024, 'height':900}); + win = new BrowserWindow({width: 1024, height: 900, webPreferences:{nodeIntegration:false}}); // and load the index.html of the app. - mainWindow.loadUrl('file://' + __dirname + '/index.html'); + win.loadURL(`file://${__dirname}/index.html`); + + // Open the DevTools. + //win.webContents.openDevTools(); // Emitted when the window is closed. - mainWindow.on('closed', function() { + win.on('closed', () => { // Dereference the window object, usually you would store windows // in an array if your app supports multi windows, this is the time // when you should delete the corresponding element. - - mainWindow = null; + win = null; }); +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.on('ready', createWindow); + +// Quit when all windows are closed. +app.on('window-all-closed', () => { + // On macOS it is common for applications and their menu bar + // to stay active until the user quits explicitly with Cmd + Q + if (process.platform !== 'darwin') { + app.quit(); + } +}); + +app.on('activate', () => { + // On macOS it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (win === null) { + createWindow(); + } }); -- cgit v1.2.3