#π¨-theme-development
1 messages Β· Page 46 of 1
So for selector performance, you want to avoid :has, composite selectors where the final one is overly broad, and to a lesser degree attribute selectors
Did you try to take an existing theme and recolor it with your colors?
Iβve done that before yeah, only issue is Iβm not sure what to recolour to what
who changed the donate banner
it looks so pretty and i love it
for the :has selector causing issues, can it be slightly mitigated with descendant (>) or sibling (+) selectors?
No, :has cannot be emulated by other means
So I guess all we can do is find workarounds
Sometimes you can write a completely different selector that matches what you want
I've never needed any :has for my css, but I don't do anything particularly sophisticated
Dm me a theme and I'll recolor it for you.
mmmmmmm
i mean if a DOM like
<div class="element-one">
<div class="element-two"></div>
</div>
``` were to exist, instead of
```css
.element-one:has(.element-two)
``` can we use
```css
.element-one:has(> .element-two)
``` to be less performance tanking?
Yeah that'd probably be faster
okay, thats what im using lol so i shouldnt have issues with previous snippets
Wait, what's the difference here though?
Why the descendant selector ?
Because then it only needs to look at direct descendants to see whether it maches
Rather than traversing the entire subtree
I went in here for 2 seconds and I now have new knowledge. ffs D:<
oh shit just needed an update
i have an issue with my titlebar now im not sure how to fix though
if i type anything longer than one line it disappears and doesnt come back
swapMicDeafen.css: Lines 1-10
/**
* @name Swap Mic and Deafen Icon
* @author krystalskullofficial, vending.machine
* @version 1.5
* @description erm... title sums it up pretty good
*/
[class*=panels_] :is(button[aria-label="Deafen"], button[aria-label="Disable Game Activity"], button[aria-label="Enable Game Activity"]) {
order: -1;
}
what is the selector of this border thing?
".embedWrapper_b7e1cb .embedFlexGrow_b7e1cb .embedFull__623de .embed__623de .markup__75297 .justifyAuto__623de" doesnt work for me
how do i remove the yellow without removing the red? they have the same class....
[aria-label="Message Actions"] > div {
> [aria-label^="Click to react with"],
> [class^=separator] {
display: none;
}
}
``` who cares about classes, just use aria label 
amazing
wtf is that song name
just curious, is anybody working on a reversal of visual refresh that isnt tied to the experiment? bcs knowing discord they're gonna nuke it as soon as possible
like to convert the visual refresh back to the current ui with css??
yeah basically
not that i know of
i might make one to fix the server icons in folders since those look bad
but for the most part, i don't mind visual refresh
damn
i might try that then but itd be fucking rough lmao
i hate it bcs it completely screws up the theme i was using
well making it look more like the current one with css won't fix your theme
also it'll probably still be a while since it releases
yeah fair enough
however, pettiness
someone will definitely try
hell naw that sounds painful asf to make
Does someone have a visual refresh status bubble css where you can see the full thing without hovering over it? Bc I think I might be tripping and missing something
This could cover badges
If you remove the [role=tooltip] it'll make extra space if you don't want that
[role=tooltip] .inner_ab8609>div {
max-height: unset !important;
-webkit-line-clamp: 9;
}
also it's the same as without visual refresh
Whattt... maybe Im crashing out bc Ive been working on this theme for 6 hours (
) so I couldnt figure it out but thanks
Oh and while youre here, whats the class for the background of this:
can't you look for it yourself?
oh f8 isn't even working for me
Felt. I keep having to reopen my devtools
paste this into console
setTimeout(()=>{debugger},3000)
it'll do the f8 break thing after 3 seconds
Oh i'll keep that in mind
well you should be able to get the class using it

