const { app, BrowserWindow, Menu, ipcMain, MenuItem, globalShortcut, shell} = require('electron'); const os = require("os"); require('@electron/remote/main').initialize(); const createWindow = () => { const mainWindow = new BrowserWindow({ width: 800, height: 600, fullscreen: true, kiosk: os.platform() === "win32" || os.platform() === "linux" || process.argv.includes("kiosk"), autoHideMenuBar: true, title: "Delta Kiosk", webPreferences: { nodeIntegration: true, contextIsolation: false, webviewTag: true, enableRemoteModule: true } }) require('@electron/remote/main').enable(mainWindow.webContents); ipcMain.on('devtools', () => { mainWindow.send('devtools'); }); let menu = Menu.buildFromTemplate([ new MenuItem({ label: "Electron", submenu: Menu.buildFromTemplate([ new MenuItem({ label: "quit", role: "quit", registerAccelerator: false, accelerator: '' }) ]) }), new MenuItem({ label: "devOptions", submenu: Menu.buildFromTemplate([ new MenuItem({ label: "toggleDevTools", role: "toggleDevTools", registerAccelerator: false, accelerator: '' }), new MenuItem({ label: "forceReload", role: "forceReload", registerAccelerator: false, accelerator: '' }), new MenuItem({ label: "togglefullscreen", role: "togglefullscreen", registerAccelerator: false, accelerator: '' }), new MenuItem({ label: "minimize", role: "minimize", registerAccelerator: false, accelerator: '' }), new MenuItem({ label: "about", role: "about", registerAccelerator: false, accelerator: '' }), new MenuItem({ label: "quit", role: "quit", registerAccelerator: false, accelerator: '' }) ]) }), new MenuItem({ label: "editOptions", submenu: Menu.buildFromTemplate([ new MenuItem({ label: "undo", role: "undo" }), new MenuItem({ label: "redo", role: "redo" }), new MenuItem({ label: "cut", role: "cut" }), new MenuItem({ label: "copy", role: "copy" }), new MenuItem({ label: "paste", role: "paste" }), new MenuItem({ label: "pasteAndMatchStyle", role: "pasteAndMatchStyle" }), new MenuItem({ label: "delete", role: "delete" }), new MenuItem({ label: "selectAll", role: "selectAll" }) ]) }) ]); mainWindow.webContents.setWindowOpenHandler((details) => { return { action: 'deny' }; }); mainWindow.webContents.session.on('will-download', (event, item, webContents) => { item.cancel() }) mainWindow.setMenu(menu); Menu.setApplicationMenu(menu); mainWindow.loadFile('index.html'); } app.whenReady().then(() => { globalShortcut.register('Ctrl+Esc', () => { console.log('Disabled Windows key') }) createWindow() }) app.on('window-all-closed', () => { app.quit(); })