mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 10:31:47 +00:00
Merge pull request #1277 from th-ch/hotfix/1273
This commit is contained in:
46
index.ts
46
index.ts
@ -225,16 +225,26 @@ function createMainWindow() {
|
|||||||
});
|
});
|
||||||
loadPlugins(win);
|
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) {
|
if (windowPosition) {
|
||||||
const { x, y } = windowPosition;
|
const { x: windowX, y: windowY } = windowPosition;
|
||||||
const winSize = win.getSize();
|
const winSize = win.getSize();
|
||||||
const displaySize
|
const displaySize
|
||||||
= screen.getDisplayNearestPoint(windowPosition).bounds;
|
= screen.getDisplayNearestPoint(windowPosition).bounds;
|
||||||
if (
|
if (
|
||||||
x + winSize[0] < displaySize.x - 8
|
windowX + winSize[0] < displaySize.x - 8
|
||||||
|| x - winSize[0] > displaySize.x + displaySize.width
|
|| windowX - winSize[0] > displaySize.x + displaySize.width
|
||||||
|| y < displaySize.y - 8
|
|| windowY < displaySize.y - 8
|
||||||
|| y > displaySize.y + displaySize.height
|
|| windowY > displaySize.y + displaySize.height
|
||||||
) {
|
) {
|
||||||
// Window is offscreen
|
// Window is offscreen
|
||||||
if (is.dev()) {
|
if (is.dev()) {
|
||||||
@ -243,7 +253,11 @@ function createMainWindow() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} 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.webContents.loadURL(urlToLoad);
|
||||||
win.on('closed', onClosed);
|
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'];
|
type PiPOptions = typeof config.defaultConfig.plugins['picture-in-picture'];
|
||||||
const setPiPOptions = config.plugins.isEnabled('picture-in-picture')
|
const setPiPOptions = config.plugins.isEnabled('picture-in-picture')
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
|
|||||||
Reference in New Issue
Block a user