someone knowing the selector if the waveform?
.waveform_a8e78{
color: var(--brand-560) !important;
}
isnt doing anyting. i want to change the color of the darker part..
ill try. thanks
its my first time dealing with css :D
doesnt work for me
this is the selector
It's a canvas, try using background instead of color
i think i am using the wrong selector
Where even is that, I've never seen it
audios
I see
does,
body{background:url('https://jpg_image')rgba(0,0,0,0);background-size: cover;}```
no longer work?
I'm fixing the dynamic objects into transparent but I still can't see the background anywhere, only in the reload screen before all the UI loads up (it shows the old version that I remember)
My only theory is that I got picked for some labs crap on the new UI design
Welcome to visual refresh, where everything is fucked
real 
holycow
Very appropriately sized snail!
Is disblock origin not hiding the gift button for anyone else?
why tf is discord icon looks like minecraft now
doesn't really look like minecraft
WTF
DISCORD IS TURNING TO MINECRAFT
still looks normal to me
That looks good though
why are they killing the "Your place to talk" art style
π
i saw the redesigned activity privacy page a while ago and thought it looked out of place
oh nice hopefully it apply to all icons in the future 
what are wumpus doing?
yes, they changed icons to minecraft
hi.any compact themes you guys recommend?
looks like comic sans but bad
I hereby rename it "tragic sans"
Its visual refresh
i have this now too, wtf
what and why is this?
ok found it --custom-live-activity-status-emoji-size wasnt set. i setted it to 15px. idk whats the default size for that xd
okay thanks :D
oh came here to post a solution but i see its been found lol
are u sure this isnt just a theme
trust me, its visual refresh
I kinda like these icons
Bruh
what if u put a minecraft font instead of these minecraft icons
did this really happen
its not a theme its discord
they look to be in the clan tag icon style
horror
any way to keep this from happening
yeah, don't have a broken theme
its the chat bubbles
Theme conflict
desktop refresh is actually easier to theme in a lot of places
i went from 1300 lines to 800
this is the theme btw
how do i put the channel name up here? im not sure how to do something like that without js
need js
though i guess you could steal the normal channel name and move it
please elaborate
like the normal channel name
you could probably move it to the top somehow
but then it would be missing in its normal spot
position fixed or absolute probably
makes sense
hmmm. but now it goes away if i collapse it
ah, i can move the one in the channel description
eh
yeah this works well ```css
[class^="titleWrapper"]>h1 {
position: fixed !important;
left:65%;
top: 0px;
font-family: "ubuntu";
}
Is it just me doing something wrong or QuickCSS can't target the popout window that views a channel separately?
(The popout window can be opened here)
Example snippet
main[class^="chatContent"] {
background-color: darkcyan;
}```
I FUCKING INSPECTED THE QUICKCSS EDITOR π

yeah, its normal?
you can inspect the loading screen as well
it doesn't get injected into popout windows
any way to replace the text
probably wouldnt recommend the double underscores because discord could have done a mistype and added extra underscore
also refact0r's midnight theme does it in a different way instead of using svg, just uses ::after content
yes, the snippet in the message you replied to does that
(although i'd probably recommend using the non future proofed one)
The second _ is part of the hash, which can and will change when classes are reshuffled
Sad
society if we could rice quickcss window
Gaudy and impractical and with too many rounded corners, yep
lol
btw is the popout from this experiment?
oh ok now it's working after restarting discord
that's a pretty nice experiment
Yeah! Iirc it might have been that experiment, i enabled it a long time ago
It's a shame we can't inject CSS to it, i was hoping to have all of the extra buttons well organised in the popout as well
one day you might be able to 
π
yeah, and its really easy to select only the popup if you wanna fix some styling as it just uses .popout__0bd4a
I mean... you can if you're dedicated enough
monaco is sort of horrible to deal with tho so I wouldn't recommend -- not worth it
from experience\
making a text editor in web is hard
making a syntax highlighted text editor in web shouldnt be possible
thank you for coming to my ted talk
i made a WYSIWYG editor for one company, that absolutely couldnt use any other available editor because of licensing and privacy laws
IT WAS FUCKIGN HELL
it is NOT easy
Yeah itβs quite horrible
may i present javascript
I mean yeah but would be neat if you could just do it normally
how do i change this so the message actions move to the right (rn they are just above every message i send)
like you want them to move over the member list?
i did make this if that's sort of what you're wanting #π¨-css-snippets message
nvm i fixed it
there was a line of code below that 1
making the actions appear on my own messages
was anoying
this was the code btw
what is it even doing?
also why do you have #app-mount
do you use right aligned messages of your own?
its a chat bubbles thing i found in #π¨-css-snippets
i like it
it was making the like forward reply and stuf actions appear on top of every message i sent
(could bearly see my own msgs)
think i said sum abt it before
there we r
Ddex4, msgs stolen from someone I forget
They used app-mount for some god-forsaken reason, should really remove it
i have defeated god
holy blade out here gonna make a mobile responsive version of discord before vencord gets a mobile app
XD
im talking about transparency and being resizable, but hey that gives me an idea
unfortunately we still dont have extensions on mobile, so cant install vencord and....
this gives me an idea
the vencord apk:
kiwi browser died 22 days ago, was about to go test if vencord extension works
oh god, please, minimal effort
i think we fixed that
damn, not a solid argument for PWA then, outside of webviews being utter garbage
oh but ms edge canary for mobile has extensions
IDEA LIVES ON
there's also a fork https://github.com/nin0-dev/VendroidEnhanced
LOL the thumbnail π
the firefox in question:
actual yt clickbait thumbnain XD
bruh ff is useless, not only does ven no longer support ff because of their dogshit approval system, firefox doesnt support PWA
and many of the APIs that i used to unshittify discord on web
no
no it doesnt
there's a 3rd party extension which offers partial installability, but its in no way close to what PWAs offer
? explain my several piracy site PWAs
they open separately but ok
ok what just triggered it
Thatβs just for removing everything no?
that allows you to replace the image
oh also remove the block with a comment above saying display
that hides the explore button
VE
ok caps doesn't matter
vh e βββββββββββββββββββββββββββββββββββββββββββββββββββ
Eval (e, $)
Evaluate javascript code
Usage
veval <code>
vh ve
Eval (e, $)
Evaluate javascript code
Usage
veval <code>
thats vhelp which looks for commands ig
man i wish i knew sooner that translate3d doesnt cause paint updates and is fully gpu accelerated and async
you can have js dictated position and transform updates, without any paint updates happening
Anyone know if it's possible to make custom CSS to add client side clan tags?
that seems very doable
thats not a bad idea for a plugin
Vns make a bd for it too
Ah OK, it'd be cool to have it now they are removing the clan tags, any idea where I would start making one for it?
wait they're removing clan tags?
database?
yeah
ClanDB
recreate the clans badge thing
make DB so other people can see yours and yall can share
ofc normal rules would still apply
Similar to Decor, USRBG and UserPFP ig
Or assign it to servers, just like standard clans
that too would work
Additionally, you could upload custom clan tag images instead of just using discord's pixel ones
Could probably add more, but they would have to fill the style with the existing Discord ones
cant make it just any image
would look werid
did anyone do a theme to fully hide the messages from "Ignored"/"Blocked" people? ty
theyll probably extend to other servers
vp noblockedmessages
Hides all blocked/ignored messages from chat completely
rushii, Samu, jamesbt365
One can hope, but if they dont its a solid idea for a pluger
tyy
they stoled it...
idk how did they managed to copy sketch discord's homework and they changed the W just a little bit
ok then
they copied sketch discord's homework
look at the font
the 7 doesn't have a line through it
OH
DID THEY COPIED OUR HOMEWORK?
yes...
then who copied first
we don't know...
can i see the difference?
ok lemme compare it
Does adding a transition effect like
transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
will-change: transform, opacity;
cause lag in Vencord? or anything else i should know hehe thank you for feedback.
depends on what you're transitioning and when, but pretty much everything will contribute to lag more or less
replace both instances of the.rabbit.disabler with your username,
and π HELP with whatever clan tab but emoji you want
.memberInner__5d473:has(> .avatar__91a9d > [aria-label^="the.rabbit.disabler"]) .nameAndDecorators__91a9d::after {
content: "π HELP"; display: inline-block;padding: 1px 4px;max-height: 18px !important;background: var(--bg-mod-strong);border-radius: 4px;vertical-align: middle;background-color: var(--bg-mod-strong);color: var(--text-normal);font-family: var(--font-primary);font-size: 12px;font-weight: 600;line-height: 16px !important;width: fit-content;}
div[aria-label="the.rabbit.disabler"] .tags__63ed3::after {
content: "π HELP"; display: inline-block;padding: 2px 4px;vertical-align: middle;color: var(--text-normal);font-family: var(--font-primary);font-size: 12px;font-weight: 600;line-height: 16px !important;width: fit-content;height: 22px;border: 1px solid var(--border-faint);border-radius: var(--radius-xs);box-sizing: border-box;border-color: var(--profile-body-border-color);
}
this looks neater in the quickcss editor, trust me
Insane
i'd rather use discord id's than usernames
not much
dude its so stupid, why is it that when i see it in the quick css editor, it looks formatted, but the moment i copy it and paste it somewhere, it just decides to be compacted and i have to format again with prettier
i'm pretty sure they just formatted it weird in this case
no i swear
you cant in the memberlist
you could use discord id in the avatar
avatar url
also your css isnt working for me
i don't see .nameAndDecorators__91a9d or .tags__63ed3 anywhere
visual-refresh syndrome
ah that's for referesh?
idfk
yes, i use ddex4
my theme
but this should work on non-visual refresh. you probably didnt enter a thing right
you're not high up in member list, so i was basing it on in chat
i assumed it works in chat?
but ctrl+f didn't work for either of those classes
WAIT
oops caps
i had members list colklapsed...
so the nameAndDecorators class does exist, but i still can't find the .tags__...
ve
Ok made some only partially scuffed selectors to get it to mostly work
[id^=chat-messages-]:is(
[data-author-id="1017176847865352332"]
) [id^=message-username-]::after,
[data-list-item-id^=members-] .avatar__91a9d:has(img:is(
[src*="/1017176847865352332"]
))+div>div>.name__91a9d::after {
margin-left: 4px;
padding: 0px 4px;
height: 17px !important;
border-radius: 4px;
content: "π HELP";
display: inline-block;
background-color: var(--bg-mod-strong);
color: var(--text-normal);
font-size: 12px;
font-weight: 600;
line-height: 16px !important;
/* background: var(--bg-mod-strong); */
/* vertical-align: middle; */
/* font-family: var(--font-primary); */
/* width: fit-content; */
}```
user id is for venbot btw
kinda scuffed on members list right now
but don't feel like fixing
In the profile
I forgot chat
ah I didn't think about in there
Anyone got a reverse order of this chatbox please
follow this guide but set it to treatment 3 instead of 0
Ah thanks!
Here is some more CSS to make it appear in messages
/* New CSS for messages */
.message__5126c:has(.avatar_c19a55[src*="YOUR_USER_ID"]) .headerText_c19a55::after {
content: "π HELP";
display: inline-block;
padding: 1px 4px;
max-height: 18px !important;
background: var(--bg-mod-strong);
border-radius: 4px;
/* Remove vertical-align: top or any other vertical-align property here */
background-color: var(--bg-mod-strong);
color: var(--text-normal);
font-family: var(--font-primary);
font-size: 12px;
font-weight: 600;
line-height: 16px !important;
width: fit-content;
margin-left: 5px; /* Add some spacing */
position: relative; /* Crucial: Allows top positioning */
top: -2px; /* Adjust this value to move it up (negative) or down (positive) */
}
Anyone have the css to disable the nitro upsell button on the home page?
/* Hide Gift Button */.container_c0c49a, .iconContainer_c0c49a {display: none;} ```
I think the selector i made would be a bit more efficient
it doesn't have a :has()
[id^=chat-messages-]:is(
[data-author-id="1017176847865352332"]
) [id^=message-username-]::after```
could use classes instead of id^= for even more efficiency
Ah OK thanks! I don't really know much about CSS, I just quickly put it together with Gemini
but :has() is usually really bad for performance
Ah good to know
Would it be possible for anyone to recreate this theme? It looks really cool
i found it in this thread https://winclassic.net/thread/753/discord-classic-msn-theme
ere you can post your discord theme (better if its look old or classic ^^) I tried to do a classic theme, but i changed my mind tring to do a "MSN explorer 7 & 10 " style .(i now there is r
.memberInner__5d473:has(> .avatar__91a9d > [aria-label^="your_username"]) .nameAndDecorators__91a9d::after,
[id^=chat-messages-][data-author-id="your_user_ID"] [id^=message-username-]::after {
content: "π« PEW";
display: inline-block;
padding: 1px 4px;
max-height: 18px;
background-color: var(--bg-mod-strong);
border-radius: 4px;
color: var(--text-normal);
font-family: var(--font-primary);
font-size: 12px;
font-weight: 600;
line-height: 16px;
width: fit-content;
margin-left: 5px;
position: relative;
top: -2px;
}
end up like this i dont know
Anyone know the class name for this new thing? It's really annoying
I wanna just make it poof out of existence
can you not find it?
I'm not very good at finding class names, and it already disappeared because someone sent a message there to make the new vanish for me :P
it should be pretty easy to find
ah
well try using inspect element next time you see it
I think this is it?
ah like this?
[class*="newChannel__599fa"] {
display: none;
}
``` indeed appears to get rid of it
if you want it just use the class and not future proof it, you can just use
.newChannel__599fa {
display: none;
}
``` for future proof reasons, you can use
```css
[class*="newChannel_"] {
display: none;
}
make sure newChannel isnt broadly used so you donβt accidentally break something
It shouldnβt be
but still
lets use descendant selectors then 
if you want it to not break, you can use descendant selectors, totally will not have performance issues whatsoever at all
make sure to use :has() any chance you can get
/j
What's the difference between what I did and what you did with using .newChannel__599fa instead?
you didnt need to add an attribute selector when you are using the literal class. its just extra and slightly performance demanding (ive never felt it, but its an unspoken rule here iirc)
ah
Honestly in terms of things breaking my theme already uses so many class names that I just auto update the names using that online tool thingy
try to minimize attributes selectors unless you really have to, or are posting snippets into #π¨-css-snippets
At some point I want to completely overhaul my theme anyway
just saying, it's up to your preferences, i can (or we can) give you suggestions
yeah
google it
its fine i figured it out anyway
spent at least 20 minutes in this server trying to get anybody to help me and all i had to do was copy the IMAGE LINK
and not the link
lmao
* {
display: none !important;
}```
this might be the most disgusting snippet ever created 
yeah it uses tabs instead of spaces 
blame the quickcss editor..
it uses spaces for me
huh
oh theres an command to convert indentation to spaces
idk if it stays that way though
turn this on
ah
Ew, maths
svgs cause weird scaling problems so you have to calculate like 6 ratios
Ngl that is impressive
is there anyone with css to hide nitro profile backgrounds and avatar decorations?
i like to not be blinded and to be able to see profile pictures
i assume you mean this by nitro profile backgrounds?
actually you probably mean the colored background, not the banner
I think i've seen some snippets to hide avatar decorations in #π¨-css-snippets
ye
i tried looking at it once but ive only done css with good codebases and my head exploded
Best description of discord's css I've ever heard
well it's only a "bad codebase" because we're not using the codebase in css, we're using the compiled program
The colored background is literally just vars, so it's infinitely futureproof
idk if that's the best way of putting it, but i think it's probably good enough
you ever do CSS with obsidian?
shit has labeled class names.
the notetaking thing software?
yeah
i've never used it :(
you should. CSS dream
and discords codebase sucks anyway
i doubt they ship discord bad on purpose
the shitfixes abound
thatd be funny though
their obfuscation is making it shitter so all those freaky client mod users have to become gods to modify
stole this and did
img[class*="avatar"][src^="https://cdn.discordapp.com/avatar-decoration-presets/"] {
display: none;
}
and theres
vp noprofilethemes
Completely removes Nitro profile themes from everyone but yourself
TheKodeToad
I have a stupid amount of dumb knowledge in css
Purely because of discord
I know no html or js
I also know how to do stupidly complicated things in css but barely know html and no js
why not just
img[class^=avatarDecoration_] {
display: none;
}```

Heyo, I did this:
.footer__214dc{
display: none;
}```
to yeet the discovery button, however the notifications are now still displayed as if the button was there
Could someone help aligning them again?
'cause i didnt open the inspector
ultra lazy

I can't escape the colon three π
π
thanks
Are there any websites, that can show and provide me with a alot of themes?
Rate the theme
* { display: inline-block; }
incredible
What have i (while stalking refact0rβs server) just found https://github.com/Metro420yt/class-update
Wonder if it actually works�
I personally need to change some manually, but for the most part it works
Hey guys, i'm struggling trying to make a custom embed css, can someone help me?
basically, i want to make the embed border look like this
i know that theres a way to make with ::before, but i cannot get the color from embed because discord uses style="border-left-color" to change the color of the embed
theres a way that i can get the color of the embed and use on background-color on ::before or something else?
if it aint a var, nope.
you can set a border on the embed and it will inherit the same color
then just do like width 0 or something with a border radius
idk if that would work
in term of the performance for the CSS is it better to be more or less detailed ?
idk exactly how it work, but i'm trying to find if i should try to specify more at the risk of it breaking more often or not
also how do you do the css inside of css thing ? like the nested CSS
cause currently my user area redesign css looks like this and i could nest it, but again, idk if it's really better
[class^=panels] > [class^=container] /* User area redesign */
{
height: unset !important; /* Height being dynamic is fine */
}
[class^=panels] > [class^=container] > [class^=content] /* User area redesign */
{
align-items: unset !important; /* Don't need that */
padding: 6px 8px !important; /* Let those boxes breathe */
flex-direction: column-reverse !important; /* instead of going one next to the other, go stacked */
gap: 2px !important; /* Again let them breathe */
}
[class^=content] > [class^=avatarWrapper] /* Change the user box */
{
margin-right: unset !important; /* Useless */
margin-left: unset !important; /* Useless */
padding-left: 4px !important; /* Make it slightly bigger for consistency with the right side */
}
[class^=content] > [class^=avatarWrapper] ~ [class*=buttons] /* Change the quick settings */
{
justify-content: space-evenly !important; /* Let them breathe */
}
TL;DR
parent {
& (can be omitted) children { ... }
}```
oh i thought it was a custom css kind of thing
not a vanilla stuff
I believe all browsers have nesting support as of now
ok this shit is hella confusing
which is not the case for discord anyway
hop on w3schools
/j, they are just what i prefer
https://www.w3schools.com/cssref/sel_nesting.php
[class^=panels] > [class^=container] { /* User area redesign */
height: unset !important; /* Height being dynamic is fine */
& > [class^=content] { /* User area redesign */
align-items: unset !important; /* Don't need that */
padding: 6px 8px !important; /* Let those boxes breathe */
flex-direction: column-reverse !important; /* instead of going one next to the other, go stacked */
gap: 2px !important; /* Again let them breathe */
}
}
[class^=content] > [class^=avatarWrapper] { /* Change the user box */
margin-right: unset !important; /* Useless */
margin-left: unset !important; /* Useless */
padding-left: 4px !important; /* Make it slightly bigger for consistency with the right side */
& ~ [class*=buttons] { /* Change the quick settings */
justify-content: space-evenly !important; /* Let them breathe */
}
}```
ok so it'll look smth like this nested right ?
[class^=panels] > [class^=container] /* User area redesign */
{
height: unset !important; /* Height being dynamic is fine */
> [class^=content] /* User area redesign */
{
align-items: unset !important; /* Don't need that */
padding: 6px 8px !important; /* Let those boxes breathe */
flex-direction: column-reverse !important; /* Instead of going one next to the other, go stacked */
gap: 2px !important; /* Again let them breathe */
> [class^=avatarWrapper]/* Change the user box */
{
margin-right: unset !important; /* Useless */
margin-left: unset !important; /* Useless */
padding-left: 4px !important; /* Make it slightly bigger for consistency with the right side */
~ [class*=buttons] /* Change the quick settings */
{
justify-content: space-evenly !important; /* Let them breathe */
}
}
}
}
right click
hide
oh right, it's the same content
then yeah, that works
its also in the advanced section of the settings
yeah ok pretty much what i have done
i don't get why they tell to use the & symbol if it's useless
for what
::before ::after
i have so much to discover
i don't use that, problem solved
it does break syntax highlighting tho
it's not broken
it used to be, before they updated monaco (the quickcss editor thingy)
it's just how nesting is highlighted
it's broken, shit is fully white instead of colosed inside of []
this was from back when it was actually broken
this is not syntax highlighting
this is code completion
i said syntax highlighting is broken, not code completion
selectors are evaluated right to left, so you wanna make the rightmost selector as detailed/fast as possible
in general more detail is better but if you just keep stacking parent selectors in the middle or on the left then its not really going to change much
syntax highlighting = what color, shape, etc you give to the text
code completion = suggestion about the code and completion about it
actually i see what you mean as here it's the squiggles, but the issue is bad understanding of the code by the LSP, not how the LSP choose to color or format it
i see
so technically ideally i'd replace my star buttons in here
gotcha
doing Css in OpenAsar Config is brazy
in the case of the nested CSS, is there a step where a parser flatten it and then it gets evaluated like normal, or it does match the exterior then match the inside inside for optimization purposes with a virtual HTML tree shit or smth ?
From when monaco didn't like nesting and :has() selectors
i think so, idk
Plus doesnt openasar use an old version of monaco and thats why it happensβ¦ even tho the css does work, the program just doesnβt like it
yeah thats right
didnt see that message
tbh for now i don't find a lot of use for very advanced selectors, simple children and sibling relationship is enough generally
I guess, never used openasar, as I said it's a screenshot I found
there's only a single place where i use ::has()
That's one hell of a selector for just the gift button
openasar is nice, just stuff like the css config and other stuff is desperate need of an update
i used to use it, but stopped when i noticed that some stuff was just broken like activities and i like watch together
i don't like to rely on svg matching because it's unreadable
also for some reason the gift button use different HTML tree than all the other chatbar buttons, almost like if it was different on purpose to be easy to remove... (there might be a conspiracy there)
i think the gift button is the only button in that list so you could just do something with button type
well yes but no
look how i have 2 rules
or the aria-haspopup, i dont think thats based on language
We need an svg parser inside the quickcss editor

1st one is button type
2nd one isn't cause somehow the event gift button is different than the regular one
almost like if discord had spagetthi code
eeeeh if it's not based on language, maybe i could use that
i'll take a look at it
Discord does indeed have spaghetti code
also why are your commas at the start of the line π
also it's weird how we only have next relationship
It shouldn't
easy to comment out single like, i just add /* in front of it
big brain
Why not putting it between ] and /* though?

like you can do > for children and + for next sibling, but you cannot say < parent or - previous sibling, you need to do has children or next sibling
wdym ?
it makes it ass for mass editing
here i can multi select at the start of the line
yeah because css was not originally intended to do that
like you're supposed to just create a new class or id and select it lol
those are just hacks that somehow got added
[class1], /*comment*/
[class2], /*comment*/
etc...
Unless you're insane and go for
[class1] /*comment*/,
[class2] /*comment*/
kek
oh i see what u mean
just like people got backreferences in regex
like it's due to those people that most regex engines are forced to use a trash way to work
i do this actually, because i'm used to typing the comment directly after

Scary
also because its slightly easier to convert a listed selector to its own thing, you just delete the comma and type a bracket
yeah but then how do you comment nicely
at the start of the line ?
but then if you comment the last line, it breaks, because the before last line got a , at the end
personally i just cut the entire line lol
i don't cut when i'm in the process of editing
but i can understand
I just ctrl + c ctrl + v a previous comment and edit it
nah
even when i'm during editing i want my thing to keep working
so that i can see live what happen
and not jump from works to not works to works again, etc
help the brain visualize differences
also if you use comma at the end, its not too difficult to comment
since i go from state 1 to state 2 without intermediary state
.background_e681d1 /* settings nitro tab selected */,
just delete the last */ and then ctrl + /
same applies to comma directly after the selector
look this works nicely because syntax is valid
[class^=characterCount] > [class^=root] /* Hide bs nitro message length when short */
,[class^=characterCount] > [class^=flairContainer] /* Hide message length to work around */
/*,[class^=entryPointButtonContainer] /* Disable commands button in DMs */
{
display: none !important; /* Prevent display */
}
this doesn't work because syntax is invalid
[class^=characterCount] > [class^=root], /* Hide bs nitro message length when short */
[class^=characterCount] > [class^=flairContainer], /* Hide message length to work around */
/*[class^=entryPointButtonContainer] /* Disable commands button in DMs */
{
display: none !important; /* Prevent display */
}
because you have
[...],{...}
Yes it does (?)
it doesn't, it's invalid syntax, try it
after a comme a selector is expected
where is a misplaced comment ?
you can have a /* inside of a comment
the problem is the comma
not the comment
Ok, I see what you mean
i mean typing /* at the start of the line works for both comma at the start and directly after the selector, no?
this is a valid comment
/*/**/
By having the comma at the start of the line it's easier to wrap it inside a comment
no for the exact reason i shop
yep, it allow to keep valid syntax due to no trailing comma
/*,.selector /* valid comment */
/*.selector, /* valid comment */
/*.selector /* will error due to comma */,
second code block from here with text replaced by ellipsis
comma is after selector
last selector is commented
there is a trailing comma before the property block
[...] > [...], /*...*/
[...] > [...], /*...*/
/*[...] /*...*/
{
...
}
yes
makes sense
i found the best slution to handle edge cases
i don't like it that much, it seemed cursed at 1st, but it just makes sense when you use it
you can even see some of my legacy code in my screenshot that doesn't yet use that trick
Yeah now that I get the point it makes sense
because if it doesn't break, don't touch it
same lol, i learnt more from themeing discord than making my site
given the visual refresh, there's no wya to move the inbox down where it was using just css, is there?
you can but not super cleanly
wdym cleanly
i'd paste 100 lines to get rid of this
π
margins and/or position:relative trickery
wouldn't position: relative implode the minute you resize the window
stupid discord
If you mean like this then,
/* Rounded Context Menu and embeds */
.menu_c1e9c4, .colorDefault_c1e9c4 {
border-radius: 15px;
}
#app-mount .embedFull__623de {
border: 3px solid;
border-radius: 15px;
}```
Snippet came from #π¨-css-snippets btw, try looking in there next time
oh thank you so much. i recall having a snippet for this but i thought it was from the bd server.
Glad i could help
hey, is there any way to make the vc chat feature open like a normal channel? i've been trying to write some css that did this for FOREVER and i can't get anything to work
you cant do it perfectly without a plugin as far as I can tell
this bit here seems to have shat the bed somehow
used to just work and now it looks like this
wdym
π #π₯-vencord-support-π₯
(Auto-response invoked by @pure cairn)
Yeah discord changed the panel somehow, fucking up shit
π
its likely a softx issue you have to wait for gibbu to fix it
damn
Did CSS just break or something?
I've got e.g.
/** Spotify Player / Popup **/ .theme-dark #vc-spotify-player{background:transparent!important;}```
the class is correct but it doesn't inject?
I applied the css via OpenASAR and it works fine but not the default Vencord toggle
Not sure what changed in the last 3 days
(I think I might be in the wrong channel tbh, more of a support question
)
i really wanna make a snippet, but idk what snippet to make
Ooer theme
make one that render discord upside down so australians can use Vencord too
ight bet
what doing it on html instead of app thing work with popups?
that's not good tho, not what i said
i said upside down not rotated 180 degrees
i want a mirror translation π
upside down is rotated 180 degrees not mirrored
but I think you can do it with scaleY: -1; or something?
are ya happy now
ah me say wrong speak engrish hard
yeah thanks very cool
tho it doesn't work on everything
oh doing it on html still doesn't fix the tooltips
it needs to change the top: [amount]px to bottom
best i have for now
html,[class^=layerContainer],[class^=drawerSizingWrapper]{transform:scaleY(-1)!important;}
doesn't include tooltips
the idea is fine but the icons themselves are mid
they also shouldn't be green
they should be the same color as the text
yeah the green is the main problem
Can agree about the green, and maybe the music icon should be something else⦠but other than that, I actually like them
so, activity status colour Css coming up? :p
maybe π
stupid question, but is there a way in CSS to detect if the user is on normal or on canary and to enable a different block
Probably not. Would this be a good feature for ThemeAttributes?
idk it's just that today, i have a snippet that works only on stable and not on canary
but if i make it in a way that works on both, then i end up with it being anormal on stable
so if i could conditionally enable CSS i could make it work on both platform
also by denesting merged i could avoid duplication, but still the root would be annoying
technically i just thought about it, but i could do not has child content... mmmmm
actually i can do that and conditionally
sometimes all you need is to rethink the problem
duplication go trash
this is very cool actually
i didn't think it'd work, but i mean it makes sense that it does
yes please. suggested * 
W theme
yes
do u know what font is this
handwriting text
why the lamdba in handwriting text font flipped y?
yes its because the flipped Y
how many language did they supported on this font?
latin extended, cyrillic and greek
is there any CSS that runs a css code when screensharing or streamer mode enabled
you'd (probably) need to use :has() which is very bad for performance normally

