#auto-hide channel list

1 messages Β· Page 1 of 1 (latest)

drifting arch
#

for discussion:

junior oyster
#

can you do this for the member list aswell?

waxen meadow
#

this is actually my favorite implementation so far, nice work

sudden turtle
#

this is really nice. and I second the idea for the member list, would be awesome

waxen meadow
#

agreed!

open bane
#
@import url("https://minidiscordthemes.github.io/Snippets/ChannelListWidth/main.css");

/* Collapsable Sidebar */
.sidebar_e031be {
  transition: width 500ms ease;
}

:root:has(.tree__7a511) {
  --channellist-width: 0 !important;
}

:root:has(.tree__7a511:hover, .sidebar_e031be:hover) {
  --channellist-width: 280px !important;
}

It does the same thing, but its much more readable and intuitive πŸ™‚

open bane
barren blade
# open bane

if you can make a second version of the code for serverlist instead it would be nice.

open bane
barren blade
open bane
#
/* Collapsable Channel List AND Server List */
:root:has(.tree__7a511) {
  --channellist-width: 0 !important;
  --serverlist-color: var(--primary-600)
}

:root:has(.tree__7a511:hover, .sidebar_e031be:hover) {
  --channellist-width: 280px !important;
  --serverlist-color: var(--primary-630)
}

.wrapper__216eb:not(:hover) {
  width: 12px;
  background-color: var(--serverlist-color) !important;
}

.wrapper__216eb * {
  opacity: 0;
}

.wrapper__216eb:hover {
  width: 72px;
}

.wrapper__216eb:hover * {
  opacity: 1;
}
/* Collapsable Channel List */
:root:has(.tree__7a511) {
  --channellist-width: 0 !important;
}

:root:has(.tree__7a511:hover, .sidebar_e031be:hover) {
  --channellist-width: 280px !important;
}
/* Collapsable Server List */
.wrapper__216eb:not(:hover) {
  width: 12px;
  background-color: var(--primary-630) !important;
}

.wrapper__216eb * {
  opacity: 0;
}

.wrapper__216eb:hover {
  width: 72px;
}

.wrapper__216eb:hover * {
  opacity: 1;
}
#

Here is all three!

barren blade
#

Thank you.

open bane
#

If you go with both it really leaves a lot of real estate

barren blade
#

the serverlist has 1 problem.

#

doesn't have any animation and also leaves a weird gray border if using themes

open bane
#

that might be a theming thing

barren blade
#

most likely is

open bane
#

it should work since it uses the default vars: --primary-600 and --primary-630

#

but i shouldve expected that

barren blade
open bane
#

classic discord

barren blade
#

it worked.

#

but lacks an ease in and out animation.

open bane
#

that should be easy to add

barren blade
#

most likely

open bane
#

just add transition: width 300ms ease; to both .wrapper_216eb classes

#
.wrapper__216eb:not(:hover) {
  width: 12px;
  transition: width 300ms ease;
  background-color: var(--primary-630) !important;
}

.wrapper__216eb * {
  opacity: 0;
}

.wrapper__216eb:hover {
  width: 72px;
  transition: width 300ms ease;
}

