From e62ee35b42d8114d6409178006a882cb4ec0922c Mon Sep 17 00:00:00 2001 From: TC Date: Thu, 25 Aug 2022 22:50:33 +0200 Subject: [PATCH] Rename cssFiles option to themes and add menu entry --- index.js | 6 +++--- menu.js | 28 ++++++++++++++++++++++++++++ readme.md | 6 ++++++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index c09859bc..73cf0808 100644 --- a/index.js +++ b/index.js @@ -85,9 +85,9 @@ function onClosed() { function loadPlugins(win) { injectCSS(win.webContents, path.join(__dirname, "youtube-music.css")); // Load user CSS - const cssFiles = config.get("options.cssFiles"); - if (Array.isArray(cssFiles)) { - cssFiles.forEach((cssFile) => { + const themes = config.get("options.themes"); + if (Array.isArray(themes)) { + themes.forEach((cssFile) => { fileExists( cssFile, () => { diff --git a/menu.js b/menu.js index ad0e12f8..630b48d4 100644 --- a/menu.js +++ b/menu.js @@ -100,6 +100,34 @@ const mainMenuTemplate = (win) => { config.set("options.ForceShowLikeButtons", item.checked); }, }, + { + label: "Theme", + submenu: [ + { + label: "No theme", + type: "radio", + checked: !config.get("options.themes"), // todo rename "themes" + click: () => { + config.set("options.themes", []); + }, + }, + { type: "separator" }, + { + label: "Import custom CSS file", + type: "radio", + checked: false, + click: async () => { + const { filePaths } = await dialog.showOpenDialog({ + filters: [{ name: "CSS Files", extensions: ["css"] }], + properties: ["openFile", "multiSelections"], + }); + if (filePaths) { + config.set("options.themes", filePaths); + } + }, + }, + ], + }, ], }, { diff --git a/readme.md b/readme.md index 2204d447..56f532ab 100644 --- a/readme.md +++ b/readme.md @@ -97,6 +97,12 @@ If you get an error "is damaged and can’t be opened." when launching the app, > If using `Hide Menu` option - you can show the menu with the `alt` key (or `escape` if using the in-app-menu plugin) +## Themes + +You can load CSS files to change the look of the application (Options > Visual Tweaks > Themes). + +Some predefined themes are available in https://github.com/OceanicSquirrel/themes-for-ytmdesktop-player. + ## Dev ```sh