armcord/src/ipc.ts

81 lines
2.6 KiB
TypeScript
Raw Normal View History

2022-01-30 19:48:32 +00:00
//ipc stuff
2022-03-04 17:53:18 +00:00
import {app, ipcMain, shell, desktopCapturer} from "electron";
import {createTabsGuest, mainWindow} from "./window";
import {setConfigBulk, getVersion, getConfig} from "./utils";
import {customTitlebar, tabs} from "./main";
2022-03-04 17:53:18 +00:00
import {createSettingsWindow} from "./settings/main";
2022-01-30 19:48:32 +00:00
export function registerIpc() {
2022-03-04 17:53:18 +00:00
ipcMain.on("get-app-path", (event, arg) => {
event.reply("app-path", app.getAppPath());
});
ipcMain.on("openTab", (event, number: number) => {
createTabsGuest(number);
});
ipcMain.on("open-external-link", (event, href: string) => {
shell.openExternal(href);
});
ipcMain.on("win-maximize", (event, arg) => {
mainWindow.maximize();
});
ipcMain.on("win-isMaximized", (event, arg) => {
event.returnValue = mainWindow.isMaximized();
});
ipcMain.on("win-minimize", (event, arg) => {
mainWindow.minimize();
});
ipcMain.on("win-unmaximize", (event, arg) => {
mainWindow.unmaximize();
});
ipcMain.on("win-show", (event, arg) => {
mainWindow.show();
});
ipcMain.on("win-hide", (event, arg) => {
mainWindow.hide();
});
ipcMain.on("win-quit", (event, arg) => {
app.exit();
});
ipcMain.on("get-app-version", (event) => {
event.returnValue = getVersion();
});
ipcMain.on("splashEnd", (event, arg) => {
mainWindow.setSize(800, 600);
});
ipcMain.on("restart", (event, arg) => {
app.relaunch();
app.exit();
});
ipcMain.on("saveSettings", (event, args) => {
2022-04-18 10:25:10 +00:00
setConfigBulk(args);
2022-03-04 17:53:18 +00:00
});
ipcMain.on("minimizeToTray", async (event) => {
event.returnValue = await getConfig("minimizeToTray");
2022-03-04 17:53:18 +00:00
});
ipcMain.on("channel", async (event) => {
event.returnValue = await getConfig("channel");
2022-03-04 17:53:18 +00:00
});
ipcMain.on("clientmod", async (event, arg) => {
event.returnValue = await getConfig("mods");
2022-03-04 17:53:18 +00:00
});
ipcMain.on("titlebar", (event, arg) => {
event.returnValue = customTitlebar;
});
ipcMain.on("tabs", (event, arg) => {
event.returnValue = tabs;
});
ipcMain.on("shouldPatch", async (event, arg) => {
event.returnValue = await getConfig("automaticPatches");
2022-03-04 17:53:18 +00:00
});
ipcMain.on("openSettingsWindow", (event, arg) => {
createSettingsWindow();
});
ipcMain.on("setting-armcordCSP", async (event) => {
if (await getConfig("armcordCSP")) {
2022-03-04 17:53:18 +00:00
event.returnValue = true;
} else {
event.returnValue = false;
}
});
ipcMain.handle("DESKTOP_CAPTURER_GET_SOURCES", (event, opts) => desktopCapturer.getSources(opts));
2022-01-30 19:48:32 +00:00
}