diff --git a/index.ts b/index.ts index 64149126..dbb7835b 100644 --- a/index.ts +++ b/index.ts @@ -225,16 +225,6 @@ function createMainWindow() { }); loadPlugins(win); - const scaleFactor = screen.getAllDisplays().length > 1 ? screen.getPrimaryDisplay().scaleFactor : 1; - - if (windowSize) { - const scaledSize = { - width: windowSize.width / scaleFactor, - height: windowSize.height / scaleFactor, - }; - win.setSize(scaledSize.width, scaledSize.height); - } - if (windowPosition) { const { x: windowX, y: windowY } = windowPosition; const winSize = win.getSize(); @@ -253,11 +243,7 @@ function createMainWindow() { ); } } else { - const scaledPosition = { - x: windowX / scaleFactor, - y: windowY / scaleFactor, - }; - win.setPosition(scaledPosition.x, scaledPosition.y); + win.setPosition(windowX, windowY); } } @@ -275,6 +261,26 @@ function createMainWindow() { win.webContents.loadURL(urlToLoad); win.on('closed', onClosed); + const scaleFactor = screen.getAllDisplays().length > 1 ? screen.getPrimaryDisplay().scaleFactor : 1; + const size = config.get('window-size'); + const position = config.get('window-position'); + + if (size && size.width && size.height) { + const scaledSize = { + width: size.width / scaleFactor, + height: size.height / scaleFactor, + }; + win.setSize(scaledSize.width, scaledSize.height); + } + + if (position && position.x && position.y) { + const scaledPosition = { + x: position.x / scaleFactor, + y: position.y / scaleFactor, + }; + win.setPosition(scaledPosition.x, scaledPosition.y); + } + type PiPOptions = typeof config.defaultConfig.plugins['picture-in-picture']; const setPiPOptions = config.plugins.isEnabled('picture-in-picture') // eslint-disable-next-line @typescript-eslint/no-var-requires