mirror of
https://github.com/th-ch/youtube-music.git
synced 2026-01-11 10:31:47 +00:00
update in-app-menu
This commit is contained in:
2
menu.js
2
menu.js
@ -33,7 +33,7 @@ const mainMenuTemplate = (win) => {
|
|||||||
const refreshMenu = () => {
|
const refreshMenu = () => {
|
||||||
this.setApplicationMenu(win);
|
this.setApplicationMenu(win);
|
||||||
if (inAppMenuActive) {
|
if (inAppMenuActive) {
|
||||||
win.webContents.send("updateMenu", true);
|
win.webContents.send("refreshMenu");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return [
|
return [
|
||||||
|
|||||||
@ -90,7 +90,7 @@
|
|||||||
"browser-id3-writer": "^4.4.0",
|
"browser-id3-writer": "^4.4.0",
|
||||||
"chokidar": "^3.5.2",
|
"chokidar": "^3.5.2",
|
||||||
"custom-electron-prompt": "^1.4.0",
|
"custom-electron-prompt": "^1.4.0",
|
||||||
"custom-electron-titlebar": "^3.2.10",
|
"custom-electron-titlebar": "^4.1.0",
|
||||||
"discord-rpc": "^3.2.0",
|
"discord-rpc": "^3.2.0",
|
||||||
"electron-better-web-request": "^1.0.1",
|
"electron-better-web-request": "^1.0.1",
|
||||||
"electron-debug": "^3.2.0",
|
"electron-debug": "^3.2.0",
|
||||||
|
|||||||
@ -5,14 +5,19 @@ const electronLocalshortcut = require("electron-localshortcut");
|
|||||||
const config = require("../../config");
|
const config = require("../../config");
|
||||||
const { injectCSS } = require("../utils");
|
const { injectCSS } = require("../utils");
|
||||||
|
|
||||||
|
const { setupTitlebar, attachTitlebarToWindow } = require('custom-electron-titlebar/main');
|
||||||
|
setupTitlebar();
|
||||||
|
|
||||||
//tracks menu visibility
|
//tracks menu visibility
|
||||||
let visible = true;
|
let visible = !config.get("options.hideMenu");
|
||||||
|
|
||||||
module.exports = (win) => {
|
module.exports = (win) => {
|
||||||
// css for custom scrollbar + disable drag area(was causing bugs)
|
// css for custom scrollbar + disable drag area(was causing bugs)
|
||||||
injectCSS(win.webContents, path.join(__dirname, "style.css"));
|
injectCSS(win.webContents, path.join(__dirname, "style.css"));
|
||||||
|
|
||||||
win.once("ready-to-show", () => {
|
win.once("ready-to-show", () => {
|
||||||
|
attachTitlebarToWindow(win);
|
||||||
|
|
||||||
//register keyboard shortcut && hide menu if hideMenu is enabled
|
//register keyboard shortcut && hide menu if hideMenu is enabled
|
||||||
if (config.get("options.hideMenu")) {
|
if (config.get("options.hideMenu")) {
|
||||||
electronLocalshortcut.register(win, "Esc", () => {
|
electronLocalshortcut.register(win, "Esc", () => {
|
||||||
@ -21,13 +26,8 @@ module.exports = (win) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
win.webContents.once("did-finish-load", () => {
|
|
||||||
// fix bug with menu not applying on start when no internet connection available
|
|
||||||
setMenuVisibility(!config.get("options.hideMenu"));
|
|
||||||
});
|
|
||||||
|
|
||||||
function setMenuVisibility(value) {
|
function setMenuVisibility(value) {
|
||||||
visible = value;
|
visible = value;
|
||||||
win.webContents.send("updateMenu", visible);
|
win.webContents.send("refreshMenu", visible);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,20 +1,28 @@
|
|||||||
const { ipcRenderer } = require("electron");
|
const { ipcRenderer } = require("electron");
|
||||||
const { Menu } = require("@electron/remote");
|
const config = require("../../config");
|
||||||
|
const { Titlebar, Color } = require("custom-electron-titlebar");
|
||||||
|
|
||||||
const customTitlebar = require("custom-electron-titlebar");
|
|
||||||
function $(selector) { return document.querySelector(selector); }
|
function $(selector) { return document.querySelector(selector); }
|
||||||
|
|
||||||
module.exports = () => {
|
module.exports = () => {
|
||||||
const bar = new customTitlebar.Titlebar({
|
let visible = !config.get("options.hideMenu");
|
||||||
backgroundColor: customTitlebar.Color.fromHex("#050505"),
|
const bar = new Titlebar({
|
||||||
itemBackgroundColor: customTitlebar.Color.fromHex("#121212"),
|
backgroundColor: Color.fromHex("#050505"),
|
||||||
|
itemBackgroundColor: Color.fromHex("#121212"),
|
||||||
|
svgColor: Color.WHITE,
|
||||||
|
menu: visible ? undefined : null
|
||||||
});
|
});
|
||||||
bar.updateTitle(" ");
|
bar.updateTitle(" ");
|
||||||
document.title = "Youtube Music";
|
document.title = "Youtube Music";
|
||||||
|
|
||||||
ipcRenderer.on("updateMenu", function (_event, showMenu) {
|
ipcRenderer.on("refreshMenu", (_, showMenu) => {
|
||||||
bar.updateMenu(showMenu ? Menu.getApplicationMenu() : null);
|
if (showMenu === undefined && !visible) return;
|
||||||
|
if (showMenu === false) {
|
||||||
|
bar.updateMenu(null);
|
||||||
|
visible = false;
|
||||||
|
} else {
|
||||||
|
bar.refreshMenu();
|
||||||
|
visible = true;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Increases the right margin of Navbar background when the scrollbar is visible to avoid blocking it (z-index doesn't affect it)
|
// Increases the right margin of Navbar background when the scrollbar is visible to avoid blocking it (z-index doesn't affect it)
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
const customTitlebar = require("custom-electron-titlebar");
|
const { Titlebar, Color } = require("custom-electron-titlebar");
|
||||||
|
|
||||||
module.exports = () => {
|
module.exports = () => {
|
||||||
new customTitlebar.Titlebar({
|
new Titlebar({
|
||||||
backgroundColor: customTitlebar.Color.fromHex("#050505"),
|
backgroundColor: Color.fromHex("#050505"),
|
||||||
minimizable: false,
|
minimizable: false,
|
||||||
maximizable: false,
|
maximizable: false,
|
||||||
menu: null
|
menu: null
|
||||||
|
|||||||
Reference in New Issue
Block a user