BetterDiscordApp-rauenzi/renderer/src/modules/ipc.js

50 lines
1.2 KiB
JavaScript

import {ipcRenderer as ipc} from "electron";
import Events from "./emitter";
import * as IPCEvents from "common/constants/ipcevents";
export default new class IPCRenderer {
constructor() {
ipc.on(IPCEvents.NAVIGATE, () => Events.dispatch("navigate"));
ipc.on(IPCEvents.MAXIMIZE, () => Events.dispatch("maximize"));
ipc.on(IPCEvents.MINIMIZE, () => Events.dispatch("minimize"));
}
openDevTools() {
return ipc.send(IPCEvents.OPEN_DEVTOOLS);
}
closeDevTools() {
return ipc.send(IPCEvents.CLOSE_DEVTOOLS);
}
relaunch() {
return ipc.send(IPCEvents.RELAUNCH);
}
runScript(script) {
return ipc.invoke(IPCEvents.RUN_SCRIPT, script);
}
openWindow(url, options) {
return ipc.invoke(IPCEvents.OPEN_WINDOW, url, options);
}
inspectElement() {
return ipc.send(IPCEvents.INSPECT_ELEMENT);
}
setMinimumSize(width, height) {
return ipc.send(IPCEvents.MINIMUM_SIZE, width, height);
}
stopDevtoolsWarning() {
return ipc.send(IPCEvents.DEVTOOLS_WARNING);
}
openDialog(options) {
return ipc.invoke(IPCEvents.OPEN_DIALOG, options);
}
};