summaryrefslogtreecommitdiff
path: root/electron_js/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'electron_js/main.js')
-rw-r--r--electron_js/main.js112
1 files changed, 112 insertions, 0 deletions
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()
+});