.wrapper__216eb:hover * {
  opacity: 1;
}```
barren blade
#

I still miss collapsable UI from betterdiscord, made it also have shortcuts to open it with keys instead of just hovering.

#

but it was so lagy.

open bane
#

thats why i moved from bd to vencord

#

i couldnt handle the lag

barren blade
#

Everybody did for the same exact reason

open bane
#

it doesnt seem like theyve made any efforts to improve it

barren blade
barren blade
fierce flare
#

The collapse channel list doesn't work

#

womp womp

open bane
#

are you importing?

fierce flare
#

importing what

#

even with this it doesnt work

open bane
#

@import url("https://minidiscordthemes.github.io/Snippets/ChannelListWidth/main.css");

fierce flare
#

yeah no dice on vesktop

open bane
#

is it at the top of the css?

barren blade
fierce flare
#

oh

#

thats fixed it

#

rip

#

still has the issue with the original css

#

and idk whats cuasing it

#

if im not fully scrolled down in a channel, it will scroll up

#

Which as you can imagine, is pretty annoying!

#

It might be because of my discords width, but I can't exactly change that

open bane
#

@barren blade idk if this would also interest you since its on the topic of the sidebar but i made this πŸ™‚

barren blade
drifting arch
fierce flare
drifting arch
#

i did edit this css a little bit to fix a bug sorta like that, maybe you got the css before that?

fierce flare
#

Let me go attempt again and I'll see what happens

#

nope

#

still happens

drifting arch
#

is there any chance you could record what you're doing? bc i can't seem to reproduce it on my system

fierce flare
#

uhhh

#

ill see if my pcwants to record

drifting arch
#

okok

fierce flare
#

Uploading rn

#

no idea if a plugin could be causing this

#

or vesktop

drifting arch
#

huh that's awfully strange, it might be some combination of plugins and whatever css?

fierce flare
#

I could provide a export of my vencord settings and css to see if the issue is recreated?

drifting arch
#

sure lets try that

fierce flare
#

Here's a copy of the stuff I use

drifting arch
fierce flare
#

It's just annoying when you're the one person experiencing that very niche bug

drifting arch
#

okay yeah it seems strange but it has to be vesktop, bc i cant reproduce it on vanilla discord + vencord

fierce flare
#

that makes.. no sense.. hm

drifting arch
#

that's what i would guess too, wait hold on lemme try something

#

AHA i got it to reproduce

fierce flare
#

good to know my discord isnt sentient

fierce flare
drifting arch
#

still debugging rn, im looking through which plugins you have enabled but still no luck

fierce flare
#

discord must be sentient

drifting arch
#

found it ! so its the consistent chatbar css snippet thing

#

once i turned it off the problem disappeared

fierce flare
#

thats super annoying cuz that looks nice

#

although its not complex

#

idk why it would be doing that

fierce flare
#

helpin*

#

ill be on my way now

drifting arch
#

im thinking it's the position: static's?

#

anyways glad i could help :)

fierce flare
#

i have zero clue, but oh well, now we know and you know in the future if someone else has this issue

drifting arch
#

got it @fierce flare ! i kinda wanted to steal that from you, so i wanted to fix the css
and this version seems to work:

.wrapper__57349 {
  margin-bottom: 0;
  border-radius: 0;
  padding: 16.5px 0;
}
.form_d8a4a1 {
  padding: 0;
  margin-top: 0;
  display: flex;
  flex-direction: column;
}
.channelTextArea_c2094b {
  margin-bottom: 0;
  border-radius: 0;
}
.base__06abc {
  position: absolute;
  width: calc(100% - 16px);
  display: flex;
  justify-content: space-between;
  padding: 0 8px;
  box-sizing: border-box;
  top: -24px;
  left: 0;
  background: var(--bg-overlay-chat,var(--background-primary));
}
.base__06abc > .cooldownWrapper__193b2 {
  margin: 0;
  position: static;
}
/*.scroller_e412fe {
  position: static;
}*/
.scrollableContainer_ff917f {
  border-radius: 0;
}
.scrollableContainer_ff917f > .inner__9fd0b {
  min-height: 53px;
  align-items: center;
}
.attachWrapper_d01704 {
  display: flex;
  position: static;
  align-items: center;
}
.attachedBars_c1606a {
  border-radius: 0;
}

all i really did was comment out that scroller piece and boom it works now

#

not really sure why that's there anyways

fierce flare
#

perhaps maybe put that as a pull request on the github? or just ping them here Troll

#

better than shoving it into my quickcss

#

but appreciate figurign it out

drifting arch
drifting arch
# drifting arch for discussion:

also update: took some of the improvements from people in this channel, and fix the bug where right-clicking any of the channels made the sidebar disappear

fair sun
#

uhh

#

sorry for the late response, was busy with exams

fierce flare
#

I understand the feeling

fair sun
#

so, you might have fixed an issue that I had with Cyan 2

#

where it would jump the chat because there were unread messages

#

also, what's your gh

fierce flare
fair sun
#

oh, bruh

#

I should start looking at usernames

fierce flare
#

lmao it's chill

#

i just discovered the issue, nothing more

drifting arch
#

oop sorry y'all for not responding, but yeah my gh is in my discord connections

fierce flare
#

@drifting arch

drifting arch
#

oh! alright nice, thanks dablulite :)

fierce flare
#

This was just removed. making it all work fine, so its all good now!

keen yew
#

Freedom at last, migrating from DB here, i was wondering if anyone had a snippit to make the member list in servers collapse

#

Did a quick search and couldnt find

#

Same kind of behavior where it shows up after you hover

sudden turtle
#

made this quickly

div[class^=base] > div[class^=content__] div[class^=content__] > div[class^=container_] {
    transition: width 0.4s ease;
    width: 60px;
}
div[class^=base] > div[class^=content__] div[class^=content__] > div[class^=container_]:hover {
    width: 240px !important;
}
#

doesn't work in threads, too lazy to fix that because I only care about channels

fierce flare
sudden turtle
fierce flare
#

oooh

#

I'll combine the two then, appreciated

fierce flare
#

it massively overextends

sonic sandal
open bane
sonic sandal
drifting arch
#

oh did i not post the version that allows that?

:root {
    --channel-list-width: 0px;
}

:root:has([aria-label="Thread Actions"], [aria-label="Channel Actions"]) {
    --channel-list-width: 240px !important;
}

:root:has([aria-label="Private channels"]):has([aria-label="User Settings Actions"]) {
    --channel-list-width: 240px !important;
}

:root:has(div[class^=sidebar]:hover, [aria-label="Servers sidebar"]:hover) {
    --channel-list-width: 240px !important;
}

div[class^=base] > div[class^=content__] > div[class^=sidebar] {
    width: var(--channel-list-width);
    transition: width 0.4s ease;
}
#

this one doesn't have a collapsable server list tho, that should be easy enough to add however

open bane
drifting arch
#

iirc that was impossible to distinguish between the serverlist user popup and the one in dms, maybe?

#

wait no ignore me, i misunderstood your message

#

i mean you'll have to look in the code for the server list popup and add it, it shouldn't be too difficult

near frost
#

could someone update this?

#

it just stays hidden now πŸ˜•

open bane
# near frost could someone update this?

Add to top of file

/* Converts sidebar to easy-to-use --channellist-width var */
@import url("https://minidiscordthemes.github.io/Snippets/ChannelListWidth/main.css");

Add anywhere else (credit: @drifting arch)

:root {
  --channellist-width: 0px;
}

:root:has([aria-label="Thread Actions"], [aria-label="Channel Actions"]) {
  --channellist-width: 280px !important;
}

:root:has([aria-label="Private channels"]):has([aria-label="User Settings Actions"]) {
  --channellist-width: 280px !important;
}

:root:has(div[class^="sidebar"]:hover, [aria-label="Servers sidebar"]:hover) {
  --channellist-width: 280px !important;
}

div[class^="base"]>div[class^="content__"]>div[class^="sidebar"] {
  transition: width 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
#

Will stay persistent when channels are right-clicked too πŸ™‚

devout heron
# open bane Add to top of file ```css /* Converts sidebar to easy-to-use --channellist-width...

Condensed version, adds non-English, more right-click menus, and tab nav support:

@import url("https://minidiscordthemes.github.io/Snippets/ChannelListWidth/main.css");
:root {
    --channellist-width: 0;
}

:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels_"]):has(#user-context),
:root:has(:is([class^="sidebar_"], [class*="guilds_"]):is(:hover, :focus-within)) {
    --channellist-width: 280px;
}

[class^="sidebar_"] {
    transition: width 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
devout heron
#

Use of ChannelListWidth is great if you're setting the "opened" width to anything other than the default Discord's 240px. Otherwise I'd just go for something simple and performant similar to the original (skipping recalculating the banner size and buttons on the fly).

:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels_"]):has(#user-context),
:root:has(:is([class^="sidebar_"], [class*="guilds_"]):is(:hover, :focus-within)) {
    --visiblechannellist-width: 240px;
}

.sidebar_e031be {
    width: var(--visiblechannellist-width, 0);
    transition: width .5s cubic-bezier(0.165, 0.84, 0.44, 1);

    .container__7e23c {
        width: 240px;
    }
}```
topaz pagoda
#

hello, when update? @drifting arch

drifting arch
#
:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels_"]):has(#user-context),
:root:has(:is([class^="sidebar_"], [class*="guilds_"]):is(:hover, :focus-within)) {
    --visiblechannellist-width: 240px;
}

.sidebar_a4d4d9 {
    width: var(--visiblechannellist-width, 0);
    transition: width .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sidebar_a4d4d9 .container_ee69e0 {
    width: 240px;
}
#

this is what i've been using

#

a combination of a few things in this channel

oak yew
#

I like the bezier curve

open bane
oak yew
#

good work brotha I enjoy that change

open bane
#

i just noticed that the menu shows when you hover on the settings sidebar

#

i also have my settings page as a modal so that's probably why it's gone unnoticed

#

oh it fixed itself somehow

dusk forge
#

it broke again...

open bane
shy lion
#

wait... is this usable only in browser?

open bane
#

It should be the cat icon in the top right

plain coral
lavish plinth
#

awesome find, i know nothing about css but i just combined this with someone's server hover

Servers collapse animation ( @inland talon #🎨-css-snippets message) + @drifting arch 's auto hide channels code from above

#
/* Hover Channels */
:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels_"]):has(#user-context),
:root:has(:is([class^="sidebar_"], [class*="guilds_"]):is(:hover, :focus-within)) {
    --visiblechannellist-width: 240px;
}

