#๐จ-theme-development
1 messages ยท Page 26 of 1
Np, I remember having the same issue when I was using icons on this one
And I had to switch to webkit-mask-image
should I have both lines?
I had
-webkit-mask-image: whatever you want;
mask-image: -webkit-mask-image;
It works, but I don't know if that's the correct way of doing that
My approach to css is basically
Is that even valid?
Because none of those lines makes sense to me
webkit-mask-image without leading dash is not a valid property
maybe it should be:
mask-image: var(-webkit-mask-image);
And mask-image: -webkit-mask-image? That doesn't mean anything
^
Oh wait, webkit-mask-image had a starting dash
Forgot
/* Spotify Icons */
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 {
margin-left: 22px;
}
#vc-spotify-titles {
margin-left: 15px;
}
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 > div:first-child::before,
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 > div:nth-child(2)::before,
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 > div:nth-child(3)::before,
#vc-spotify-titles > div:first-child::before,
#vc-spotify-titles > div:nth-child(2)::before,
#vc-spotify-titles > div:nth-child(3)::before {
-webkit-mark-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: contain;
mask-size: contain;
padding: 7px;
margin-left: -17px;
margin-top: 2px;
content: '';
background-color: var(--header-primary);
position: absolute;
}```
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 > div:first-child::before, #vc-spotify-titles > div:first-child::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%' height='100%' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-music-4'%3E%3Cpath d='M9 18V5l12-2v13'%3E%3C/path%3E%3Cpath d='m9 9 12-2'%3E%3C/path%3E%3Ccircle cx='6' cy='18' r='3'%3E%3C/circle%3E%3Ccircle cx='18' cy='16' r='3'%3E%3C/circle%3E%3C/svg%3E");
mask-image: -webkit-mask-image;
}
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 > div:nth-child(2)::before, #vc-spotify-titles > div:nth-child(2)::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-mic'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'%3E%3C/path%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'%3E%3C/path%3E%3Cline x1='12' x2='12' y1='19' y2='22'%3E%3C/line%3E%3C/svg%3E");
mask-image: -webkit-mask-image;
}
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 > div:nth-child(3)::before, #vc-spotify-titles > div:nth-child(3)::before {
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-disc-2'%3E%3Ccircle cx='12' cy='12' r='4'%3E%3C/circle%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='12' x2='12' y2='12.01'%3E%3C/line%3E%3C/svg%3E");
mask-image: -webkit-mask-image;
}```
This was the whole code
I wouldn't expect mask-image: -webkit-mask-image to do anything, but if it works, sure
it says invalid property
so having just -webkit-mask-image is not working on every device? mask-image has to be there too?
so newer chromium/electron supports mask-image without prefix which is why you need to declare it, and the invalid value works for it because it will then use the prefixed one as it is valid
it's always been kinda weird working with prefixed and non-prefixed properties, afaict there's nothing in the spec about their importance so I guess it's just whichever comes last in the css
spec just says don't use them lol
/* Channel Bubble */
.wrapper__7bcde:hover .link__95dc0,
.side_b4b3f6 .item__48dda:hover {
border-radius: 25px;
}
.containerDefault__3187b .modeSelected__487d6 {
background-color: var(--background-tertiary);
border-radius: 25px;
margin: 1px 6px;
text-align: left;
}
[class*="modeSelected__"] [class^="icon_"],
[class^="containerDefault__"]:hover [class^="icon_"]:not(.icon_ef4486) {
color: var(--main-color)
}
[class*="modeSelected__"] .linkTop_eaa673 {
margin-left: -6px;
}```
there must be another way of avoiding the channel name to shift, without having to patch it later in the code, right?
nevermind, it's broken with covers that are not a square
maybe a max-width might help
hehe yup
/* Spotify Controls */
#vc-spotify-titles {
margin-left: 15px;
}
#vc-spotify-titles > div:first-child::before {
content: ":musical_note:";
margin-top: -6px;
left: 65.5px;
}
#vc-spotify-titles > div:nth-child(2)::before {
content: ":microphone:";
margin-top: -6px;
left: 65.5px;
}
#vc-spotify-titles > div:nth-child(3)::before {
content: ":cd:";
margin-top: -6px;
left: 65.5px;
}
#vc-spotify-album-image {
border-radius: 10px;
max-width: 43.2px; /* prevent larger covers from breaking stuff */
}
#vc-spotify-album-expanded-wrapper #vc-spotify-album-image {
max-width: initial !important;
}
[class*=vc-spotify-shuffle-on] > svg,
[class*=vc-spotify-repeat-context] > svg,
[class*=vc-spotify-repeat-track] > svg {
fill: var(--main-color)
}```
now it should be working fine (?)
That's probably on discord, it converts emojis into :emoji: when I paste it here
Also, how do imports work? When I edit stuff on the quickcss file it changes on live, but what about when I change stuff on github? Do I have to reload discord to see the difference?
Or can I just toggle the quickcss on and off
Ok, I'll stick to that one then, thanks
remove the link, add it back
that's weird that it does it for code too
no, that's probably because I made it a codeblock after pasting it here
yeah if you paste it inside a codeblock it won't convert
but if you make it a codeblock after the fact it will
at least w theme links this works, havent tested w @ import in qcss
Yeah
Which is dumb af, someone should nake a plugin
maybe
To make discord emojis behave like unicode characters instead of strings/whatever they are?
That too, but mostly to not screw up copypaste
That would be cool
I'll try this one later, thanks to you as well

