fix: make minimize only run on autostart

This commit is contained in:
Lewis Crichton 2023-12-09 23:00:47 +00:00
parent 40b952d8bf
commit dd44602730
No known key found for this signature in database
2 changed files with 9 additions and 5 deletions

View file

@ -10,6 +10,7 @@ import { join } from "path";
interface AutoStart {
isEnabled(): boolean;
wasAutoStarted(): boolean;
enable(): void;
disable(): void;
}
@ -21,6 +22,7 @@ function makeAutoStartLinux(): AutoStart {
return {
isEnabled: () => existsSync(file),
wasAutoStarted: () => process.argv.includes("--autostart"),
enable() {
const desktopFile = `
[Desktop Entry]
@ -28,7 +30,7 @@ Type=Application
Version=1.0
Name=Vencord
Comment=Vencord autostart script
Exec=${process.execPath}
Exec=${process.execPath} --autostart
Terminal=false
StartupNotify=false
`.trim();
@ -42,8 +44,9 @@ StartupNotify=false
const autoStartWindowsMac: AutoStart = {
isEnabled: () => app.getLoginItemSettings().openAtLogin,
wasAutoStarted: () => app.getLoginItemSettings().wasOpenedAtLogin,
enable: () => app.setLoginItemSettings({ openAtLogin: true }),
disable: () => app.setLoginItemSettings({ openAtLogin: false })
disable: () => app.setLoginItemSettings({ openAtLogin: false }),
};
export const autoStart = process.platform === "linux" ? makeAutoStartLinux() : autoStartWindowsMac;

View file

@ -39,6 +39,7 @@ import { createSplashWindow } from "./splash";
import { makeLinksOpenExternally } from "./utils/makeLinksOpenExternally";
import { applyDeckKeyboardFix, askToApplySteamLayout, isDeckGameMode } from "./utils/steamOS";
import { downloadVencordFiles, ensureVencordFiles } from "./utils/vencordLoader";
import { autoStart } from "./autoStart";
let isQuitting = false;
let tray: Tray;
@ -442,8 +443,8 @@ function createMainWindow() {
const runVencordMain = once(() => require(join(VENCORD_FILES_DIR, "vencordDesktopMain.js")));
export async function createWindows() {
const { startMinimized } = Settings.store;
const splash = createSplashWindow(startMinimized);
const shouldStartMinimized = Settings.store.startMinimized && autoStart.wasAutoStarted();
const splash = createSplashWindow(shouldStartMinimized);
// SteamOS letterboxes and scales it terribly, so just full screen it
if (isDeckGameMode) splash.setFullScreen(true);
await ensureVencordFiles();
@ -454,7 +455,7 @@ export async function createWindows() {
mainWin.webContents.on("did-finish-load", () => {
splash.destroy();
if (!startMinimized || isDeckGameMode) mainWin!.show();
if (!shouldStartMinimized || isDeckGameMode) mainWin!.show();
if (isDeckGameMode) {
// always use entire display