diff --git a/plugins/in-app-menu/front.js b/plugins/in-app-menu/front.js index 49e56b2b..c731b1a0 100644 --- a/plugins/in-app-menu/front.js +++ b/plugins/in-app-menu/front.js @@ -1,6 +1,7 @@ const { remote, ipcRenderer } = require("electron"); const customTitlebar = require("custom-electron-titlebar"); +function $(selector) { return document.querySelector(selector); } module.exports = () => { const bar = new customTitlebar.Titlebar({ @@ -13,4 +14,19 @@ module.exports = () => { ipcRenderer.on("updateMenu", function (_event, showMenu) { bar.updateMenu(showMenu ? remote.Menu.getApplicationMenu() : null); }); + + // Increases the right margin of Navbar background when the scrollbar is visible to avoid blocking it (z-index doesn't affect it) + document.addEventListener('apiLoaded', () => { + setNavbarMargin() + const playPageObserver = new MutationObserver(() => { + setNavbarMargin(); + }); + playPageObserver.observe($('ytmusic-app-layout'), { attributeFilter: ['player-page-open_', 'playerPageOpen_'] }) + }) }; + +function setNavbarMargin() { + $('ytmusic-app-layout').playerPageOpen_ ? + $('#nav-bar-background').style.right = '0px' : + $('#nav-bar-background').style.right = '12px'; +} diff --git a/plugins/in-app-menu/style.css b/plugins/in-app-menu/style.css index a90c2098..090a94ef 100644 --- a/plugins/in-app-menu/style.css +++ b/plugins/in-app-menu/style.css @@ -4,10 +4,10 @@ font-size: 14px !important; } -/* fixes scrollbar positioning relative to nav bar + its opacity */ +/* fixes nav-bar-background opacity bug and allows clicking scrollbar through it */ #nav-bar-background { - right: 15px !important; opacity: 1 !important; + pointer-events: none; } /* remove window dragging for nav bar (conflict with titlebar drag) */