But yeah, it works fine on github
/* Spotify Controls */
#vc-spotify-titles {
margin-left: 15px;
}
#vc-spotify-titles > div:first-child::before {
content: "๐ต";
margin-top: -6px;
left: 65.5px;
}
#vc-spotify-titles > div:nth-child(2)::before {
content: "๐ค";
margin-top: -6px;
left: 65.5px;
}
#vc-spotify-titles > div:nth-child(3)::before {
content: "๐ฟ";
margin-top: -6px;
left: 65.5px;
}
#vc-spotify-album-image {
border-radius: 10px;
max-width: 43.2px; /* prevent larger covers from breaking stuff */
}
#vc-spotify-album-expanded-wrapper #vc-spotify-album-image {
max-width: initial !important;
}
[class*=vc-spotify-shuffle-on] > svg,
[class*=vc-spotify-repeat-context] > svg,
[class*=vc-spotify-repeat-track] > svg {
fill: var(--main-color)
}```
there you go
/* Channel Bubble */
.wrapper__7bcde:hover [class^=link__],
.side_b4b3f6 .item__48dda:hover {
border-radius: 25px;
background: var(--background-primary);
margin: 0px 6px;
}
[class^="containerDefault__"] [class*="modeSelected__"] {
background-color: var(--background-tertiary);
border-radius: 25px;
margin: 0px 6px;
}
.wrapper__7bcde:has([class*="modeSelected__"]):hover [class^="linkTop_"],
.wrapper__7bcde:hover [class^="linkTop_"] {
margin: 0px -6px;
}
[class*="modeSelected__"] [class^="icon_"],
[class^="containerDefault__"]:hover [class^="icon_"]:not(.icon_ef4486) {
color: var(--main-color)
}
[class*="modeSelected__"] [class^="linkTop_"] {
margin: 0px -6px;
}```
ok, what am I missing here that it doesn't work?
currently hovering the selected channel

is there a way u can make this so i can make it wider without making everything break?
when i try to change the widht its breaking the scroll bar and its not increasing the widht of the box of each user
hi, is there a way to display the images in their original form instead of a grid?
like this:
i have been messing around, but i couldn't do it
NoMosaic plugin
wow, thanks
btw, I would like to share a CSS snippet in #๐จ-css-snippets , how can I do it?
you need a role for that (snippet dev or regular)
you can get snippet dev by asking a mod nicely and also maybe proving what you're gonna post is decent by sharing it here first
probably
but since I can't even fix a snippet of mine, I'm not confident enough in editing something that's based on hardcoded stuff (memberlist max-width)

what are you trying to fix
my life
/* Channel Bubble */
.wrapper__7bcde:hover [class^=link__],
.side_b4b3f6 .item__48dda:hover {
border-radius: 25px;
background: var(--background-primary);
margin: 0px 6px;
}
[class^="containerDefault__"] [class*="modeSelected__"] {
background-color: var(--background-tertiary);
border-radius: 25px;
margin: 0px 6px;
}
.wrapper__7bcde:hover [class^="linkTop_"],
[class*="modeSelected__"] [class^="linkTop_"] {
margin: 0px -6px;
}
[class*="modeSelected__"] [class^="icon_"],
[class^="containerDefault__"]:hover [class^="icon_"]:not(.icon_ef4486) {
color: var(--main-color)
}
.unread__48cf4 { /* fix unread pill */
z-index: 1;
}
[class^="containerDefault__"] [class*="modeSelected__"] [class^=link__] {
background: none;
}```
I have this css, but I can't make it so selected channels names don't move on hover
so atm every time I hover the channel I'm currently in, the text moves
I tried with
.wrapper__7bcde:has([class*="modeSelected__"]):hover [class^="linkTop_"]
but it wouldn't work
youre setting a margin to the element on hover
I'm setting a negative margin to compensate for the margin I set earlier
terrible idea, I know
what are you even trying to make it look like
like this
even when I'm hovering the channel name
meanwhile this is how it looks now when I hover the channel
This would stop the word from having the 3 dots
[class^=link__] .name__8d1ec.overflow__87fe8 {
text-overflow:clip;
}```
mhm yes, but not really what I was looking for sadly
if you're gonna do something with margins you're probably gonna mess up the icon placement
yeah but the issue is that part of the code is working
it's just the selected channel on hover that's messed up
before I had changed the code, this was how the selected channel would look at all times
then I added a hover effect for all the channels, while dealing with the margin I set earlier
so I set the negative margin to have the text stay in place
.wrapper__7bcde:hover [class^=link__],
.side_b4b3f6 .item__48dda:hover {
background: var(--background-primary);
}
[class^="containerDefault__"] [class*="modeSelected__"] {
background-color: var(--background-tertiary);
border-radius: 25px;
margin: 0px 6px;
}
.wrapper__7bcde:hover [class^="linkTop_"],
[class*="modeSelected__"] [class^="linkTop_"] {
margin: 0px -6px;
}
[class*="modeSelected__"] [class^="icon_"],
[class^="containerDefault__"]:hover [class^="icon_"]:not(.icon_ef4486) {
color: var(--main-color)
}
.unread__48cf4 { /* fix unread pill */
z-index: 1;
}
[class^="containerDefault__"] [class*="modeSelected__"] [class^=link__] {
background: none;
}```
well, now it won't move the selected channel name anymore
but it moves everything else

doesnt for me
.wrapper__7bcde:hover [class^=link__],
.side_b4b3f6 .item__48dda:hover {
background: var(--background-primary);
}
[class^="containerDefault__"] [class*="modeSelected__"] {
background-color: var(--background-tertiary);
border-radius: 25px;
margin: 0px 6px;
}
[class*="modeSelected__"] [class^="linkTop_"] {
margin: 0px -6px;
}
[class*="modeSelected__"] [class^="icon_"],
[class^="containerDefault__"]:hover [class^="icon_"]:not(.icon_ef4486) {
color: var(--main-color)
}
.unread__48cf4 { /* fix unread pill */
z-index: 1;
}
[class^="containerDefault__"] [class*="modeSelected__"] [class^=link__] {
background: none;
}```
ok, now it works properly
it's just missing the border radius and the margin
which bring me back to the starting point
i think you can figure that one out yourself

