From bfa20f2634a0f3f73a03135f9ddb9d0dfe566e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=E1=BB=97=20V=C4=83n=20Ho=C3=A0i=20Tu=C3=A2n?= Date: Sat, 8 Apr 2023 18:41:55 -0700 Subject: [PATCH] feat(setting): Disable minimum window size #834 (#848) --- src/api/settings.ts | 2 ++ src/components/VencordSettings/VencordTab.tsx | 5 +++++ src/main/patcher.ts | 15 +++++++++++---- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/api/settings.ts b/src/api/settings.ts index 8a7d9ff..b88b9f0 100644 --- a/src/api/settings.ts +++ b/src/api/settings.ts @@ -38,6 +38,7 @@ export interface Settings { frameless: boolean; transparent: boolean; winCtrlQ: boolean; + disableMinSize: boolean; winNativeTitleBar: boolean; plugins: { [plugin: string]: { @@ -71,6 +72,7 @@ const DefaultSettings: Settings = { frameless: false, transparent: false, winCtrlQ: false, + disableMinSize: false, winNativeTitleBar: false, plugins: {}, diff --git a/src/components/VencordSettings/VencordTab.tsx b/src/components/VencordSettings/VencordTab.tsx index 3bdd9b7..d5ffa91 100644 --- a/src/components/VencordSettings/VencordTab.tsx +++ b/src/components/VencordSettings/VencordTab.tsx @@ -83,6 +83,11 @@ function VencordSettings() { key: "winCtrlQ", title: "Register Ctrl+Q as shortcut to close Discord (Alternative to Alt+F4)", note: "Requires a full restart" + }, + IS_DISCORD_DESKTOP && { + key: "disableMinSize", + title: "Disable minimum window size", + note: "Requires a full restart" } ]; diff --git a/src/main/patcher.ts b/src/main/patcher.ts index c45a299..f92a64d 100644 --- a/src/main/patcher.ts +++ b/src/main/patcher.ts @@ -106,10 +106,17 @@ if (!IS_VANILLA) { BrowserWindow }; - // Patch appSettings to force enable devtools - onceDefined(global, "appSettings", s => - s.set("DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING", true) - ); + // Patch appSettings to force enable devtools and optionally disable min size + onceDefined(global, "appSettings", s => { + s.set("DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING", true); + if (settings.disableMinSize) { + s.set("MIN_WIDTH", 0); + s.set("MIN_HEIGHT", 0); + } else { + s.set("MIN_WIDTH", 940); + s.set("MIN_HEIGHT", 500); + } + }); process.env.DATA_DIR = join(app.getPath("userData"), "..", "Vencord"); } else {