javascript:(function(){ function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } let sidehover = false; let guildhover = false; let sidebar = document.getElementsByClassName("sidebar-2K8pFh")[0]; let guildbar = document.getElementsByClassName("guilds-1SWlCJ")[0]; async function hide() { await sleep(50); if (!sidehover && !guildhover) { sidebar.style.display="none"; } } async function show() { await sleep(150); if (sidehover || guildhover) { sidebar.style.display=""; } }; guildbar.addEventListener("mouseenter", () => { guildhover = true; show(); }); guildbar.addEventListener("mouseleave", () => { guildhover = false; hide() }); sidebar.addEventListener("mouseenter", () => { sidehover = true; show() }); sidebar.addEventListener("mouseleave", () => { sidehover = false; hide() }); hide(); })()
The `sleep(150)` and `sleep(50)` can be tweaked to adjust the delay between when you hover over the server bar and when the channels bar is displayed (that's the 150 ms) and between when you move the mouse off the side bar and when the channels bar disappears (the 50 ms).
If you're using the electron desktop app, you can open the javascript console with ctrl-shift-i and paste it in there for the same effect.
javascript:(function(){ function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } let sidehover = false; let guildhover = false; let sidebar = document.getElementsByClassName("sidebar-2K8pFh")[0]; let guildbar = document.getElementsByClassName("guilds-1SWlCJ")[0]; async function hide() { await sleep(50); if (!sidehover && !guildhover) { sidebar.style.display="none"; } } async function show() { await sleep(150); if (sidehover || guildhover) { sidebar.style.display=""; } }; guildbar.addEventListener("mouseenter", () => { guildhover = true; show(); }); guildbar.addEventListener("mouseleave", () => { guildhover = false; hide() }); sidebar.addEventListener("mouseenter", () => { sidehover = true; show() }); sidebar.addEventListener("mouseleave", () => { sidehover = false; hide() }); hide(); })()
The `sleep(150)` and `sleep(50)` can be tweaked to adjust the delay between when you hover over the server bar and when the channels bar is displayed (that's the 150 ms) and between when you move the mouse off the side bar and when the channels bar disappears (the 50 ms).
If you're using the electron desktop app, you can open the javascript console with ctrl-shift-i and paste it in there for the same effect.