2026-02-04 11:25:30 +01:00
|
|
|
import type { Socket } from "net";
|
|
|
|
|
import { screen } from "electron";
|
2017-10-23 19:08:10 +02:00
|
|
|
|
2026-02-04 11:25:30 +01:00
|
|
|
let electronSocket: Socket;
|
2017-10-23 19:08:10 +02:00
|
|
|
|
2026-02-04 11:25:30 +01:00
|
|
|
export = (socket: Socket) => {
|
|
|
|
|
electronSocket = socket;
|
|
|
|
|
|
|
|
|
|
socket.on("register-screen-display-added", (id) => {
|
|
|
|
|
screen.on("display-added", (event, display) => {
|
|
|
|
|
electronSocket.emit("screen-display-added" + id, display);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("register-screen-display-removed", (id) => {
|
|
|
|
|
screen.on("display-removed", (event, display) => {
|
|
|
|
|
electronSocket.emit("screen-display-removed" + id, display);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("register-screen-display-metrics-changed", (id) => {
|
|
|
|
|
screen.on("display-metrics-changed", (event, display, changedMetrics) => {
|
|
|
|
|
electronSocket.emit("screen-display-metrics-changed" + id, [
|
|
|
|
|
display,
|
|
|
|
|
changedMetrics,
|
|
|
|
|
]);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("screen-getCursorScreenPoint", () => {
|
|
|
|
|
const point = screen.getCursorScreenPoint();
|
|
|
|
|
electronSocket.emit("screen-getCursorScreenPoint-completed", point);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("screen-getMenuBarWorkArea", () => {
|
|
|
|
|
const height = screen.getPrimaryDisplay().workArea;
|
|
|
|
|
electronSocket.emit("screen-getMenuBarWorkArea-completed", height);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("screen-getPrimaryDisplay", () => {
|
|
|
|
|
const display = screen.getPrimaryDisplay();
|
|
|
|
|
electronSocket.emit("screen-getPrimaryDisplay-completed", display);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("screen-getAllDisplays", () => {
|
|
|
|
|
const display = screen.getAllDisplays();
|
|
|
|
|
electronSocket.emit("screen-getAllDisplays-completed", display);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("screen-getDisplayNearestPoint", (point) => {
|
|
|
|
|
const display = screen.getDisplayNearestPoint(point);
|
|
|
|
|
electronSocket.emit("screen-getDisplayNearestPoint-completed", display);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
socket.on("screen-getDisplayMatching", (rectangle) => {
|
|
|
|
|
const display = screen.getDisplayMatching(rectangle);
|
|
|
|
|
electronSocket.emit("screen-getDisplayMatching-completed", display);
|
|
|
|
|
});
|
2019-01-04 03:27:12 +01:00
|
|
|
};
|