28 lines
882 B
TypeScript
28 lines
882 B
TypeScript
import { contextBridge, ipcRenderer } from "electron";
|
|
|
|
import { version } from "../../package.json";
|
|
|
|
contextBridge.exposeInMainWorld("native", {
|
|
versions: {
|
|
node: () => process.versions.node,
|
|
chrome: () => process.versions.chrome,
|
|
electron: () => process.versions.electron,
|
|
desktop: () => version,
|
|
},
|
|
|
|
minimise: () => ipcRenderer.send("minimise"),
|
|
maximise: () => ipcRenderer.send("maximise"),
|
|
close: () => ipcRenderer.send("close"),
|
|
|
|
setBadgeCount: (count: number) => ipcRenderer.send("setBadgeCount", count),
|
|
|
|
// Wrapped in braces to return void
|
|
onceScreenPicker: (
|
|
onScreenPick: (sources: { idx: number; name: string }[]) => void,
|
|
) => {
|
|
ipcRenderer.once("screenPicker", (_, sources) => onScreenPick(sources));
|
|
},
|
|
screenPickerCallback: (idx: number, audio: boolean) =>
|
|
ipcRenderer.send("screenPickerCallback", idx, audio),
|
|
});
|