From 0e6f7bc804db5fdf2f24c4ec5260c17f2f687446 Mon Sep 17 00:00:00 2001 From: Redeven <18680184+redeven@users.noreply.github.com> Date: Tue, 2 Jan 2024 07:19:56 -0300 Subject: [PATCH] feat: Add start minimized as a launch argument --- src/main/mainWindow.ts | 14 +++++++++----- src/main/splash.ts | 5 +++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/mainWindow.ts b/src/main/mainWindow.ts index 8fdb6ee..c34e351 100644 --- a/src/main/mainWindow.ts +++ b/src/main/mainWindow.ts @@ -442,7 +442,8 @@ function createMainWindow() { const runVencordMain = once(() => require(join(VENCORD_FILES_DIR, "vencordDesktopMain.js"))); export async function createWindows() { - const splash = createSplashWindow(); + const startMinimized = process.argv.includes("--start-minimized"); + const splash = createSplashWindow(startMinimized); // SteamOS letterboxes and scales it terribly, so just full screen it if (isDeckGameMode) splash.setFullScreen(true); await ensureVencordFiles(); @@ -452,11 +453,8 @@ export async function createWindows() { mainWin.webContents.on("did-finish-load", () => { splash.destroy(); - mainWin!.show(); - if (Settings.store.maximized && !isDeckGameMode) { - mainWin!.maximize(); - } + if (!startMinimized || isDeckGameMode) mainWin!.show(); if (isDeckGameMode) { // always use entire display @@ -464,6 +462,12 @@ export async function createWindows() { askToApplySteamLayout(mainWin); } + + mainWin.once("show", () => { + if (Settings.store.maximized && !mainWin!.isMaximized() && !isDeckGameMode) { + mainWin!.maximize(); + } + }); }); initArRPC(); diff --git a/src/main/splash.ts b/src/main/splash.ts index f21799d..7c05de9 100644 --- a/src/main/splash.ts +++ b/src/main/splash.ts @@ -11,10 +11,11 @@ import { ICON_PATH, VIEW_DIR } from "shared/paths"; import { Settings } from "./settings"; -export function createSplashWindow() { +export function createSplashWindow(startMinimized = false) { const splash = new BrowserWindow({ ...SplashProps, - icon: ICON_PATH + icon: ICON_PATH, + show: !startMinimized }); splash.loadFile(join(VIEW_DIR, "splash.html"));