?
what do you want to do?
:has() will kill your discord
yes
is there no alternatives π
i tried this and i noticed it was trash
not really, but depending on how you use :has(), it has more of a performance impact
tried what?
hiding icons when streamer mode was enabled
it worked but fucked my performance bad
what icons do you want to hide
specifically
can you just send the css you used?
like? specify pls
body:has(.colorStreamerMode__6e2b9) [data-list-id="guildsnav"] {
[class^="icon__6e9f8"] {
display: none;
}
}
body:not(:has(.colorStreamerMode__6e2b9)) [data-list-id="guildsnav"] [class^="icon__6e9f8"] {
display: icon;
}
@echo frost @crimson skiff
yeah there's a much better way to do that
also doing it like this wonty work if you press the x
ik
i dont know any other way
yeah i don't think there is
any day now https://github.com/Vendicated/Vencord/pull/2696
whats ur way ?
also use .icon__6e9f8 instead of class^=
what does display: icon even do
brings back the icons
what icons?
guild
display: icon isn't valid css
This should be quite a bit better
.guilds_c48ade:has(+div>.colorStreamerMode__6e2b9) .icon__6e9f8 {
display: icon;
}
^
the first part is the same?
no i meant
but it selects the same elements
is that
body:has(.colorStreamerMode__6e2b9) [data-list-id="guildsnav"] {
[class^="icon__6e9f8"] {
display: none;
}
}
.guilds_c48ade:has(+div>.colorStreamerMode__6e2b9) .icon__6e9f8 {
display: icon;
}
this how its like now
it works
but still lags my discord
wait
forgot
wait wtf is the second part of your snippet
please explain in detail what you're trying to do
the one you sent
oh
do this
.guilds_c48ade:has(+div>.colorStreamerMode__6e2b9) .icon__6e9f8 {
display: none;
}
so you want to hide the server icons
no, all of them
guildsnav
i thought u put guildsnav in it
???
the server list
.guilds_c48ade is the parent element of guildsnav
and allows it to be a bit more efficient
ohhh alright
do you want nicer looking censored server icons?
also made it work with folder icons
.guilds_c48ade:has(+div>.colorStreamerMode__6e2b9) :is(.icon__6e9f8, .icon_f34534, .acronym__6e9f8) {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Crect width='120' height='120' fill='%2329282f'/%3E%3Ctext xmlns='http://www.w3.org/2000/svg' x='50%25' y='50%25' fill='%23dbdee1' dominant-baseline='middle' text-anchor='middle' style='font-size: 48px'%3E-%3C/text%3E%3C/svg%3E");
}
doesn't censor ones with text icons though
added it
but wouldn't be too hard to add that
oh it was even easier than i thought
Z
OS
@subtle sedge
nice
thanks