then you're also gonna have to adjust it for multiple icons
typing indicator
ยฏ_(ใ)_/ยฏ
I don't use it
and I have pretty much all channel icons disabled, except vc chat button
okay, thanks. I will try it
Yeah, this is basically the same snippet, except it doesn't have the margin and border radius on hover for unselected channels
And if I add them, I simply go back to the beginning, which is my snippet 
why do you have a margin set on hover
for this effect
yeah i cant tell what it does since its an image
1 sec, I'll send a gif
1st part is what it should do
final part is what it shouldn't
hope that's somewhat more clear
you're trying to make the currently selected channel name skinnier on hover?
no
just the selection area
the text should stay the same
which is what it's doing for the unselected channels
I just can't make it work for the selected ones as well
so the background?
yeah
.wrapper__7bcde:hover [class^=link__],
.side_b4b3f6 .item__48dda:hover {
border-radius: 25px;
background: var(--background-primary);
}
.wrapper__7bcde:hover:not([class*="modeSelected__"]) [class^=link__],
.side_b4b3f6 .item__48dda:hover {
margin: 0px 6px;
}
[class^="containerDefault__"] [class*="modeSelected__"] {
background-color: var(--background-tertiary);
border-radius: 25px;
margin: 0 6px 0 14px;
}
.wrapper__7bcde:hover [class^="linkTop_"],
[class*="modeSelected__"] [class^="linkTop_"] {
margin: 0px -6px;
}
[class*="modeSelected__"] [class^="icon_"],
[class^="containerDefault__"]:hover [class^="icon_"]:not(.icon_ef4486) {
color: var(--main-color)
}
.unread__48cf4 { /* fix unread pill */
z-index: 1;
}
[class^="containerDefault__"] [class*="modeSelected__"] [class^=link__] {
background: none;
}```
already did, found nothing that would cause it to shift
the only thing left would probably be the theme
search for modeselected in your theme
it only has the hover selection
...
this looks cool

then its your other css
debug it whole then
finish.. theme..? I don't think that's a thing that is possible
Wish I read this beforehand
Because it's killing me
I feel like most themers are somewhere on the ocd spectrum, the rest just use other people's themes
I can never use other people's themes, I need to make my own

there are a few out there that i would actually use
but unfortunately most of them are either slow or not well maintained
or wait for this to get merged https://github.com/Vencord/Vesktop/pull/355
Or i can add it :)
Hey how about i change my Vesktops files?
Can i?
shiggy gif isn't a file that can be changed like that
Geez
it's baked into some other file when building the source
But i did change the discord loading screen INSIDE the app
yeah because that is part of the main window and css is applied to it
it's actually easy to do
building vesktop? or replacing shiggy without building from sauce
building vesktop
yeah I know
it's in the readme
haven't done custom vesktop but I am running a custom vencord inside vesktop and that was easy too
https://github.com/s-k-y-l-i/discord-themes getting closer to perfect to me ๐
I feel like the settings/deafen/mute buttons being there all the time would annoy me
how about hiding them until hover?
how do i make so when i make discord window narrow channel tab and members list also will get more narrow?
also does anyone have an icon for game activity that matches this ones?
good idea! thank you ^^
It could be done with the gif, sticker, emoji button too
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><title>ionicons-v5-g</title><path d="M467.51,248.83c-18.4-83.18-45.69-136.24-89.43-149.17A91.5,91.5,0,0,0,352,96c-26.89,0-48.11,16-96,16s-69.15-16-96-16a99.09,99.09,0,0,0-27.2,3.66C89,112.59,61.94,165.7,43.33,248.83c-19,84.91-15.56,152,21.58,164.88,26,9,49.25-9.61,71.27-37,25-31.2,55.79-40.8,119.82-40.8s93.62,9.6,118.66,40.8c22,27.41,46.11,45.79,71.42,37.16C487.1,399.86,486.52,334.74,467.51,248.83Z" style="fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:32px"/><circle cx="292" cy="224" r="20"/><path d="M336,288a20,20,0,1,1,20-19.95A20,20,0,0,1,336,288Z"/><circle cx="336" cy="180" r="20"/><circle cx="380" cy="224" r="20"/><line x1="160" y1="176" x2="160" y2="272" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/><line x1="208" y1="224" x2="112" y2="224" style="fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"/></svg>```
You can probably set their width as %, so that when the window gets narrow they shrink as well
use a vw value
What's that?
Lmfao if I google it I only get Volkswagen ads wth

Oh, viewport width
yes
% is just of parent container afaik
Oh, I see
Meanwhile this would only scale depending on the window width, right?
Yeah
Gotcha
Oh, so that's why my chat bar doesn't scale properly when I reduce the window size
I would use a min(max(minv, vw), maxv) or something for it
Because I set it as %


