Merge branch 'master' into update-electron

This commit is contained in:
Araxeus
2022-02-01 22:56:08 +02:00
committed by GitHub
3 changed files with 36 additions and 7 deletions

View File

@ -127,9 +127,27 @@ function createMainWindow() {
autoHideMenuBar: config.get("options.hideMenu"),
});
remote.enable(win.webContents);
if (windowPosition) {
const { x, y } = windowPosition;
win.setPosition(x, y);
const winSize = win.getSize();
const displaySize =
electron.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
) {
//Window is offscreen
if (is.dev()) {
console.log(
`Window tried to render offscreen, windowSize=${winSize}, displaySize=${displaySize}, position=${windowPosition}`
);
}
} else {
win.setPosition(x, y);
}
}
if (windowMaximized) {
win.maximize();

View File

@ -15,6 +15,15 @@
"productName": "YouTube Music",
"mac": {
"identity": null,
"target": [
{
"target": "dmg",
"arch": [
"x64",
"arm64"
]
}
],
"icon": "assets/generated/icons/mac/icon.icns"
},
"win": {
@ -58,7 +67,8 @@
"clean": "rimraf dist",
"build": "yarn run clean && electron-builder --win --mac --linux",
"build:linux": "yarn run clean && electron-builder --linux",
"build:mac": "yarn run clean && electron-builder --mac",
"build:mac": "yarn run clean && electron-builder --mac dmg:x64",
"build:mac:arm64": "yarn run clean && electron-builder --mac dmg:arm64",
"build:win": "yarn run clean && electron-builder --win",
"lint": "xo",
"plugins": "yarn run plugin:adblocker",

View File

@ -5,6 +5,7 @@ const { dialog, ipcMain } = require("electron");
const is = require("electron-is");
const ytpl = require("ytpl");
const chokidar = require('chokidar');
const filenamify = require('filenamify');
const { setOptions } = require("../../config/plugins");
const { sendError } = require("./back");
@ -94,10 +95,10 @@ async function downloadPlaylist(givenUrl, win, options) {
sendError(win, e);
return;
}
const playlistTitle = playlist.title;
const safePlaylistTitle = filenamify(playlist.title, {replacement: ' '});
const folder = getFolder(options.downloadFolder);
const playlistFolder = join(folder, playlistTitle);
const playlistFolder = join(folder, safePlaylistTitle);
if (existsSync(playlistFolder)) {
sendError(
win,
@ -111,13 +112,13 @@ async function downloadPlaylist(givenUrl, win, options) {
type: "info",
buttons: ["OK"],
title: "Started Download",
message: `Downloading Playlist "${playlistTitle}"`,
message: `Downloading Playlist "${playlist.title}"`,
detail: `(${playlist.items.length} songs)`,
});
if (is.dev()) {
console.log(
`Downloading playlist "${playlistTitle}" - ${playlist.items.length} songs (${playlistId})`
`Downloading playlist "${playlist.title}" - ${playlist.items.length} songs (${playlistId})`
);
}
@ -143,7 +144,7 @@ async function downloadPlaylist(givenUrl, win, options) {
win.webContents.send(
"downloader-download-playlist",
song.url,
playlistTitle,
safePlaylistTitle,
options
);
});