do you also want it w hille streaming?
sure
also ther reason this is so much more inefficient is because :has() makes it search (pretty much) all of the elements under body when used like that, but for mine, it only looks at the couple children of a sibling of an element
i think streaming would be quite a bit harder and less efficient
but i did make a streaming detection once
idk if i can find it though
i see
ok found what i was thinking of i think
not quite streaming detection, and very inefficient
its good
streamer mode works well
that detects these vc icons and then puts them by the server
looks cool
u should post in css snips
i wouldn't recommend using it, because i'm sure it causes a ton of lag, and isn't very useful
oh
it doesnt use has()?
(and it's incredibly cursed)
but that's actually more reason to post it
yes it does use :has()
and not very efficient :has()'s

it needs the multiple ampersands for the right specificity (:

so far i've managed to not use a single :has() in midnight refresh
i shall reach peak performance
I already know how to do peak performance
I would say "how the fuck"
But then again my theme is using weird shit to mess with padding and stuff whereas yours really isn't so
i feel like :has() is usually only needed when doing scuffed things
(that's why a lot of my css has it)
i think you know what nesting is right?
Nesting is syntax sugar and is largely unrelated to :has
yes
why?
problem with :has() is that conditional CSS is so addictive
Unless it's something absolutely trivial I'd just patch it to add a class if the condition is met
is it really that bad ?
Traversing the whole tree over and over is pretty expensive
Not only does :has take time to evaluate, but it also requires the selector to reevaluate any time anything changes
i see
it's much better when using like :has(>.direct-child-or-something) though i think
i always try to use > or + or something when using has
I'm curious if it's feesable to use CSS to make the "ShowMeYourName" plugin text above/below the display/friend name
I'm not in particular asking anyone to do it for me, but if you feel like it cool
just didn't want to put in extra effort if it's for sure impossible
or maybe rather ask the dev to build that feature in idk
oh ok good, i'm always using it in that case
if you have the themeattributes plugin, i think it add useful data
as in show the username above/below the display name?
thats 100% possible
thats also what i do
guys, I'm changing the color of --background-primary and almost all elements that use the variable change color, but some elements refuse to do so, and still grab the value from discord css. why is that?
what'd you mean by this?
i didn't look at the increase in specifity and thought you can merge with nesting
it already uses nesting
maybe too much nesting
that was from a while ago when i liked making my css as complicated as possible
Are you using !important ?
nope, should I use it on the variable?
Yes
well that doesn't seem to work, that header should have the same color as the div below (yellow circle)
no im pretty sure you can use root for all color variables
inspect it, it might be using a different color variable
check computed styles and you'll see exactly what rule is taking effect
I'm trying to hide the Activities section on a private server (seen below)
I made a snippet that works but messes up every other server that doesn't have activities
is there a simple check i'm missing in the quickcss to make sure css only applies to servers I want? (or plugin I missed?)
My current check is very janky and breaks very easily
div[role="list"][aria-label="Members"] > :nth-child(2) {
visibility: hidden;
height: 0;
padding: 0;
}
I repeat this for every part I want to hide (so nth-child 2, 3, 4, and 5)
this is how it looks on this sever due to the lack of a server check
/* Remove Activity Members List */
div[aria-label*="Members"] > div > div[role="listitem"] {
display: none;
}
im using this
that's great it reduces just down to this one line without breaking everything
so this works because the activity divs are the only ones with the role "listitem"?
so peak
@property --small-user-panel {
syntax: 'on | off';
inherits: false;
initial-value: off;
}
@container root style(--small-user-panel: on) {
.visual-refresh {
.base_c48ade {
grid-template-areas:
'titleBar titleBar titleBar'
'guildsList notice notice'
'guildsList channelsList page'
'guildsList userPanel page';
}
}
}
@vestal field @clear siren thanks, finally your suggestions led me to a solution. I just had to add .theme-dark and now variables are recognized everywhere
I've also been planning on using custom props and containers but haven't found a good use yet (and been procrastinating on theming partly because even my actuallybasicbackground makes my vesktop lag like hell)
theming discord is just no fun anymore π
does someone have the list of things that cause lag in css now
i need to fixup my quickcss
everything
yea, thats what im experiencing π
transitions, backdrop blur, and bad selectors (:has(), [*=], *]
wait, whats the third selector
whats *]
oh just like using *
actually thats not that bad
but if you have something before it then it kinda gets weird
isn't :is just extra specified attributes?
im not that good at css π
i dont think :is and :where are bad for performance
:is is kinda just a shortcut for having a list of nested selectors i think
and :where() is like is, but it doesn't add specificity
so like :where(.class) {} will select the same element ass .class {}, but the :where() one will have 0 specificity but normal .class one will have 1?
yeah
huh

lowkey it would be interesting if someone was to make a theme with macos type dockbar for server list
like tabs v2
like how? show first 5 servers/folders then hover makes it expand?
and Horizontal Server List exists btw
yesh
yeah*
@tall lion bringing this here because its more relevant
from what i can tell, this will break pindms
it also removes message requests
Reducing 8 to 7 stops is breaking pindms (the top label/dropdown of the top category was getting removed.)
I haven't tested message requests, I think I'll need to have another look at the CSS to try and find something that the stuff I want to remove has in-common, although as far as I can remember there's almost nothing.
My css selectors are getting smarter... I don't know if this breaks message requests though:
ul[aria-label="Direct Messages"]> *:has(~ [class^="sectionDivider"]):not([class^="friend"]){
background-color: red;
}
note that :has is slow and fucky
i suggest, just selecting sectionDivider outright
The point is that I want everything before the section dividers but not the friends icon, so I'm using ~ for "has .... sibling anywhere after it"
just select the elements outright
The problem is that they don't have unique classes as far as I can tell. I'll see if i can do it individually though. Might be a ton of duplication but it's not an issue
Make a patch
[href="/store"]
[href="/shop"]
[style="height: 8px;"]
Or do your styling on foo and undo it in bar ~ foo
Didn't know I could select by hfref that's huge
this is what i ended up making
ul[aria-label="Direct Messages"]>:is(
div[class^=container__],
div[class^=friendsButtonContainer]+li+li,
div[class^=friendsButtonContainer]+li+li+li
) {
display: none;
}
Modified it to work for me...
ul[aria-label="Direct Messages"]>:is(
div[class^=container__],
div[class^=friendsButtonContainer]+li,
div[class^=friendsButtonContainer]+li+li,
div[class^=friendsButtonContainer]~div[class^="section"],
) {
display: none;
}
Your version didn't get rid of the nitro button for me
huh, could you send a ss of your sidebar
This is with/without the css
do you not have message requests, even without the css
I think it's because in my settings I allow anyone to message me? (I am yet to be burned by it so i like being open to chat)
ah
These are my settings:
weird
you prob havent gotten one thats gone to requests yet
because you have them enabled
Can you DM me to see if it will go to requests? Then I can see if we can protect "message requests" somehow
i dont think it will
i sent one
It went there
Now shop shows up instead because message requests is directly under friends
ul[aria-label="Direct Messages"]>*:is(
:has(a[href="/store"]),
:has(a[href="/shop"]),
div[class^="container"],
div[class^="section"]
) {
background-color: red;
}
This is what I'm settling on. Yes it has has and apparently that's terribe for performance but it's kinda the only way to select exactly what you need.
I'm pretty sure it can be done with only one has
Also *is seems terrible
waste of space 
dear God, what would we ever do with that 35x16
https://x.com/nitzukai/status/1890490553386639673?s=46 this would go hard as a theme 
discord can use it far worse than we can
usually nth child isnt good for sections that can always change, like the dms section
i will put ad
i think discord will do the same
Honestly, It would actually be the perfect place to put someoneβs guild tag if they had one
so.. can div[class*="container_"] cause more lag than div[class^="container_"]?
context: I spent two months remaking my theme to make it more performant (basically removing all the :has() and by that, changing the design I had in mind) and now that everything is selected via[class*="container_"] it lags again 
yes
YES
looks like a lot of work
can anyone check my seamlesschatbar whether the jump to present bar isnt taking the width of the chat bar?
refresh
before - after.
i assume you are using my snippet? if so no, it doesnt support visual refresh
pls send me the theme link
I think he made it
thanks, I hope this fixes the lag once and for all π
the original version of my DDEX4 ran at like 1fps no matter what device you were on
that was like 900 lines
ddex4 has now been re-coded to reduce lag and now at 1.8k lines
runs like a charm
yeah, css lag is important
I mixed up, its this
https://github.com/nanoqoi/vencord-theme
Contribute to nanoqoi/vencord-theme development by creating an account on GitHub.
i think
lol, any tip to achieve this? bc I made that change and it still has the same lag. my selectors look like this:
- dont use futureproof selectors unless if you are making a small snippet (which you are not lol).
- dont do div[...]. CSS works right-to-left, so this adds exra shit to the engine to look for.
- in general, dont use too much specificity, as this adds exra shit to the engine to look for.
thanks, btw the first one killed me
so, does this mean that every few months I would have to update the whole theme?
yup. dont worry, theres a class updater
and how does this work?

woah
thanks
for a moment I was thinking about giving up π€§
.activityPanel_c48ade {
display: none;
}```
backdrop-filter is so jank...
Hey does anyone have an example of how i would target the sidebar added by Better folders plugin?
a theme im using isnt fully compatible im trying to tweak it and move the second bar down.
ok so almost works as im using a different horizontal server list than the horizontal server list theme
trying to tweak this one
that is VERY different and I'll probably never add support to it