I mean, it works for me cuz I never really reduce discord window size
@media (width < 1300px) {
.content__4bf10 .sidebar_ded4b5 {
width:15vw !important;
}
.container_b2ce9c:has(.membersWrap__90226) {
width:25% !important;
}
}```
how do i put it on the place of the current one? that css didnt work for changing
try making the SVG the background image
Could someone help me with some custom CSS code?
background image? i wanted to change the game activity plugin icon inside the user bar
wat do u need help with
I'd like to add a hover fade to all components like this
When you move the mouse over these components, they fade, rather than instantaneously.
@solid ore
Don't know what to do?
idk css but ik super basic discord css snippets
Do you know how to make mini animations in CSS to make Discord more beautiful?
no

Could somebody help me with this selector, I'm having a struggle here.
.panels__58331 div:is(.container_d667ff, .container_6sXIoE,
.panel_bd8c76, #vc-spotify-player, .wrapper__0ed4a):has(div):before```
I want to select only the first div, that has these classnames, and has a div inside. If I add **:first-child** in, it only wants to select the first element that doesn't have div inside, so in the end it selects nothing when there isn't a div inside.
:first-of-type doesn't work eighter
omg i think i might got it
You could add a that-selector ~ that-selector that undoes the changes
I SEE i found it on google too
couldnt this be rly laggy if used excessively
I hope not xd
lmao
.panels__58331 div:is(.container_d667ff, .container_6sXIoE, .panel_bd8c76, #vc-spotify-player, .wrapper__0ed4a):not(:empty)::before {
content: "";
}
.panels__58331 div:is(.container_d667ff, .container_6sXIoE, .panel_bd8c76, #vc-spotify-player, .wrapper__0ed4a):not(:empty) ~ div:is(.container_d667ff, .container_6sXIoE, .panel_bd8c76, #vc-spotify-player, .wrapper__0ed4a):not(:empty)::before{
display: none;
}```
at least i got rid of the :has()
is undoing with a ~ selector any slower than using :not()?
probably negligible difference
as with most 'unoptimal' css
doesn't matter unless you use * in your selectors
that is something to avoid but anything else should be fine selectorwise, just use selectors that make sense to you
there's always many ways to write css that does essentially the same thing, if it works it works
r those fine as long as i specify the parents
I mean you shouldn't need a * in your selectors almost ever
i usually do like a class*=name2 if the full class is like .name1.name2
yeah that's fine
but doing .name1 * .name2 or something is gonna make the parser check pretty much all elements in the dom
ohh no i never do that
I like this channel
It is full of people who can responsibly write CSS
My CSS is multiple days of technical debt
and I refuse to fix it to make my Discord client perform properly
100% complain about the issue I made 0% fix the issue
Husk me if you want.
my performance hit is not my selectors, but all the gradients and shadows and blurs
i dont do blurs
oh nvhhr maybe u can do this
not rly sure wat they wanted exactly
this is just a transition
yeah not sure either, I'm assuming they want to add a background with border-radius on certain elements on hover but that's not a trivial task and certainly they don't want it on all elements
oh and yeah with a transition
* { transition: background .3s !important; } 
that would do it for any element that already has a bg change on hover
i fucking hate css
aaaaaaaaaaaaaa
how do i make so read all buttom fits the theme colors?
I guess
my dumb brain
I was wondering if it'd be possible to make the option icons stick to the right side of the textbox as it expands vertically instead of taking up this much space
I imagine this is really hard to pull off but I made a mockup in Photoshop of what I'd consider "the ideal solution"
so i was messing around and i've got no fucking clue how this even works ๐
but it does somewhat
.buttons_ce5b56 {
margin: 6px 6px 6px auto !important;
margin-left: auto;
max-width: calc(40px * 6);
min-width: calc(40px * 2);
width: min-content;
display: flex;
gap: 6px 0;
flex-wrap: wrap-reverse;
flex-grow: 1;
height: fit-content;
justify-content: right;
}
.buttons_ce5b56 .buttonContainer__8b164,
.buttons_ce5b56 > .button_afdfd9 {
width: 40px;
}
.separator__8424b {
margin: 0;
justify-content: center;
width: 40px;
}
.separator__8424b::before {
display: none;
}
.separator__8424b .innerButton_debeee {
margin: 0;
}
.textArea__74543 {
width: fit-content;
flex-grow: 1.01;
}```
it acts a little funky if none of the lines actually reach that far but if they do it works
did you set the numbers in the calc()
0_0
its still not perfect but its close
is there a way to revert back to discord default icons on the user panel on a theme that changes these icons?
do u want the new icons or the old ones
anyone know if u can limit how far u scroll on the channel list? i wanna make it so u cant scroll to the point where theres a gap between the user panel and the lowest channel
more suffering
AAAAAAAAAAAAAAAAAAAAAA
indeed
this seems like you shrunk something with css
oh, thankfully it seems like it's easy to fix
gotta change background from transparent to the quotes var
test
test but code
or just remove the border-radius and have it squared, that works as well
i hide a lot of things
yop
nevermind, I lied
the way those scrollable lists work
is 
they explicitly set the height after calculating the height
so they can delete stuff scrolled off the page
finally
yeah this is the worst thing, especially if you make channellist more compact in height, it is easily visible when things pop in and out, and clicking on channels also changes the contents
I wish there was a way to make it just have all the elements all the time
and not just channellist, most scrollers do the same thing
I think the idea is that that would be pretty bad for performance
As if they care about that
Did they update user panel icons?
I mean I understand it for the chat and userlist but I doubt any server has so many channels that it would make any difference having the elements in the dom
im talking about the icons that mute, turn off audio and settings
Yeah, agreed
I wonder if that could be fixed with a plugin
Would probably be difficult to do that without breaking those scrolls that have genuine reason to be lazy
That said, I haven't had any issues resizing those scrolls a bit, like expanding the user list a bit upwards so it looks better with transparency
discord runs so shit anyway that it wouldnt matter
Doesnโt work right now @exotic nexus has to fix it
weirdly it specifically is not affecting the user panel icons but is for everything else now
damn
i think because they added a different experiment that animates them on hover and such lol
it's really stupid
search for like animation or animated or smth and you should find the experiment
oh it's right there in your screenshot
desktop animated icons
is that the reason for the new lottie stuff
they did add that but its not the cause afaik
but why would you
i j noticed this fucks up for urls with no dashes
also my window is narrower
that's the problem
works fine without the snippet
it makes the code block fit the contents, normally its scaled with chat window or whatever
is it possble to make it do both?
add word-break: break-word;
works, thank you!
Better Mod View
@import url("https://raw.githubusercontent.com/tom22k/css-snippets/main/BetterModView/import.css");
Before: 1st pic | After: 2nd pic
that looks very good
thank you
i just need the image from this theme

