From 02380f39ae23045318556ed975809adbd0160fe0 Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Thu, 21 Sep 2017 14:31:10 -0400 Subject: added other files, also fixed xwalk --- electron_js/main.js | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 electron_js/main.js (limited to 'electron_js/main.js') diff --git a/electron_js/main.js b/electron_js/main.js new file mode 100644 index 00000000..7aae0ea0 --- /dev/null +++ b/electron_js/main.js @@ -0,0 +1,112 @@ +const electron = require('electron'); +const windowStateKeeper = require('electron-window-state'); +const {app, globalShortcut} = electron; + +// Module to create native browser window. +const {BrowserWindow} = electron; +var isFs = false; + + + + + +// Keep a global reference of the window object, if you don't, the window will +// be closed automatically when the JavaScript object is garbage collected. +let win; +app.commandLine.appendSwitch ('ignore-certificate-errors', 'true'); + +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(); + } +}); + +if (shouldQuit) { + app.quit(); + return; +} + + +function createWindow() { + +const mx = globalShortcut.register('CommandOrControl+Alt+F', () => { + console.log('CommandOrControl+F is pressed'); + isFs = !isFs; + win.setFullScreen(isFs); + }) + + const dbgx = globalShortcut.register('CommandOrControl+Alt+D', () => { + console.log('CommandOrControl+Alt+D is pressed'); + win.webContents.openDevTools(); + }) + + + // Create the browser window. + let mainWindowState = windowStateKeeper({ + defaultWidth: 1000, + defaultHeight: 800, + webPreferences:{nodeIntegration:false} + + }); + win = new BrowserWindow({ + x: mainWindowState.x, + y: mainWindowState.y, + width: mainWindowState.width, + height: mainWindowState.height, + webPreferences:{nodeIntegration:false}}); + + mainWindowState.manage(win); + // fs will be arg 1 if its not run in electron debug mode + if (process.argv.slice(1)=='fs' || process.argv.slice(2)=='fs') + { + win.setFullScreen(true); + isFs = true; + } + + + + // and load the index.html of the app. + win.loadURL(`file://${__dirname}/index.html`); + + // Open the DevTools. + //win.webContents.openDevTools(); + + // Emitted when the window is closed. + 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. + 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(); + } +}); + +app.on('will-quit', () => { + // Unregister all shortcuts. + globalShortcut.unregisterAll() +}); -- cgit v1.2.3