.sidebar_a4d4d9 {
    width: var(--visiblechannellist-width, 0);
    transition: width .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sidebar_a4d4d9 .container_ee69e0 {
    width: 240px;
}


/*Hover Servers */
[class*=" guilds"] {
    width: 10px;
    transition: width 0.2s ease 0.1s, opacity 0.2s ease 0.1s;
    opacity: 0;
}

[class*=" guilds"]:hover {
    width: 65px;
    opacity: 1;
}
lavish plinth
#

Hover servers ( @inland talon #🎨-css-snippets message) + sandwhich menu channels ( @woeful knot #🎨-css-snippets message )

@import url("https://lazuee.github.io/css-snippets/discord/channel-list-toggle/import.css");

/* Hide channels with sandwhich menu like mobile */
:root {
  /* icon size must be 25x25 */
  --channel-list-toggle-icon-light: url("data:image/svg+xml,%3Csvg width='25px' height='25px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6.00092H21M3 12.0009H21M3 18.0009H21' stroke='%23181818' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cdefs%3E%3CclipPath id='clip0_429_11066'%3E%3Crect width='24' height='24' transform='translate(0 0.000915527)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  --channel-list-toggle-icon-dark: url("data:image/svg+xml,%3Csvg width='25px' height='25px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6.00092H21M3 12.0009H21M3 18.0009H21' stroke='%23eee' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cdefs%3E%3CclipPath id='clip0_429_11066'%3E%3Crect width='24' height='24' transform='translate(0 0.000915527)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  /* if the icon size isn't 25x25, you have to set the margin to make it centered */
  /* top, right, bottom, left */
  --channel-list-toggle-icon-margin: 11px 0px 0px 24px;
}


/* Hover Servers */
[class*=" guilds"] {
    width: 10px;
    transition: width 0.2s ease 0.1s, opacity 0.2s ease 0.1s;
    opacity: 0;
}

[class*=" guilds"]:hover {
    width: 65px;
    opacity: 1;
}
lavish plinth
#

@drifting arch not sure if you still use this but i combined a few things if u wanna look at them

drifting arch
#

cool stuff! in all honesty tho i like the server list being there and not collapsible

lavish plinth
#

yeah i think i prefer that too. trying to find which one i can easily get used to though

woeful knot
#

fixed.

oak yew
#

why does it not worky anymore

blissful yew
sudden turtle
oak yew
#

works well I'd say

blissful yew
fierce flare
#

you'd have to add it via quickcss

fierce flare
#

if you open it

#

do you see here how it says

#

48px!important

#

i just made it zero

#

which should do what you expect

blissful yew
#

ye i tried to do that, but when i do that its really hard to open list without my curser going to my 2nd monitor

#

and my server list is also at the top

fierce flare
#

Works for me, Iunno what to tell you, as I don't accidentally flick to my monitor

blissful yew
fierce flare
#

mhm

fierce flare
blissful yew
fierce flare
blissful yew
#

thats why i asked

fierce flare
#

i just rely on the fact that when I hover over the server list it shows,apart from that I can only think of having it on like 5px or something tiny

blissful yew
fierce flare
blissful yew
#

this is how i did that before new update, idk if this helps 🀷
(not my code)

:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels"]):has(#user-context),
:root:has(:is([class^="sidebar"], [class="guilds_"]):is(:hover, :focus-within)) {
    --visiblechannellist-width: 240px;
}
.sidebar_a4d4d9 {
    width: var(--visiblechannellist-width, 0);
    transition: width .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.sidebar_a4d4d9 .container_ee69e0 {
    width: 240px;
}```
sudden turtle
#

sorry not sure, it should already open when you hover the server list then stay open when you go over the channel list. if the server list is somewhere else and you can't go from one to the other it would be more work to make it work

blissful yew
#

if any other smart person could help i will really appreciate it

final coral
#

is there a way to get rid of the "new unreads" popup?

#

starts to look a bit messy with low width

drifting arch
#

just noticed that the script here broke, so here's the current version i've been using

:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels"]):has(#user-context),
:root:has(:is(.sidebar_a4d4d9, .guilds_a4d4d9):is(:hover, :focus-within)) {
    --visiblechannellist-width: 240px;
}
:not([i]):not([i]):not([i]) .sidebar_a4d4d9 {
    width: var(--visiblechannellist-width, 0) !important;
    transition: width .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.sidebar_a4d4d9 .container_ee69e0 {
    width: 240px;
}
past zinc
pastel karma
#

fix when o algo

drifting arch
# past zinc sorry for the ping but this has been broken on pre visual refresh for quite a wh...

forgot to post the fix here

:root:has(#thread-context, #channel-context, #guild-context, #guild-browse-channels-context-menu, #audio-device-context, #user-settings-cog, #account),
:root:has([class^="privateChannels"]):has(#user-context),
:root:has(:is([class^="sidebar_"], [data-list-id="guildsnav"]):is(:hover, :focus-within)) {
    --visiblechannellist-width: 240px;
}
:not([i]):not([i]):not([i]) [class^="sidebar_"] {
    width: var(--visiblechannellist-width, 0) !important;
    transition: width .5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
[class^="sidebar_"] [class^="container__"] {
    width: 240px;
}
#

also bc you asked about it, posted the updated version @pastel karma