oh you just wanted the image lol, I thought you wanted a theme that applies the image as background
b64 online converters are the best
you don't even need one if you paste it in your browser and rightclick>save as
at least it works on firefox dunno about chromiums
huh
didn't know about that at all
if i wanted to add that picture to a theme which theme should i use
like which theme would be the best for it
there is literally an infinite amount of themes
take any theme
make background transparent
add image
voilร
๐ซ
someone should make a snippet for simple background image + transparent backgrounds on the main elements for those who don't want a full theme or want to use a theme but just do that modification on one
and secretly make it laggy
the best way to make discord lag is to make a rule for every member
that already exists, behold devilbro's basicbackground theme, only 7000 lines https://github.com/mwittrien/BetterDiscordAddons/blob/master/Themes/BasicBackground/BasicBackground.css
thats ofcourse if the server youre currently in is big
basic
7k lines
yep
dayum
nah, just let me cook something and it will lag for sure
still haven't figured out why the channel name shifts on hover when it shouldn't btw

skill issue
indeed
I wonder if it's possible to convert and use --custom-theme-background (it's a linear gradient) as a color somehow with only css.
clean
thank you so much
it covers up messages that dont get covered up by the message bar
but i
dunno wat part of the message could extend over there
i guess avatar decorations but that gradient existed before
Wow, thats epic bro
Yep I saw that and did not commented but it's indeed very epic, congratz !
What's the correct class to target the scrollbar's thumb ?
Talking about this:)
================================
Question #2
How can I make sure that all scroll bar's width are the same everywhere ?:
I'd hold out a few weeks before you consider messing with scrollbars, discord and chrome are both cooking at the moment so stuff might go a bit sideways. Here's a bunch of links though
How to make the folder's background border-radius 8px, the same border radius I achieve to put on the normal icon ? single server I mean
@limber igloo, @grand surge you can try it here: https://github.com/s-k-y-l-i/discord-themes ๐
Thank you mguy ๐ซก
[class^=folderIconWrapper_] {
border-radius: 8px;
}```
also it's a bit difficult to read the text in the chat bar, try changing color to something lighter
question how would i get this to work correctly on vesktop?
where did it fail?
transparancy doesnt quite work correctly on my side
do you have mica for everyone?
yeah
you also need to restart the app
i have done that multiple times
the acrylic theme is the second one?
it works correctly on vencord discord
yeah
you have nothing in quick css?
wow, it's so cool, never heard of it but it has a very similar design! ๐ฎ
even the rounded corners
(i got crazy with those :'D)
but i have to fix it a bit for the transparent theme too
i have to do these soon
This looks super clean Iโll have to try this later
I also have an idea for those folder backgrounds to be transparent, but darker
Was testing a floating panel design sometime last week, I think the bg turned out pretty nice
My phone compressed it a lot let me find a link
Can you help me with this a bit? I can't find out what is the mistake i did here. It should remove the second ::before. Maybe becouse it's not a sibling but it's a child? But i couldn't make it dissappear with a child selector eighter.
that would work. But if i write display:none to the inspector, the pseudo element disappears
it doesn't apply the effect to the second div (.container_d667ff)
oh i got it working
changed again to >
and now it works... ๐ฎ
disappear != stop existing, they're just invisible and no longer affect layout
Chef kiss. I noticed you can only close the panel clicking out, might be great if you could close the panel by clicking again the user image if possible.
Not a fan of gradient elements, but the animations looks smooth. My fav user area atm, great work ๐๐ป
tiny
thanks. i like the idea of being able to also close it via. the user image, i'll see if i can change it
Nope
border-radius: 8px;
}``` not working.
Still the wrong border-radius.
add !important
hmm for me it works without !important too
well I'm on vesktop, but it shouldn't matter
^
no idea
doesn't matter, neither does betterfolders
for me that works both enabled and disabled
^
most likely something else
yeah...
odd
ยฏ_(ใ)_/ยฏ
strange
It's pretty fresh, I installed all of this to install Vencord and to be able to code my OWN theme
can you check if this works
I'm struggling ..
what does it look like in devtools
/* Transparent Folders */
[class^=folder_], [class^=folderIconWrapper_] {
background: none !important;
}```
inspect a folder
and also go up one element
I am a beginer, please haha
To the one who asked to wide HAHAHA
There you go hahahahahahahaha
definitely better than before
^
and select the element above
yup, there's a
border-radius: 16px
Not in my code
doesn't the strikethrough mean it's being overridden?
the 16px is not striketrough tho
according to your devtools it is applying the correct radius
this is what the radius should look like if it was completely overridden
but instead, your 16px is not 16px
why? I have no clue
that's really weird
by the way, what's the difference (if there's any) between using :root and !important?
:root is just a selector that means the same as html except with higher specificity
(so if you put rules in for both html and :root, the ones in :root are more important)
as for !important, it works as an override for any existing rule for a given target
mhm, and performance-wise?
no difference
cool
so, if I had something like
/* Transparent Folders */
:root [class^=folder_], [class^=folderIconWrapper_] {
background: none;
}```
and
/* Transparent Folders */
[class^=folder_], [class^=folderIconWrapper_] {
background: red !important;
}```
at the same time
what would prevail?
I feel like I have missed a :root here
the one with root is more specific, if you had any parent there it would win against the simple selector
any time you add something to a selector, it's specificity score increases
so there's less chances to affect something you don't want?
well that too, but overriding existing css can be also done by just adding a parent to a selector without the need for !important but you have to check what the existing selector is, they might already have parents in them
for userstyling websites or ricing discord or other applications, it's easiest to just throw !important into rules
noted
thanks
๐ค How would one even select the "Note" box in profile popups
I don't have write access to #๐จ-css-snippets , so I'll just post it this channel.
Here's a few lines of CSS that compress the new star and new fork GitHub bot messages, without touching the PR and issue ones.
[class*="grid_"]:has(a[href$="Vencord"],a[href$="Vesktop"],a[href$="vencord.dev"],a[href$="Vendroid"]) {
display: flex;
}
[class*="grid_"]:has(a[href$="Vencord"],a[href$="Vesktop"],a[href$="vencord.dev"],a[href$="Vendroid"]) [class*="embedTitle_"] {
padding-left: 3px;
}
[class*="messageListItem_"]:has([class*="botText_"]):has(a[href$="Vencord"],a[href$="Vesktop"],a[href$="vencord.dev"],a[href$="Vendroid"]) [class*="contents_"] {
display:none;
}
[class*="messageListItem_"]:has([class*="botText_"]):has(a[href$="Vencord"],a[href$="Vesktop"],a[href$="vencord.dev"],a[href$="Vendroid"]) [class*="groupStart_"] {
margin-top: 0px;
}
wat do u wanna do to it
btw @past bison game activity popup breaks the illusion of rounded popout
better screenshot
ah. i need to fix those, but i might know how to
AAAAAAAAAAAAA that's painful
vesktop doesn't have game activity so i always forget it to test
ah
btw it's voice + game activity
i'll send u mine 1 sec
Much appreciated

Cuz I tried looking for the classes, but they were too generic and idk if there's a way to select just one with a specific text
there isnt
#user-context-note, /* user context menu: add note */
[class^=note_], /* notes */
[class^=section__]:has([class^=note_]), /* notes header in user popout */
[class^=profilePanel__] [class^=userPanelOverlayBackground__] > div:has([data-text-variant="eyebrow"]):last-of-type, /* notes header in profile panel */
[class^=userInfoSection__] > h1:last-of-type, /* notes header in user profile */
[class^=userPanelOverlayBackground__] > [class^=divider__]:not(:has( ~ [class^=divider__])) /* last divider before notes in user modal in dms */ {
display: none !important;
}
idk if the important is needed but i use it anyway
Thank you very much
I have thiscss #user-context #user-context-note, .profilePanel__12596 .divider__2bbbc:last-child, .userProfileModalInner__7c87d .userInfoSectionHeader__31b66:last-child, [class^=userPanelOverlayBackground__] > [class^=divider__]:not(:has( ~ [class^=divider__])) { display:none !important; }
with betternotesbox
there's always diff ways to do smthng, mine works ยฏ_(ใ)_/ยฏ
Ooooh, last-child
Why didn't I think of that

Help with that please.
The border-radius isn't 8px
But If I put:
It's in red.
there's something else that messes up that element's border-radius, as we've seen earlier today
cuz it's not overriding it completely
Ok sorry I went back from an interview
What about those, they work in 8px super great
But only if I mouse hover them once Discord have open. Otherelse, they're not taking their good px radius.
Discord just oppened:
After mousing it hover:
(and it stays like that after)
idk, it's working fine for me
First of all, your folders don't look as mine.
Do you have servers in your folder just for fun ?
yeah I had that too, [class^=wrapperSimple_] is when it's not hovered yet
if I remember correctly
I'm using the betterfolders option enabled
Let me try with betterfolders !
and that doesn't change anything
actually, it's this plugin
it's not betterfolders
and it still works with that disabled
[class*="folder_"], [class*="folderIconWrapper_"] {
background: red;
border-radius: 8px;
}
foreignObject:has([class*="folder_"]) {
mask: none;
}
try that
Wait, are you an alien or something ?
Working flawlessly
Yep, life saver 2, Thanks guys
/* Category Bubble */
:root {
--global-1: var(--main-color); /* Label */
--global-2: white; /* Font */
}
.containerDefault__23a29 {
color: var(--global-2) !important;
background-color: var(--global-1);
border-radius: 25px;
padding: 0px;
margin: 2px 5px 1px;
text-align: center;
}
.addButton__8b4f0 { /* + Button */
color: white;
right: 5px;
position: absolute;
}
.icon_ef4486 { /* Collapse Arrow */
display: initial !important;
color: white;
margin-left: 5px !important;
transform: scale(1.5);
}
.collapsed__8fe3c .icon_ef4486 { /* Collapsed Arrow */
transform: rotate(-90deg) scale(1.5);
}
.name__590d6 { /* Category Name */
text-align: center;
}```
genuinely confused
General Stuff ๐ซก๐บ๐ธ๐บ๐ธ๐ฑ๐ท
what the fuck is an aria label ๐ฆ ๐บ๐ธ
Screen reader stuff
yeah I'm joking
I'm still confused on why this happens
try this
[class^=note_], /* notes */
[class^=profilePanel__] [class^=userPanelOverlayBackground__] > div:has([data-text-variant="eyebrow"]):last-of-type, /* notes header in profile panel */
[class^=userPopout] [class^=section__]:has([class^=note_]), /* notes header in user popout */
[class^=userProfileModal] [class^=userInfoSection__] > h1:last-of-type, /* notes header in user profile modal*/
[class^=profilePanel__] [class^=userPanelOverlayBackground__] > [class^=divider__]:not(:has( ~ [class^=divider__])) /* last divider before notes in profile panel */ {
display: none !important;
}
works without betternotesbox
Oh sh- I forgot to tell you it was working at the end
I just disabled the plugin
And added the snippet
Sorry
oh lol
For some reason it wasn't working with the plugin enabled
oh ik why, bc the plugin removes the notes when my snippet uses a :has([class^=note_)
so this one wont work w it either
Gotcha
broken plugin anyway
I think Nuckyz fixed it earlier
i still see the header with it on tho, i j updated too
ohh
what the ๐ฎ
is it possible to solve?
if I add any kind of backdrop-filter, hovering on submenus just makes the menu jumping
backdrop-filter is pretty buggy ime
lol, but how to fix? xD
I dunno I've had the same issue, there's probably a workaround but haven't even bothered trying to fix it
it's the same, you can try it:
.layer_ec16dd {
backdrop-filter: blur(40px);
}```
even with empty css, only this
someone fixed it by adding the blur to an ::before element
wait...
i did that too
but does it work?
but blur with opacity did not work so i had to add another before before that xD
yup ^^
.menu_dc52c6.flexible__7055b::before <- gradient + opacity```
it needed a :has
othervise it selects other things too
Hey, trying to tweak the theme I'm using and wanted to know a couple of things, I have basic understanding of CSS and tried some things but none worked so here I go:
1. First pic (server list): is there any way to make the elements in green boxes fixed position and the element in yellow box scrollable?
2. Second pic (user area): trying to set username and custom status + name tag inline, but it appears name tag doesn't fully show, third pic is default and name tag full text and inline just displays i...
Hope I've expressed myself well and feel free to ping me if it's doable
First: largely impossible without js
Might be possible to fake it, but I wouldn't bet on it
the first is def possible without js
im not sure how you would even use js to make it work
Maybe with a position: fixed or similar
^
By moving the elements outside the scroller, obviously
That's the obvious way to make things not scroll
ohh i didnt think about that
for the bottom ones it would not be possible, but top would (i think)
nope they are all possible
they are already split out of the servers list
I think both top and bottom are equally plausible
I'm personally more inclined to make plugins for structural changes rather than styles, but styles are certainly more convenient in some ways
You can just move the scroller to the servers element rather than the parent
Moving things out of the scroller or moving the scroller inside doesn't make much of a difference
Moving things out of the scroller is a fuck around that can have some unintended consequences. Just moving the scroller is cleaner and easier
nvm im stupid
It's literally just a semantic difference; in both cases it changes from <Scroller><foo /><bar /><baz /></Scroller> to <foo /><Scroller><bar /></Scroller><baz />
Guess it differs if the scroller has other classes on it
why is this a js discussion
Just unset overflow on the scorller, and set it on the div with aria-label="servers"
.scroller__3d071 {
display: flex;
flex-direction: column;
overflow: hidden !important;
}
div[aria-label="Servers"] {
height: auto;
overflow: hidden scroll;
}```
yeah
wait i need to get rid of the scrollbar though
for 1
#app-mount .scroller__3d071 {
display: flex;
flex-direction: column;
overflow: unset !important;
padding-bottom: 4px;
}
div[aria-label="Servidores"] {
height: auto;
overflow: hidden scroll;
scrollbar-width: none;
}
div[aria-label="Servidores"]::-webkit-scrollbar {
display: none;
}
.tutorialContainer_dc6fde {
padding-top: 8px;
}```
looks like theyre using spanish discord btw
guhhhhh
Just select the direct child that isn't any of the others, or use a has
Just use the one child that has an aria-label at all
Though I strongly doubt that this handles things like scrolling to the guild when you ctrl-k
"Servidores"
i refuse to touch has
Has is beautiful. Solves all the world's problems
I've not checked it, but I think the download button on the Web client t might also have an aria label on it
Thanks y'all for the help, appreciate it
Works perfect, thanks!
I'm using your midnight theme btw, loving it, great work
I feel like people here very often underestimate what scrollers do, inadvertently subtly breaking things as a result
Try ctrl-k to a scrolled-away guild with and without that snippet
thanks
really not a big deal
its just a snippet
Ohh that's right, not working as intended with Ctrl+K. I can't fully test the snippet right now, I'll test it later and let you know if there's any major issue/breaking things, but the snippet's good enough for me
i love that blur effect
why do people do ctrl+k instead of ctrl+t?
ctrl t is way more convenient for me to reach
(they do the same thing)
maybe they are left handed
Because ctrl-t opens a new tab
not in discord
well ig if you're on web discord
do people really use web discord wtf
I do
wtf
Download client has a lot of uncanny valley stuff like no f12 or shift-right-click, no hover for link target, and iirc it behaved kinda sus with opening links but I don't really remember in what way
it does have hover for link target
how do u ss tooltips
i use sharex
wats that
anyone knows the class for the "open chat" hover thingy that comes out in VCs?
because I moved the chat button below, but the text still points up
sharex is pretty advanced
if you just want a simple screenshot tool, sharex might not be for you
what do you use currently for screenshotting?
It does have tooltips for links sent in chat, yes
windows default win+shift+s
๐
But not the regular one down in the corner
Opens native context menu rather than website's custom one
doesn't work for me
Sure, but I prefer it acting like every other website
Are you on chrome or something perhaps
cant find it even w f8 break so idk
also is there a difference to the hover links?
opera gx
yeah, that's my issue

I managed to crash my discord 3 times in a row, but still no class
thats chromium
yeah ik
The difference is that it exists on every link, not only those where Discord Inc. decided to manually insert it
Basically, the problem with using the client that pretends not to be a website is that it doesn't behave like a website
oh cool that works on firefox
aight, make that 4

why do you even want to see those though?
Mostly familiarity
fair
Not having it feels weird
i manually reconstructed advanced tooltips for this :)
I'm not sure what that is but it looks nice
(the tooltip is modified by a mod to get the prices)
(it's in minecraft)
hypixel skyblock
By the way, I tried it yesterday and it didn't work
So I'll just stick to ctrl + r
But thanks nonetheless

i was wondering if there was something that use Discord Variables for colour that i could โborrowโ from
lots of things use discord color variables
i just the name of something that uses it i could look at for help
im on mobile rn but iirc the green add friend button on the friends list uses var(--positive-[smthng]-background)
found what i need i just borrowed for the holy notes (style) css
can someone help me figure out how to get the the times for spotify activity to be on the side of the progress of the bar (like controls on the left) instead of underneath as they are rn? (using this tweaked theme of dablulite's redesign)
only need it for activity within user popouts (.activityUserPopoutV2__32328)
you found these via inspect element, right?
flex_f5fbb7 horizontal__992f6 justifyStart__42744 alignStretch_e239ef noWrap__5c413
that groups the 2 times together
[class^=timeBarUserPopoutV2_] {
position: static;
display: flex;
align-items: center;
}
this is the closest i can get but it messes up the progress bar
how about scaling it down?
scaling what down
the progress bar
transform: scale(0.7);```
idk
the issue would be have it adapt to different song durations
although who in the world would listen to a 12h long song?
this was a good idea, i did this ```css
[class^=barInMultiLine_] {
width: 75%;
margin-left: 35px;
}
now i j need to move the times up or the bar down
or both
wtf, I had a snippet to remove my own listen along
I edited it but didn't work, so I went back to the old version
and now it's not working anymore

ok, it's working again
weird
okay im back, ended up with this btw ```css
[class^=timeBarUserPopoutV2_] {
justify-content: center;
display: flex;
}
[class^=timeBarUserPopoutV2_] [class^=barInMultiLine_] {
width: 77%;
position: absolute;
}
[class^=timeBarUserPopoutV2_] [class^=flex] {
margin-top: -1%;
}
perfect
looks good
[class*="buttonsWrapper_"] [class^="disabledButtonWrapper__"] { /* hide your listen along */
display: none !important;
}```

thankss
wait
i think ur first one should be *=
right
the old one only had the 2nd class, but I wanted to be more specific
in case it was affecting something else
and also
[class^="activityUserPopoutV2__"]:has([class^=timeBarUserPopoutV2_]) .contentImagesUserPopoutV2__04250 {
margin-top: 3px; /* fix details being horizontally misaligned */
}```
it makes details centered to the image
idk how to explain
my OCD wouldn't stop screaming without it
it think this is best using ```css
[class^=activity] [class*=buttonsWrapper_]:has([class^=disabledButtonWrapper__])
gets rid of a gap thats created
mhm
and i added the activity to fix this

also bc theres activityProfile and activityUserPopout
works perfectly
personally i prefer the classic spotify look
also hollow knight soundtrack is so good :)
I think that having the song duration in a user popout is kinda useless
ยฏ_(ใ)_/ยฏ
because it's not like you can affect it from there, and also it's in the spotify controls panel
sometimes i like to see how much left someone has on a song in case i wanna listen along for a bit
absolutely
fair, I just deduce it from the bar filling

W music taste

why does it randomly keep happening
and a ctrl + r fixes it
what the hell is going on
Does vencord periodically refetch themes to update them?
Because it sounds quite plausible that it does that but fails to account for encodings, which could cause issues like that
Everytime you restart
But not like every 24h without restarting?
Ok
yeah it's not due to a restart
because, on the contrary, restarting discord fixes it
it just happens... sometimes
no idea why
You can try it yourself, make a theme, put it on github, put it in theme links, update the theme on github, then restart and see the changes
I already do that with quickcss imports
although it doesn't always update them right away
It's clearly an encoding issue, but unclear what causes it
Looks like utf8 of an emoji misinterpreted as latin1
Or perhaps some different single-byte codepage
Can anyone ping me? I'm testing some things
@supple bone Sure
Perfect, thanks
I'll bump this, in case anyone knows how to get it
tried with f8break but I couldn't find anything
tooltipContent__79a2d
tooltipPointer_a79354, tooltip__01384, tooltipTop__5f583, TooltipPrimary_e5c00d, and tooltipDisablePointerEvents__14727 may be of use too
sometimes I find that throwing setTimeout(function(){debugger;},5000); in the Console and hovering over the element is easier than using f8break
Ctrl+F searching is your friend once you've got the window paused
Is there a way to re-order HTML elements using pure CSS? I've moved and resized the window buttons to appear more like the top toolbar, but opening threads and forum channels kinda ruins the illusion.
yes, literally set order: 1;
the ones with order set will take priority
These are in two entirely different locations in the HTML though
These are the Windows 10 close, minimize, and maximize buttons
then you can't do anything but position them close to each other
you can do margin or position hacks but generally not a good idea
I've done it for some elements
anyone know if its possible to change 24hr timestamps to 12hr + am/pm w css?
just change your time zone
?? that doesnt affect it, its set by the language (US is am/pm while UK is 24hr), but i prefer UK
ah ok, thanks

Thank you so much
I wanna learn how to use dev tools, do you have like websites or videos to help me get started or should I directly start messing around with making a theme?
And css*
working on a practical project is best way to learn stuff
imo
so
go open devtools, start looking around
maybe take a look at some basic CSS reference
So like a theme and stuff?
Ok, thanks
Yeah, the quickcss editor doesn't like it very much
So it will probably count it as error
imo just find a snippet u find useful then go in devtools to see which elements its selecting, mess around with the properties in the snippet to see wat does wat
and def read the css docs
๐ซก๐ค๐
Very accurate ๐
that's how 80% of the snippets I use came to be
you can imagine the performances ๐
and here it goes ๐
is this a public snippet?
yes
the progress bar in the background is added by Couve
thanks
ngl I could make a Couve-less version
I guess it would be just a matter of moving the emojis
oh wait, I know why it looks like that
can you try restarting discord and see if anything changed?
that issue always pops out when an album cover is not a perfect square
I did manage to (almost) fix it for the spotify controls panel, but it's still weird for covers that are too small
https://raw.githubusercontent.com/AftmostSeeker80/css-snippets/main/spotify-tweaks.css
couve-less version (wip)

ok, I might have finished it
does there exist a list of theme requests (that aren't stupid)
Sure, here it is ```json
[]
lmfao
yeah but also why are you editing on github that's 
good point