diff --git a/src/api/settings.ts b/src/api/settings.ts index 8a7d9ffd..b88b9f01 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 3bdd9b76..d5ffa91d 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 c45a2997..f92a64d7 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 {