UNPKG

electron-multi-monitor

Version:

Create multi monitor applications using web development

37 lines (36 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const electron_1 = require("electron"); const ElectronMultiMonitor_1 = require("../browser/ElectronMultiMonitor"); // import { contextBridge } from "electron"; console.warn("Loading preload/Main.js..."); const currentMonitor = electron_1.remote.getCurrentWindow(); // contextBridge.exposeInMainWorld("currentMonitor", currentMonitor); window.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); // contextBridge.exposeInMainWorld("electronMultiMonitor", electronMultiMonitor); window.electronMultiMonitor = electronMultiMonitor; const { href } = window.location; for (let i = 0; i < numberOfOthersToOpen; i++) { window.open(href, `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!"); const opener = window.opener; console.warn("window.opener", opener); // contextBridge.exposeInMainWorld("customOpener", 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); // contextBridge.exposeInMainWorld("mainWindow", mainWindow); window.mainWindow = mainWindow; } console.warn("Loaded preload/Main.js...");