update in-app-menu

This commit is contained in:
Araxeus
2022-02-06 03:32:15 +02:00
parent 61eb23614a
commit 09bd271df2
5 changed files with 29 additions and 21 deletions

View File

@ -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 [

View File

@ -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",

View File

@ -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);
} }
}; };

View File

@ -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)

View File

@ -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