Merge pull request #1277 from th-ch/hotfix/1273

This commit is contained in:
JellyBrick
2023-10-08 12:56:16 +09:00
committed by GitHub

View File

@ -225,16 +225,26 @@ 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, y } = windowPosition;
const { x: windowX, y: windowY } = windowPosition;
const winSize = win.getSize();
const displaySize
= screen.getDisplayNearestPoint(windowPosition).bounds;
if (
x + winSize[0] < displaySize.x - 8
|| x - winSize[0] > displaySize.x + displaySize.width
|| y < displaySize.y - 8
|| y > displaySize.y + displaySize.height
windowX + winSize[0] < displaySize.x - 8
|| windowX - winSize[0] > displaySize.x + displaySize.width
|| windowY < displaySize.y - 8
|| windowY > displaySize.y + displaySize.height
) {
// Window is offscreen
if (is.dev()) {
@ -243,7 +253,11 @@ function createMainWindow() {
);
}
} else {
win.setPosition(x, y);
const scaledPosition = {
x: windowX / scaleFactor,
y: windowY / scaleFactor,
};
win.setPosition(scaledPosition.x, scaledPosition.y);
}
}
@ -261,26 +275,6 @@ 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