From 89e4c3570d3f5eca8618776aa6866de6c07c4065 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Sun, 11 Jun 2023 18:50:07 +0200 Subject: [PATCH] Rewrite splash --- src/content/favicon.ico | Bin 24565 -> 0 bytes src/ipc.ts | 27 +++----------- src/main.ts | 10 ++++-- src/preload/bridge.ts | 8 ----- src/preload/preload.ts | 49 ++++++++++++------------- src/splash/main.ts | 23 ++++++++++++ src/splash/preload.ts | 12 +++++++ src/{content => splash}/splash.html | 39 ++++++-------------- src/window.ts | 54 ++++++++++++++-------------- 9 files changed, 107 insertions(+), 115 deletions(-) delete mode 100644 src/content/favicon.ico create mode 100644 src/splash/main.ts create mode 100644 src/splash/preload.ts rename src/{content => splash}/splash.html (57%) diff --git a/src/content/favicon.ico b/src/content/favicon.ico deleted file mode 100644 index 997fd771eedc7ffe7dc80b450a07f517258334e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24565 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 diff --git a/src/ipc.ts b/src/ipc.ts index d5f8d0b..1574f77 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -17,6 +17,7 @@ import {createSettingsWindow} from "./settings/main"; import os from "os"; import path from "path"; import {createTManagerWindow} from "./themeManager/main"; +import {splashWindow} from "./splash/main"; export function registerIpc(): void { ipcMain.on("get-app-path", (event) => { event.reply("app-path", app.getAppPath()); @@ -82,31 +83,11 @@ export function registerIpc(): void { event.returnValue = packageVersion; }); ipcMain.on("splashEnd", async () => { - let width = 835, - height = 600, - isMaximized = true, - xValue = 0, - yValue = 0; - try { - width = (await getWindowState("width")) ?? 835; - height = (await getWindowState("height")) ?? 600; - isMaximized = (await getWindowState("isMaximized")) ?? false; - xValue = await getWindowState("x"); - yValue = await getWindowState("y"); - } catch (_e) { - console.log("[Window state manager] No window state file found. Falling back to default values."); - mainWindow.setSize(835, 600); - } - if (isMaximized) { - mainWindow.setSize(835, 600); //just so the whole thing doesn't cover whole screen - mainWindow.maximize(); - } else { - mainWindow.setSize(width, height); - mainWindow.setPosition(xValue, yValue); - console.log("[Window state manager] Not maximized."); - } + splashWindow.close(); if (await getConfig("startMinimized")) { mainWindow.hide(); + } else { + mainWindow.show(); } }); ipcMain.on("restart", () => { diff --git a/src/main.ts b/src/main.ts index 1180f90..1bb9049 100644 --- a/src/main.ts +++ b/src/main.ts @@ -8,13 +8,16 @@ import { getConfig, injectElectronFlags, installModLoader, - setConfig + modInstallState, + setConfig, + sleep } from "./utils"; import "./extensions/mods"; import "./tray"; -import {createCustomWindow, createNativeWindow, createTransparentWindow} from "./window"; +import {createCustomWindow, createNativeWindow, createTransparentWindow, mainWindow} from "./window"; import path from "path"; import {createTManagerWindow} from "./themeManager/main"; +import {createSplashWindow} from "./splash/main"; export let iconPath: string; export let settings: any; export let customTitlebar: boolean; @@ -82,6 +85,9 @@ if (!app.requestSingleInstanceLock()) { iconPath = path.join(__dirname, "../", "/assets/desktop.png"); } async function init(): Promise { + if ((await getConfig("skipSplash")) == false) { + createSplashWindow(); + } switch (await getConfig("windowStyle")) { case "default": createCustomWindow(); diff --git a/src/preload/bridge.ts b/src/preload/bridge.ts index 8b7b0f4..3a5c298 100644 --- a/src/preload/bridge.ts +++ b/src/preload/bridge.ts @@ -58,7 +58,6 @@ contextBridge.exposeInMainWorld("armcord", { version: ipcRenderer.sendSync("get-app-version", "app-version"), mods: ipcRenderer.sendSync("clientmod"), packageVersion: ipcRenderer.sendSync("get-package-version", "app-version"), - splashEnd: () => ipcRenderer.send("splashEnd"), openSettingsWindow: () => ipcRenderer.send("openSettingsWindow") }); let windowCallback: (arg0: object) => void; @@ -70,10 +69,3 @@ contextBridge.exposeInMainWorld("ArmCordRPC", { ipcRenderer.on("rpc", (_event, data: object) => { windowCallback(data); }); -//to be only used inside armcord internal setup/splash etc -if (window.location.href.indexOf("splash.html") > -1 || window.location.href.indexOf("setup.html") > -1) { - contextBridge.exposeInMainWorld("armcordinternal", { - restart: () => ipcRenderer.send("restart"), - installState: ipcRenderer.sendSync("modInstallState") - }); -} diff --git a/src/preload/preload.ts b/src/preload/preload.ts index 2b1dd5c..635f0a3 100644 --- a/src/preload/preload.ts +++ b/src/preload/preload.ts @@ -32,18 +32,16 @@ console.log(`ArmCord ${version}`); ipcRenderer.on("themeLoader", (_event, message) => { addStyle(message); }); -if (window.location.href.indexOf("splash.html") > -1) { - console.log("Skipping titlebar injection and client mod injection."); -} else { - if (ipcRenderer.sendSync("titlebar")) { - injectTitlebar(); - } - if (ipcRenderer.sendSync("mobileMode")) { - injectMobileStuff(); - } - sleep(5000).then(async () => { - // dirty hack to make clicking notifications focus ArmCord - addScript(` + +if (ipcRenderer.sendSync("titlebar")) { + injectTitlebar(); +} +if (ipcRenderer.sendSync("mobileMode")) { + injectMobileStuff(); +} +sleep(5000).then(async () => { + // dirty hack to make clicking notifications focus ArmCord + addScript(` (() => { const originalSetter = Object.getOwnPropertyDescriptor(Notification.prototype, "onclick").set; Object.defineProperty(Notification.prototype, "onclick", { @@ -57,21 +55,20 @@ if (window.location.href.indexOf("splash.html") > -1) { }); })(); `); - if (ipcRenderer.sendSync("disableAutogain")) { - addScript(fs.readFileSync(path.join(__dirname, "../", "/content/js/disableAutogain.js"), "utf8")); + if (ipcRenderer.sendSync("disableAutogain")) { + addScript(fs.readFileSync(path.join(__dirname, "../", "/content/js/disableAutogain.js"), "utf8")); + } + addScript(fs.readFileSync(path.join(__dirname, "../", "/content/js/rpc.js"), "utf8")); + const cssPath = path.join(__dirname, "../", "/content/css/discord.css"); + addStyle(fs.readFileSync(cssPath, "utf8")); + if (document.getElementById("window-controls-container") == null) { + console.warn("Titlebar didn't inject, retrying..."); + if (ipcRenderer.sendSync("titlebar")) { + fixTitlebar(); } - addScript(fs.readFileSync(path.join(__dirname, "../", "/content/js/rpc.js"), "utf8")); - const cssPath = path.join(__dirname, "../", "/content/css/discord.css"); - addStyle(fs.readFileSync(cssPath, "utf8")); - if (document.getElementById("window-controls-container") == null) { - console.warn("Titlebar didn't inject, retrying..."); - if (ipcRenderer.sendSync("titlebar")) { - fixTitlebar(); - } - } - await updateLang(); - }); -} + } + await updateLang(); +}); // Settings info version injection setInterval(() => { diff --git a/src/splash/main.ts b/src/splash/main.ts new file mode 100644 index 0000000..948e0b3 --- /dev/null +++ b/src/splash/main.ts @@ -0,0 +1,23 @@ +import {BrowserWindow} from "electron"; +import {iconPath} from "../main"; +import path from "path"; + +export let splashWindow: BrowserWindow; +export async function createSplashWindow(): Promise { + splashWindow = new BrowserWindow({ + width: 300, + height: 350, + title: "ArmCord", + show: true, + darkTheme: true, + icon: iconPath, + frame: false, + backgroundColor: "#202225", + autoHideMenuBar: true, + webPreferences: { + sandbox: false, + preload: path.join(__dirname, "preload.js") + } + }); + splashWindow.loadURL(`file://${__dirname}/splash.html`); +} diff --git a/src/splash/preload.ts b/src/splash/preload.ts new file mode 100644 index 0000000..5fb7182 --- /dev/null +++ b/src/splash/preload.ts @@ -0,0 +1,12 @@ +import {contextBridge, ipcRenderer} from "electron"; + +contextBridge.exposeInMainWorld("internal", { + restart: () => ipcRenderer.send("restart"), + installState: ipcRenderer.sendSync("modInstallState"), + version: ipcRenderer.sendSync("get-app-version", "app-version"), + getLang: (toGet: string) => + ipcRenderer.invoke("getLang", toGet).then((result) => { + return result; + }), + splashEnd: () => ipcRenderer.send("splashEnd") +}); diff --git a/src/content/splash.html b/src/splash/splash.html similarity index 57% rename from src/content/splash.html rename to src/splash/splash.html index fd3aed3..2b7271b 100644 --- a/src/content/splash.html +++ b/src/splash/splash.html @@ -2,10 +2,9 @@ - ArmCord