diff --git a/index.ts b/index.ts index 38b0851d..57b62238 100644 --- a/index.ts +++ b/index.ts @@ -182,6 +182,26 @@ function createMainWindow() { win.webContents.loadURL(urlToLoad); win.on('closed', onClosed); + const scaleFactor = electron.screen.getAllDisplays().length > 1 ? electron.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