fix: do not re-position on screen that was disconnected (#598)

Co-authored-by: MrGarlic <bsamans@samans.com>
This commit is contained in:
MrGarlic1 2024-05-10 15:04:16 -04:00 committed by GitHub
parent 69f14ee611
commit a8d72fa665
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 1 deletions

View file

@ -12,6 +12,7 @@ import {
Menu,
MenuItemConstructorOptions,
nativeTheme,
screen,
Tray
} from "electron";
import { rm } from "fs/promises";
@ -269,7 +270,9 @@ function getWindowBoundsOptions(): BrowserWindowConstructorOptions {
height: height ?? DEFAULT_HEIGHT
} as BrowserWindowConstructorOptions;
if (x != null && y != null) {
const storedDisplay = screen.getAllDisplays().find(display => display.id === State.store.displayid);
if (x != null && y != null && storedDisplay) {
options.x = x;
options.y = y;
}
@ -317,6 +320,7 @@ function initWindowBoundsListeners(win: BrowserWindow) {
const saveBounds = () => {
State.store.windowBounds = win.getBounds();
State.store.displayid = screen.getDisplayMatching(State.store.windowBounds).id;
};
win.on("resize", saveBounds);

View file

@ -36,6 +36,7 @@ export interface State {
maximized?: boolean;
minimized?: boolean;
windowBounds?: Rectangle;
displayid: int;
skippedUpdate?: string;
firstLaunch?: boolean;