From 7dcf6a153c58e0bcd1df62850ce43b38bf89c57f Mon Sep 17 00:00:00 2001 From: MrGarlic Date: Fri, 10 May 2024 13:59:44 -0400 Subject: [PATCH] add display to state, add display exists check --- src/main/mainWindow.ts | 4 +++- src/shared/settings.d.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/mainWindow.ts b/src/main/mainWindow.ts index 7e0afde..991f4e3 100644 --- a/src/main/mainWindow.ts +++ b/src/main/mainWindow.ts @@ -12,6 +12,7 @@ import { Menu, MenuItemConstructorOptions, nativeTheme, + screen, Tray } from "electron"; import { rm } from "fs/promises"; @@ -269,7 +270,7 @@ function getWindowBoundsOptions(): BrowserWindowConstructorOptions { height: height ?? DEFAULT_HEIGHT } as BrowserWindowConstructorOptions; - if (x != null && y != null) { + if (x != null && y != null && State.store.display && screen.getAllDisplays().includes(State.store.display)) { options.x = x; options.y = y; } @@ -317,6 +318,7 @@ function initWindowBoundsListeners(win: BrowserWindow) { const saveBounds = () => { State.store.windowBounds = win.getBounds(); + State.store.display = screen.getDisplayMatching(State.store.windowBounds); }; win.on("resize", saveBounds); diff --git a/src/shared/settings.d.ts b/src/shared/settings.d.ts index 7f6e74a..eefcae0 100644 --- a/src/shared/settings.d.ts +++ b/src/shared/settings.d.ts @@ -4,7 +4,7 @@ * Copyright (c) 2023 Vendicated and Vencord contributors */ -import type { Rectangle } from "electron"; +import type { Display, Rectangle } from "electron"; export interface Settings { discordBranch?: "stable" | "canary" | "ptb"; @@ -36,6 +36,7 @@ export interface State { maximized?: boolean; minimized?: boolean; windowBounds?: Rectangle; + display?: Display; skippedUpdate?: string; firstLaunch?: boolean;