UNPKG

electron-multi-monitor

Version:

Create multi monitor applications using web development

33 lines (32 loc) 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const electron_1 = require("electron"); const ElectronMultiMonitor_1 = require("../browser/ElectronMultiMonitor"); //TODO Delete this file console.warn("Loading preload/Main.js..."); const currentMonitor = electron_1.remote.getCurrentWindow(); electron_1.contextBridge.exposeInMainWorld("currentMonitor", currentMonitor); console.log("currentMonitor: ", currentMonitor); const { numberOfOthersToOpen } = currentMonitor; if (typeof (numberOfOthersToOpen) !== "undefined") { console.log("🔳 Main monitor"); const numberOfMonitors = numberOfOthersToOpen + 1; const electronMultiMonitor = new ElectronMultiMonitor_1.ElectronMultiMonitor(window, numberOfMonitors); electron_1.contextBridge.exposeInMainWorld("electronMultiMonitor", electronMultiMonitor); for (let i = 0; i < numberOfOthersToOpen; i++) { window.open("about:blank", `MM-other-${i}`); } } else { console.log("🔳 Other monitor"); if (!window.opener) throw new Error("This should be an 'other monitor' but there's no window.opener defined! Can't connect the multiple monitors!"); console.warn("window.opener", window.opener); const opener = window.opener; const { electronMultiMonitor } = opener; if (!electronMultiMonitor) throw new Error("This should be an 'other monitor' but the window.opener has no 'electronMultiMonitor' object! Can't connect the multiple monitors!"); const mainWindow = electronMultiMonitor.registerOtherMonitor(window); electron_1.contextBridge.exposeInMainWorld("mainWindow", mainWindow); } console.warn("Loaded preload/Main.js...");