#🎨-theme-development

1 messages · Page 17 of 1

teal cave
summer adder
#

maybe —header-primary or —header-secondary

#
—header-primary: red;
—header-secondary: red;
}```
#

see if that does literally anything to it

rugged echo
#

what the fuck? couldn't you just select the button?

summer adder
#

probably

#

i also don’t have access to a computer for god knows how long

summer adder
#

qcss will overwrite theme css if you use themes through the folder or online link

deft niche
#

just local download the theme joeshrug

#

probably the easiest way

#

alternatively, fork it

deft niche
vast delta
glad urchin
#

yop

brittle juniper
#

@kraxen72 @kraxen72

#

i recognize u!!

devout umbra
#

hii

mortal mantle
#

Hi to both cuties

deft niche
#

is it possible to place the progress bar ontop of the album and name?

brisk iron
#

depending on how it's structured
you might be able to slap a display: flex; flex-direction: column-reverse;

#

okay it apprears that you have to use flex-box's order property here

brisk iron
#

if that's what you're going for

deft niche
#

oh yeah that works perfectly thanks!

deft niche
#

slightly revamped connections :3

#

any idea how i can make the purple area smaller?

#

im not sure what the property name is

safe python
#

mind if i ask why

#

that looks like a flex-grow or similar aka itll automatically shrink if you add something else there

deft niche
brisk iron
#

shrinking to fit wouldn't look good in a grid

slim pond
#

it removes the default flex grow

summer adder
#

the “they reverted the update again”

#

does this mean i DONT need to get a test rat for my theme to make sure everythings not broken?

deft niche
brisk iron
# slim pond just make it inline-flex

that works
but discord splits connections into 2 flex boxes (when you have a lot of connections, example me) instead of using grids (guh???)
so its looks kinda weird
(here's a screenshot with [class*=connectedAccountContainer_] { display: inline-flex; width: fit-content; })

deft niche
#

might be possible to have more than 2 in a row but idk

glad urchin
#

would it be easier to rewrite this entire container and the messagebox with position: absolute so it doesnt conflict with other css

#

for the most part i have depended on the last child (the emoji) or the send button, and its difficult to get it to work without either of them (got the part without send button to work, but i CANNOT get it with the send button VISIBLE but emoji HIDDEN)

#

it uploaded the text content..

slim pond
#
.connectedAccountsColumn_fd2c41 {
  display: contents;
}
.connectedAccountContainer__23f00 {
  margin: 6px;
  margin-left: 0;
  margin-top: 0;
  border-radius: 50px;
  height: fit-content;
}
.connectedAccounts_dc0a56 {
  flex-wrap: wrap;
  border-top: none !important;
  overflow: hidden;
  height: fit-content;
}
.connectedAccountContainerWithMetadata_cf88ce {
  transition: .3s ease;
}
.connectedAccountContainerWithMetadata_cf88ce:hover {
  border-radius: 20px;
}
.connectedAccountChildren__21b60 {
  height: 0rem;
  min-height: 0rem;
  max-height: 2rem;
  transition: .3s ease;
}
.connectedAccountContainerWithMetadata_cf88ce:hover > .connectedAccountChildren__21b60 {
  height: 1rem;
}
edgy sentinel
#

i hate how this looks HinakoScared

#

inconsistent sizing is horror

mortal mantle
#

^

slim pond
#

usually I would agree

#

Actually I do agree

#

but it's basically either consistent sizing or showing details

ashen sable
#

I want to improve my theme so it doesn't use hardcoded class names. there are however classes that have a name that's identical to another, just with an additional underscore. how can I only match the one with a single underscore and not the one with a double underscore?

#

example: .compact_cc2939 and .compact__54ecc

#

doing [class^=compact_] would match both

#

matching only .compact__54ecc is easy, [class^=compact__], but what about .compact_cc2939?

ashen sable
#

I just realized that Firefox 121.0 released

#

this means :has() is now supported in all major browsers!

summer adder
#
html {animation: wee 100s infinite ease-in-out;}

@keyframes wee {
    from {transform: rotateZ(0deg);}
    to {transform: rotateZ(360deg);}
}```
#

discord slowly rotates, this wont get annoyin g at all (typed while my discorsd rotating)

summer adder
brisk iron
deft niche
vast delta
#

looking good

simple kiln
deft niche
simple kiln
deft niche
simple kiln
deft niche
#

you can use whatever you want i was just curious

simple kiln
dark dragon
glad urchin
#

not that but oh well

dark dragon
#

Can you give an example of what you were actually trying to achieve? I'm a dummy but the picture and that explanation aren't too clear

glad urchin
#

the red circle is a pseudo element from the send button, which is more of an illusion
the problem is, i cant the width to be based on how many "children" there are, so it can break if the messagebar is too short

#

i also cant control the alignment since its position:absolute

#

i figured ill just force the emoji button to always be visible unless it gets overriden by some other snippet

dark dragon
#

Yeah, I'm still not quite sure on why you're doing it, but I can't think of any clean solution for achieving that. The default buttons should all be the same size now, so if you could convince the plugin devs to standardize their shit similarly there shouldn't be any issues with alignment. But, I'm not sure that'd be worth the effort

glad urchin
#

i've forced it on mine, if it breaks i can blame the random snippets now blobcatcozy

slim pond
#

I'm trying to find a use for display: contents

devout umbra
#

it's sometimes useful

mystic moth
#

how would i go about getting rid of the empty space leftover from the pfp? (left is how it looks rn, right is how i want it to look)

#

oh ffs

#

the 2nd image disappeared

#

this is more of less how i want it to look like

summer adder
#
.cozy_f5c119.wrapper__09ecc {padding-left: 0px;}```
#

full code if you want the decorations removed too

#
.cozy_f5c119.wrapper__09ecc {padding-left: 0;}
.avatarDecoration__14b3c {display: none;}```
summer adder
#

np, no real idea why you'd want this though

edgy sentinel
summer adder
#

my thoughts exactly

mystic moth
dark dragon
#

This should do that for compact mode

.compact__54ecc .messageContent__21e69 {
  display: block;
}
mystic moth
#
  • i dont want to see the nickname multiple times if its a chain of messages by the same person
#

yea i have came to the conclusion that fucking around with compact mode may actually be easier

#

too much UI that gets shat all over the screen with this

dark dragon
#

Messing with that indent isn't super fun due to the time stamps, you can remove the names from consecutive messages with this though

.message__80c10:not(.groupStart__56db5) .headerText_f47574 {
    display: none;
}
mystic moth
#

the latter i can probably fix myself

dark dragon
#

That empty line is again for the timestamps, you can for sure mess around with it, it's just a pain. More so if you want to make it look half decent with plugins like that

mystic moth
#

it only affects the content, not the header

dark dragon
#

It's a negative text-indent on the contents as a whole, both the header and the content, they just zero it out on the content

mortal mantle
#

Please don't discuss css during the Christmas holidays

dark dragon
#

This is magic numbering it a bit as I'm too lazy to do much else, but give it a go

.compact__54ecc .contents_f41bb2 {
    padding-left: 35px;
    text-indent: calc(-1*(-1rem + 56px));
}

.message__80c10:not(.groupStart__56db5) .headerText_f47574 {
    display: none;
}

.message__80c10:not(.groupStart__56db5) .messageContent__21e69 {
    display: inline;
}

.compact__54ecc .messageContent__21e69 {
  display: block;
}

You'll just add your pronoun db thing to the .message__80c10:not(.groupStart__56db5) display none bit

rugged echo
clear siren
#

the c in css stands for Christmas

rugged echo
#

Christmas Special Style

mystic moth
mystic moth
mystic moth
#

and without that separate rule it breaks the whole thing

mystic moth
rugged echo
#

nah I think that would be hidden or something

dark dragon
mystic moth
#

view.GONE completley nukes something

rugged echo
#

thats kinda weird, gone sounds like extreme or something

summer adder
exotic nexus
#

hey there tab friend!

mystic moth
solid ore
#

omg

#

i finally found something unique to select server shop

#
#channels > ul > li:has(#clip0_2645_182555) /* server shop */
{ 
  display: none;
}```
mystic moth
#

(trying to fix attachment alignment in my shitty theme)

deft niche
#

skill issue

deft niche
ashen sable
#

didn't think of that, thanks

#

also, is this actually good practice? people seem to mostly use hardcoded class names

#

it's definitely slower

#

but when I made a MR with a plugin that included some CSS I got told to do partial matching

deft niche
#

its probably shitty and unoptimised but ittl work

ashen sable
#

partial matching in general

deft niche
#

if youre talking about not partial matching, yeah it generally is. classes change across updates so you could always just hardcode and update it when they change but its whatevers easiest for you

brisk iron
#

*= basically does a .includes check on the entire class string

ashen sable
brisk iron
#

so compact_bleh foo__meow would yield false positives

ashen sable
#

the general idea was what I was looking for

#

also wait yeah

#

property matching matches the whole string

#

so mine is also not good and neither is... anything that uses partial matching really

brisk iron
#

^= is like .startsWith so i dont think [class^=compact_]:not([class^=compact__]) is any different from just [class^=compact_]

#

maybe [class^=compact_]:not([class*=compact__])

#

there's only so much you can do

ashen sable
#

that was a typo yeah I meant that

#

wait

#

no nevermind I'm just stupid

mystic moth
#

Entirely hardcoded

#

Dealing with partial matching got too annoying and too fucking slow

ashen sable
#

after having this discussion I'm of the opinion that everything should be hardcoded

deft niche
#

i think i saw a site that lets you auto update the class names once

mystic moth
#

@ashen sable also yea the more partial matching you have the slower it's gonna be

#

I have like 6 partial matching rules in my QuickCSS and shits laggy

mystic moth
brisk iron
#

shrimply make a vencord plugin to polyfill discord classnames with a stable classname format and use those classnames

mystic moth
ashen sable
#

I like this idea, they map classes to JS names anyways so these could be used instead (with some prefix)

mystic moth
#

Something like ThemeAttributes but for every single thing

#

No need to slow down the browser with partial matching CSS and no need for Devs to hardcode names and then have to update them every uodate

brisk iron
mystic moth
#

Great vesktop broke

mystic moth
dark dragon
ashen sable
#

or, if using Discord's JS names, it would not

mystic moth
ashen sable
#

but then those could break

dark dragon
mystic moth
deft niche
#

theoretically the theme could just assign new constant classes to all the elements and then the theme can reference that

mystic moth
dark dragon
#

They can't always stay the same, the structure of the modules changes fairly often

mystic moth
#

or am i dense

rich prism
#

it will come out in 2027

deft niche
#

if the classes change, it just breaks the plugin- not all themes. So generally that would be a better solution

ashen sable
mystic moth
#

wtf

ashen sable
#

yeah true

mystic moth
#

vesktop just disappeared

#

plasma what is this fuckery

ashen sable
#

but does that happen often?

brisk iron
rich prism
mystic moth
rich prism
#

yeah

dark dragon
rich prism
#

and it would be theoretically resistant to updates unless the part before the random stuff changes

brisk iron
#

i woul love to see metrics on this "often" you say

dark dragon
#

Forums have been reworked multiple times in the last year. User popouts I think twice in the last 5 months

brisk iron
#

I'm not disagreeing
I just want to know the frequency so a better solution could be thought of

mystic moth
rich prism
#

its equal to the expression >1

mystic moth
rich prism
#

no, over 1

#

'multiple'

mystic moth
#

ah

brisk iron
#

i assume forums was discord going back and forth between multiple designs + media channels
and user popout would be decorations/profile effects

dark dragon
mystic moth
dark dragon
#

Yeah there were a few due to those decorations. I think at one point that just decided to rehaul the whole thing because there was so much useless stuff in there

brisk iron
#

so end conclusion, themes would still need updates but atleast they'll have consistent class names to target

#

and better perf

dark dragon
#

Those changes often would often mean those classnames are referring to different elements though

#

Like it'd be moved up or down the tree, meaning your rules mightn't have the desired effect

dark dragon
#

Yepyep

edgy sentinel
#

when discord rerolled all classes, the majority of themes broke. when they did it again a few days ago (now reverted), once again everything broke

however, https://github.com/Synqat/Vencord-theme which uses attribute selectors needed 0 changes for both of those updates

GitHub

Contribute to Synqat/vencord-theme development by creating an account on GitHub.

ashen sable
edgy sentinel
#

yes you will often match multiple classes

#

that's why you use more specific selectors

#
[class*=wrapper]      many matches
[class*=wrapper] > [class*=avatar] one match
solid ore
edgy sentinel
#

there is no relevant performance difference

solid ore
#

ill trust u

edgy sentinel
#

the difference is like 4 million operations per second vs 3 million operations per second

#

it's negligible

clear siren
#

attribute selectors are cleaner too imo rather than having hashes

ashen sable
#

how is something that can match both wrapper_stuff and image_wrapper_stuff cleaner

edgy sentinel
#

because it doesn't break

ashen sable
#

that makes it more reliant, not more correct

#

also that's a tradeoff

solid ore
ashen sable
edgy sentinel
solid ore
clear siren
ashen sable
#

it still isn't correct it just works better

clear siren
#

I'd much rather write a more complex selector using attributes than the hashed class

vast delta
#

im trying to find the exact numbers comparing class/id to attribute but the website layout has been changed completely lol

ashen sable
clear siren
#

performance is really not something to worry about unless you do something stupid on purpose

#

or unless you're on a pentium 2

ashen sable
#

I just brought performance up as it was brought up previously

solid ore
ashen sable
#

you know what, I'm gonna just benchmark it

#

I'll rewrite the whole theme using attribute selectors and see if it's any slower

ashen sable
edgy sentinel
#

\i literally matches anything

#

you make it work by making the rest of ur match more specific

ashen sable
#

anything that could be an identifier, no?

clear siren
#

maybe you can use " wrapper", with the space it should match the classes that aren't the first

#

haven't tried

ashen sable
#

does it?

deft niche
edgy sentinel
#

direct child

mystic moth
deft niche
edgy sentinel
edgy sentinel
mystic moth
edgy sentinel
#

no

ashen sable
#

they should've just allowed regex in attribute selectors ffs

edgy sentinel
#

your client lags because of other bad css

mystic moth
edgy sentinel
#

like combining * with other selectors

#

your client cannot lag just because of attribute selectors

#

do you realise that when people do input[type=text] that's also an attribute selector...

ashen sable
edgy sentinel
#

that's one of the most common css selectors

edgy sentinel
#

if you can't, that's a massive skill issue

clear siren
#

simple attr selectors can be parsed by chromium like a million times a second on a decent cpu

ashen sable
#

I already explained why I don't think it's correct in any possible case

#

it's opinion of course

#

correct code isn't objective

deft niche
dark dragon
mystic moth
ashen sable
ashen sable
#

complexity matters much more than what kind of selector you use

mystic moth
edgy sentinel
#

there are dozens of classes with the same name

#

there's no way to know which one you want

#

just use attribute selectors or deal with updating your themes

ashen sable
#

an API break in code you use doesn't need to mean an API break in your code

mystic moth
#

say avatar_panel for the avatar in the user panel and avatar_chat for the one in chat

edgy sentinel
#

are you gonna write a plugin that manually maps hundreds of css modules?

ashen sable
#

yes. (well not me probably but that's the point)

dark dragon
#

The person making that plugin would spend more time writing and maintaining documentation than it'd take to update all themes

edgy sentinel
#

^ (not documentation but the mappings itself)

#

just use attribute selectors lol

mystic moth
#

why not make the plugin autoresolve the mappings based on element surroundings

ashen sable
#

that'd be hard

#

I think

vast delta
#

it's hard to find reliable sources but the one i found with tests has found about a 10% of difference between class and attribute (50ms to 56ms) which was done on a page with 1000 elements, which is about four times less than what discord has and with only one selector, so in a full theme on discord's page, the difference could be much bigger. i have no way to validate these results though further down the page, it is stated that the actual difference caused by purely the selectors could be much higher or much lower. i personally think that at the scale of a full theme, using attribute selectors could lead to a measurable difference, and in bad cases, one you can see yourself. though remember that the impact of having bad selectors in general is way more than using different types of selectors

edgy sentinel
#

why not use attribute selectors 🤯

vast delta
edgy sentinel
#

do proper benchmarks comparing actual themes on actual discord

#

anything else is pointless

vast delta
#

well there arent many benchmarking themes

edgy sentinel
#

i can name multiple themes that exclusively use attribute selectors and cause 0 lag and name even more themes that exclusively hardcode classes and have insane lag

#

at the end of the day, how you write your css matters much more than whether you use hardcoded classes or attribute selectors

#

the difference is entirely negligible

#

if the difference wasn't neglible, we would be using C for ui instead of javascript

vast delta
#

im not sure if the difference is negligible on a gigantic theme, but it is definitely more important to use better selectors instead of worrying much about the type of selector

#

even though it uses great selector types, this is still way worse than using an attribute :P (credit, devilbro, who else)

dark dragon
#

#app-mount

#

It's utterly unnecessary. Ending a selector in div is also kind of nutty

edgy sentinel
#

that seems fine to me

#

selecting #app-mount is sometimes necessary for specificity

#

im mostly worried about the > * and > div lines but it could be entirely fine

vast delta
edgy sentinel
#

don't criticise random css unless u have verified it actually causes lag

edgy sentinel
vast delta
#

it's a devilbro theme

mortal mantle
#

i just dont care anymore about performance issue ngl

#

my theme is unusuable either way

vast delta
#

it's to overwrite discord's selector specificity, it would be such a free upgrade to legibility and performance to just use the parent to do that

mortal mantle
#

months of optimization yet no real world difference

mystic moth
mortal mantle
#

i even changed everything into nesting mode

#

to shorten the code

vast delta
dark dragon
edgy sentinel
#

how do you know it walks up

#

it might also walk down

#

don't make random assumptions about performance unless you have actual data backing it up

vast delta
#

im pretty sure that is how the selector works

edgy sentinel
#

don't prematurely optimise

mortal mantle
#

optimize is a must if your layout runs at 1 fps

edgy sentinel
#

write code to be as readable and maintainable as possible. then if you face any performance issues, debug them and fix them

#

you guys are worrying waaaaaaaay too much about performance

ashen sable
#

I agree

mortal mantle
#

because

dark dragon
#

Don't prematurely optimise for sure. But you shouldn't be using selectors more specific than the minimum amount you need to overwrite any existing css

mortal mantle
#

i cant run my theme without lagging

ashen sable
#

that's why I think hardcoded classes are better :p

mortal mantle
#

its on the extreme end and i have no idea how to fix

#

the reason i would use hardcoded classes because its easier to just open up dev tools and find the issue

ashen sable
#

you know what it matches

edgy sentinel
mortal mantle
#

no html or p at all

#

not even app-mount

vast delta
#

yeah you shouldnt spend 10 times more time on making perfect selectors but it's way too easy to just use the parent, using app mount to increase specificity is just as much effort for worse results

ashen sable
edgy sentinel
# ashen sable you *know* what it matches

you also know what it matches when using attribute selectors, unless you're too retarded to write proper selectors shruggy

anyway you can write css however you want so you do you (but if you want contributions to be merged you need to follow vencord style)

dark dragon
mortal mantle
#

the only instances where i would have to resort to * was for the chat bubble element

#

otherwise i try to stay away from those

ashen sable
edgy sentinel
ashen sable
#

and no unique contents

edgy sentinel
#

.class1.class2.class3.class4

#

you should only need one of them usually

mortal mantle
#

it works ...

vast delta
mortal mantle
#

i tried using fewer selectors to no avail

ashen sable
#

it doesn't really matter that it's a div

mortal mantle
#

i have to match groupstart (the message leading a group of messages) and other separately

#

because thats how discords code is

ashen sable
mortal mantle
#

also have to count for attachments, reactions and the like

#

i currently cant think of a better method

#

unless discord gets rid of its stupid code

#

or that my test machine is simply too weak

edgy sentinel
mortal mantle
#

microsoft edge devtools??

edgy sentinel
#

yes

deft niche
#

ew edge

mortal mantle
#

probably will look up a flatpak for that

vast delta
#

that performance debugger should be in every devtools

#

actually seems so cool, i hate that i cant use it

dark dragon
#

The edge one is more advanced from what I've seen

mortal mantle
#

some elements are quite complex which add up to the lagginess

mystic moth
#

imma check if FF dev has something similar

mortal mantle
#

its laggier than the steam theme which has 5 times the amount of code

ashen sable
edgy sentinel
#

just use edge with vencord web

edgy sentinel
#

just use edge for it

#

edge devtools have a lot of cool tools that other browsers don't

mortal mantle
#

edge or edge dev

mystic moth
mortal mantle
dark dragon
edgy sentinel
#

im genuinely confused

mystic moth
#

can anybody remind me why exactly am i installing 10gb of updates while using mobile hotspot for networking

edgy sentinel
#

i have already said multiple times that you can fix this by doing [class*=parentThing] > [class*=thing]

edgy sentinel
edgy sentinel
mystic moth
#

oh right discord cockblocked the last update

ashen sable
#

I'm just saying that you don't actually know what it matches. yes I get that you can fix it by being more specific.

edgy sentinel
#

???

#

you're making no sense

mortal mantle
#

i shrimply refuse to log in microsoft account

#

hope edge wont block me from using

ashen sable
#

I'm trying to get my point across. I do get yours.

edgy sentinel
#

using your logic, you don't know what . matches in regex so you shouldn't ever use it

mortal mantle
#

like their windows 11 setup

mystic moth
edgy sentinel
edgy sentinel
mortal mantle
#

i will get to edge devtools after my holidays

ashen sable
#

bruh I guess discussing this further makes no sense so I'm gonna stop

mystic moth
#

its just that on my prev install upgarding discord directly unpatched it automatically

#

maybe i had some pacman hook for that

#

idk

ashen sable
#

I will follow your project style since it is your project

mortal mantle
#

AI power

#

wharrr

#

anyways i will load vencord onto here

ashen sable
mortal mantle
#

HAHAHAHA

mystic moth
ashen sable
#

I assumed the rules do allow the word, since they used it

#

but I guess that's a case of "rules don't apply to admins"

#

funny

mortal mantle
#

of course they wont

mystic moth
#

at least now i have more CSS to fix

#

if not for testing that and getting timed out i wouldnt know the content blocked message goes off screen with this shart of a theme

mortal mantle
#

i would appreciate if anyone with a cpu stronger than i5-8th gen would be able to look through my theme for performance issues

edgy sentinel
glad urchin
#

i think i can but no idea how to debug performance

mortal mantle
#

i5-8350U to be exact

ashen sable
mortal mantle
#

i might be building a i7-4770K machine next year to attempt to fix

#

it is THAT bad

mystic moth
edgy sentinel
mortal mantle
#

no money

mystic moth
#

those fucks have 16 cores

mortal mantle
#

fren will give me a board that only runs 4th gen cpu

edgy sentinel
edgy sentinel
mystic moth
#

is down

#

oh the bot stopped screeching at every "is down"

mortal mantle
#

i will spend a fuck ton of money on my holiday

#

so pc build is not likely to happen

#

until a few more months

mystic moth
#

vencord is down

#

oh the bot stopped screeching entirely

mortal mantle
#

before i could release v2.0.4 i have to make some more final checks

dark dragon
#

You use a fair amount of color-mix and shit in that one yeah? I'll install vesktop and take a quick look

mortal mantle
#

yeah

#

it's too good

mystic moth
#

ok yea this shit is mad laggy

edgy sentinel
mortal mantle
#

real

mystic moth
#

worse than the fuckery i had previously

mortal mantle
#

thanks for the confirmation

mystic moth
#

other than the fact i have no goddamn idea on profiling css performance i can just tell you this is laggy af

dark dragon
#

Yeah, it's not so hot. It's not bad to the point of being unusable, but it's definitely not pleasant

mystic moth
#

ok ive got 5.8h of battery left with the current usage method so im not gonna finish this before i get home

#

wait im shit at math

#

its actually half that due to the battery giving offset readings

#

so its close to 2.5h

mystic moth
edgy sentinel
#

it should work on edge too

#

isnt it just vesktop cause it uses very recent css features

dark dragon
#

just changing that selector to .username_d30d99:not([style]) makes it noticeably better for me

neon crown
#

im kinda not too knowledgeable on css, how can i change the color or thickness of this specific element? i tried something like #guildSeparator { color: #986258 !important} and nothing happened

solid ore
#

for its thickness you would use the height:

#

default is 2px

neon crown
#

oh thanks, i'm guessing the "id" or something after the guildseparator bit is important?

solid ore
#

it specifies exactly which element, but i doubt there are other guild separators
if u wanted a more future proof one u could use [class^=guildSeparator_] instead

neon crown
#

thank you, what's the difference between doing [class*=blahblahblah] and [class^=blahblahblah]? i tried the first which didn't work

solid ore
#

idr wat *= is, but ^= is basically "starts with"

dark dragon
#
  • is contains
clear siren
#

[class$=dcb3cc]

#

make theme with these selectors only

mortal mantle
#

now now let's all take a rest on Christmas eve

mortal mantle
#

So real

deft niche
#

my fucking EYES

brisk iron
deft niche
#

this is kinda nice

summer adder
#

html {filter: invert(1);}

brisk iron
mortal mantle
#

try invert(2)

deft niche
#

not dark theme™️

body
{
    filter: invert(1);
}
.avatar__08316, .avatar_f8541f, .wrapper__3af0b, .wrapper_edb6e0, .username_d272d6, .username_d30d99, [type="button"], .anchor_c8ddc0
{
    filter: invert(1);
}
brisk iron
#

img { filter: invert(1) }
html { filter: invert(1) }

glad urchin
#

@mortal mantle do you love

#

(i am devilbro alt)

mortal mantle
#

Wtf is thatttt

#

Use nesting plsss

glad urchin
#

how to nest in raw css

glad urchin
# mortal mantle Wtf is thatttt

explaining in pseudo code

if Messagebar has slashCommandBarThing, if buttons have SendButton, apply to the 2nd last child -> border-radius: 0px 20px 20px 0px;

if Messagebar has slashCommandBarThing, if buttons do not have SendButton, apply to the 1st last child -> border-radius: 0px 20px 20px 0px;

if Messagebar has slashCommandBarThing, if buttons do not have SendButton, apply to the 2nd last child -> border-radius: 0px;

if Messagebar has slashCommandBarThing, apply this to both Messagebar AND SendButton -> top-right, bottom-right 20px;

override the following borders and radiuses on the SendButton

#
.channelTextArea__2e60f:has(.attachedBars_da3c74) .buttons_ce5b56:has(.separator__8424b) > div:not(.separator__8424b):nth-last-child(2) {
  /* border: 1px solid red; */
  border-radius: 0px 20px 20px 0px;
}
.channelTextArea__2e60f:has(.attachedBars_da3c74) .buttons_ce5b56:not(:has(.separator__8424b)) > div:not(.separator__8424b):nth-last-child(1) {
  /* border: 1px solid green; */
  border-radius: 0px 20px 20px 0px;
}
.channelTextArea__2e60f:has(.attachedBars_da3c74) .buttons_ce5b56:not(:has(.separator__8424b)) > div:not(.separator__8424b):nth-last-child(2) {
  /* border: 1px solid blue; */
  border-radius: 0px;
}
.channelTextArea__2e60f:has(.attachedBars_da3c74) .textArea__74543 + .buttons_ce5b56 > div:only-child {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  /* border: 1px solid yellow !important; */
}
.separator__8424b {
  /* SILLY OVERRIDE FOR THE THINGY ABOVE */
  /* LIKE I SAID, SILLY OVERRIDE I AM SORRY :( */
  border-radius: 0px;
}```
#

i am slowly going insane fixing bugs

dark dragon
glad urchin
#

no idea how

mortal mantle
#

channeltextarea
&:has()
& .buttons_
&:has()
& > div
... and so on

glad urchin
#

wait

mortal mantle
#

it's more readable

glad urchin
#

is it the same but inlined

#

oh.

mortal mantle
#

the advantage is that you won't have to repeat certain selectors again and again

dark dragon
#

not &.buttons_ though, that'd select chaneltextarea that also has the buttons class

mortal mantle
#

which should be the first 3 lines of the snippet

#

for the fourth one change it too & .textarea I guess?

dark dragon
#

There's a space(descendant selector) between both those selectors

glad urchin
#

might look back at nesting another time

#

need to fix the searchbar which discord messed up so bad

#

i wanted to fix with automatic margin/padding but it doesnt work. had to use a hardcoded margin to center the placeholder and input

dark dragon
#

Like this?

.public-DraftStyleDefault-block,
.public-DraftEditorPlaceholder-root {
    width: 100%;
    text-align: center;
}
glad urchin
#

nop

#

.toolbar__88c63 {
  border: 0px solid steelblue;
}

.toolbar__88c63 > div {
  /* border: 1px solid green; */
  height: 100%;
}
.toolbar__88c63 .iconWrapper_af9215 {
  border: 0px solid yellowgreen;
  display: flex;
  align-items: center;
  height: 100%;
}
.search__07df0 {
  display: block;
  /* border: 1px solid green !important; */
  /* box-sizing: unset !important; */
}
.search_ac353c {
  /* border: 1px solid springgreen; */
  /* border: 1px solid tra; */
  height: 100%;
}
.searchBar_e0c60b {
  /* display: flex; */
  /* align-items: baseline; */
  border-radius: 12px;
  height: 100% !important;
  align-items: center !important;
  /* border: 1px solid red !important; */
  box-sizing: unset;
}
.public-DraftEditorPlaceholder-root{
  top: 6px;
}
.public-DraftEditorPlaceholder-root > div{
  padding-left: 3px;
}
.DraftEditor-editorContainer {
  height: 28px !important;
  /* ^^^ this is hardcoded for now :( */

  /* border: 1px solid gold !important; */
}

.public-DraftEditorPlaceholder-root, .public-DraftEditor-content {
  padding-bottom: 0px !important;
}

.public-DraftEditor-content > div, .public-DraftEditor-content > div > div {
  height: 100% !important;
  width: 100%;
  border: 0px solid red;
}
.public-DraftStyleDefault-block  {
  height: 13px;

  border: 0px solid green;
}

.public-DraftStyleDefault-block > span {
  /* border: 1px solid green !important; */
  display: flex;
  flex-direction: row !important;
  text-align: center !important;
  margin-top: 3px !important;
  top: 3px !important;
  border: 1px solid rebeccapurple;

}

.searchFilter__118cb {
  border-radius: 8px 0px 0px 8px;
  padding-left: 6px;
  height: 100%;
  
}
.searchAnswer_b452e7 {
  border-radius: 0px 8px 8px 0px;
  padding-right: 6px;
}
#

its a big mess

#

love it when discord uses a custom input specially for the channel header searchbar

glad urchin
#

kinda fixed it

#

need to clean it husk

mortal mantle
#

Peak CSS

glad urchin
#

so long

fading wigeon
#

can i not target a class on the root if my style is injecting into documentElement??????

edgy sentinel
#

you can

fading wigeon
#

then why the fuck is my selector doing fuck all

edgy sentinel
#

in what context, and what selector

#

vencord injects everything into documentElement

fading wigeon
#

.platform-win #app-mount

clear siren
#

what are you trying to achieve

fading wigeon
#

add padding around app-mount only if its windows

#

its worked before

#

ok something i thought was a visual bug prob isnt one

#

fun

#

why the fuck is usercss-meta mangling this

#

why the FUCK is it removing this }

#

just an issue of my code cause my dumbass used an inclusive selector in the regex

deft niche
#

moved my theme to a plugin so i can make configurable options

solid ore
#

if i wanna change the svg of an element to a different one that is used elsewhere in discord, is it better to just copy paste the d: path("x") or is there a way to just copy the original element's svg? and if so is that more efficient?

clear siren
#

just copypaste the path

#

if the svg has its own url you could use it but they don't

solid ore
#

alr thanks! :)

neon crown
#

how can i remove or change the color of the logo seen here

summer adder
#

i’m not near my computer rn but i’ll give you a heads up

#

find its svg and try to display: none it

#

that or to change color find the svg and fill: color it

#

if you can’t do it and don’t have help by the time i’m back i’ll just find a definite working solution for you

neon crown
#
  content:
  fill="#2d1f1d";
}```
i tried this, i'm probably doing it wrong
solid ore
neon crown
#

ty <3

neon crown
#

from inspect

solid ore
#

i have no idea where that is, this is mine

#

ure tying to change the DMs button right?

neon crown
#

ye

solid ore
#

oh i see, youre selecting a class too high up

#

the one on the right is the correct one

summer adder
#

yeah you need to select the svg directly when doing that, not it’s general area

#

always make sure it only says “svg (resolution)” only

devout umbra
neon crown
#

one question, i can't seem to find the class that would change that background in the top left, sorry 99% of my questions are asking what class is this lol

#

nvm, needed an !important, sorry

summer adder
#

yeah i find most times for svg’s you need !important

deft niche
#

ah nevermind i found it

glad urchin
#

i didnt know you could use that trick for previous sibling selector, might apply it to mess known as the messagebar

#

now i need to clean and port this to the dm list, and settings

#

so much better,,

deft niche
#

ooooooh thats nice ngl

deft niche
glad urchin
#

what have i accidentally learnt

/* first item */
.sidebar_ded4b5 .privateChannels__93473 .content__23cab > .container__8759a:first-of-type .interactive__776ee{
  border-radius: 12px 12px 0 0;
  /* border: 1px solid red; */
}

/* last child */
.sidebar_ded4b5 .privateChannels__93473 .content__23cab > .container__8759a:nth-last-child(1) .interactive__776ee {
  border-radius: 0 0 12px 12px;
  border-bottom: none;
}

/* first child below THING */
.sidebar_ded4b5 .privateChannels__93473 .content__23cab > .container_de798d + .container__8759a .interactive__776ee {
  border-radius: 12px 12px 0 0;
}

/* overrides ^^, last thing above THING */
.sidebar_ded4b5 .privateChannels__93473 .content__23cab > .container__8759a:has(+ .container_de798d) .interactive__776ee {
  border-radius: 0 0 12px 12px;
  border-bottom: none;
}
#

this is for the entire dm list

#

i am scared of what i have learnt and what i will do with it

glad urchin
glad urchin
#

blame dablu

clear siren
glad urchin
#

copied from the reference, not sure if it breaks anything

#

now i have to use whatever this is to fix the message bar send button thing for the 12849th time

#

why isnt this official yet

#

so good,,

#

REMOVED LINES OF BLOATWARE

grand surge
#

How to change the font size of everything?

glad urchin
#

replace 12px with whatever size

grand surge
glad urchin
#

before

grand surge
#

* { font-size: 14px !important; }

#

I changed font and now theres this ugly thing

#

anyone know how to change that?

glad urchin
#

.headerText__94c22 { overflow: hidden; }

grand surge
#

❤️

glad urchin
deft niche
glad urchin
#

quickcss but fast toggle

void helm
#

@clear siren @supple jacinth @teal cave sorry for the ping but just wanted to say thanks once more for helping me with my "mouseover sidebar" theme recently. https://github.com/ZythDr/Discord-Stuff I've put it on my Github and credited you all! Happy holidays!

supple jacinth
#

👍

summer adder
#
/**
* @author Madeline
* @name Effect Remover
* @description Removes all the stinky nitro decorations and profile effects! All at the low low price of FREE!!!
*/
.avatarDecoration__14b3c {display: none;}
.avatarDecoration_ae35e3 {display: none;}
.profileEffects_fd33f6 {display: none;}```
#

(this doesnt remove profile colors only decorations and effects)

solid ore
#

what's the css equivalent of an "or" statement? i want to do
.class[style="color: x;" or "color: y;"]

summer adder
solid ore
#

that doesnt help, when looking it up i j found that u had to sepearate w a comma and write the class again, e.g.

.class[style="color: x;"],
.class[style="color: y;"]

i was j wondering if there was a more concise way of writing it

deft escarp
#

can anyone make this Theme For vencord by fixing it

solid ore
#

inefficient as in slower?

teal cave
heady heart
#

Does anyone know of a theme that can collapse the chat buttons when I start typing, similar to how mobile does? Alternatively does anyone know the CSS to alter to move these to another line? This is getting annoying (reposted from support)

glad urchin
#

idk how to make it collapse but you can hide it

heady heart
#

Hiding would be good as well, or just moving it to another line. Just some way to prevent this weird 'text only takes up 1/8 of the text box' issue lol

#

I was able to adjust the CSS in the console thing but I'm not sure how to edit it in the quick CSS stuff

summer adder
#

how could i select a class ONLY in a different class

#

so say i wanted to select the messagelogger-edited ONLY in the reply preview class and nothing else

#

how would i do that?

summer adder
#

cant find a way

#

thats why im here

glad urchin
#

is it this

#

or this

summer adder
#

well i was looking at a reply preview in the support class

#

and the whole thing is covered by the message before the edit

#

i want to get rid of that and only that, so it would display the current message

#

but only in the reply preview

glad urchin
#

successfully confused

summer adder
#

only in reply preview.

glad urchin
#

if the message is a reply and the content is edited, remove edit on replied?

summer adder
#

yes

glad urchin
# summer adder yes

something like this?

.message__80c10.hasReply_febd50 > .contents_f41bb2 .messageContent__21e69 .messagelogger-edited{
  border: 1px solid red;
  display: none;
}```
summer adder
#

testasdfhgjasdgfh

summer adder
#

nothing

glad urchin
summer adder
#

ahhh

#

didnt notice at first, im stupid

#

thx

glad urchin
#

np

deft niche
#

deloper

deft escarp
deft niche
#

laggy as shit but its not broken my any extent

grand surge
#

How to make icons in the sidebar centered or smaller?

#

Also anyone know how to make image cover this?

grand surge
deft niche
#

Send your css

midnight stone
#

a

#

@mortal mantle

mortal mantle
#

tytytytyty

midnight stone
#

np

deft niche
#

@cursive tinsel

:root
{
    --bgcol: rgba(10, 10, 10, 0.2);
    --background-primary: var(--bgcol);
    --background-secondary: var(--bgcol);
    --background-tertiary: var(--bgcol);
    /*etc etc*/
}

#app-mount
{
    background-image: url(whatever background you want);
}
cursive tinsel
deft niche
#

just any css injection method

#

quickcss or a theme file typically

cursive tinsel
#

this?

glad urchin
#

yes

deft niche
#

yup

cursive tinsel
#

sick

cursive tinsel
deft niche
#

quick test i did

deft niche
cursive tinsel
deft niche
#

yeah because i set it to a blue image goober

#

what exactly do you mean by transparent

cursive tinsel
#

...

#

like

#

see through

glad urchin
#

unfortunately you wont be able to "fullscreen" the app

cursive tinsel
#

this

#

like

#

see through background

deft niche
#

ahhh

#

i vaguely remember seeing a setting for that somewhere

glad urchin
#

yop

deft niche
#

not sure if its on vencord, let me see

cursive tinsel
#

yeah i been tryna get it transparent

deft niche
glad urchin
#

something something devtools

#

its native on vesktop

deft niche
#

oh it is?

#

that then lmao

glad urchin
#

yop i dont have a transparent theme to test it with

cursive tinsel
#

heres someoen doing it on

#

betterdiscord

#

idk how to do it on vencord

deft niche
cursive tinsel
#

what that

deft niche
cursive tinsel
#

:(

glad urchin
#

devtools -> Vencord.Settings.transparentUNSAFE_USE_AT_OWN_RISK = true paste

deft niche
#

UNSAFE_USE_AT_OWN_RISK trollf

cursive tinsel
#

"UNSAFE USE AT OWN RISK"

#

lmfao

deft niche
#

i mean if you want a transparent theme then

#

its there lmao

cursive tinsel
#

i do but

glad urchin
#

^

cursive tinsel
#

unsafe

#

ban

#

whi

#

i jus want invisible

glad urchin
#

how

cursive tinsel
#

UNSAFE_USE_AT_OWN_RISK

#

what dis mean

glad urchin
#

its unsafe because it you will no longer have this option

cursive tinsel
#

well what would happen if i used it and got "caught

cursive tinsel
deft niche
#

pain

cursive tinsel
#

that allows full screen :(

deft niche
#

does it really matter that much? its like in no way practical

cursive tinsel
#

you not wrong but i jus dont wanna get banned for transparent

deft niche
#

do whatever you want but its not worth it like at all

#

legit not being able to maximise so you can see behind the window (click minimise it takes 2 seconds)

cursive tinsel
#

which sucks

midnight stone
#

yours look more accurate

#

i like it

deft niche
#

i mean you can always just use an image

cursive tinsel
glad urchin
#

vesktop 🔥

cursive tinsel
#

like dis

glad urchin
#

no idea for that one

midnight stone
#

horror

deft niche
cursive tinsel
glad urchin
#

its not unsafe??????

cursive tinsel
glad urchin
#

it says unsafe but all it does is enable transparency at the loss of maximizing windows

#

once again its open source, it cant be unsafe

cursive tinsel
midnight stone
mortal mantle
#

what happen

midnight stone
#

They think they can get banned from Discord if they enable transparency

cursive tinsel
#

i don’t work on discord all i saw was unsafe use at own riskWHAT

glad urchin
#

its a silly variable name, there is no risk

mortal mantle
#

Make them believe so

cursive tinsel
deft niche
#

screwed with the transparent theme a bit, i like it tbh

grand surge
#

anyone know how to change color of this?

summer adder
#

depends, whats 'this'

#

you have multiple elements on screen

grand surge
#

that thing next to my cursor

summer adder
#

theres two things next to your cursor

grand surge
#

thats other color than everything else

grand surge
summer adder
#

i dont get what you mean just make a picture focusing only that

grand surge
summer adder
#

send me your theme/qcss and ill try and do it

deft niche
# grand surge

youre probably rounding the wrong element in the first place, chances are it has a wrapper or parent

summer adder
#

dw i gave him two lines of code that made the elements red

#

now he just has to adjust the colors to his liking and put the lines of code wherever sip

alpine cove
#

fr id just disown my child

#

wait ur not talking about that

summer adder
grand surge
alpine cove
#

i will not elaborate

grand surge
cursive tinsel
summer adder
#

the way their thing works is they input an image link, and it’ll set it as a background

deft niche
#

you really arent getting this are you

deft niche
grand surge
dark dragon
glad urchin
#

ctrl k+c :

#

less convienient but it works fine

devout umbra
glad urchin
devout umbra
#

ah, lol

#

usercss better

#

also i use ctrl+/

devout umbra
#

nice

#

i do

#

are you using lewi's fork?

deft niche
#

whats the link for usercss?

#

i wanna screw around with it :3

cursive tinsel
deft niche
#

make one yourself

deft niche
#

exactly

#

#skillissue

eager heart
deft niche
#

yippee gracias

eager heart
#

if you want to use gh pr checkout

deft niche
#

i mean how to make theme options, not how to load the pr

eager heart
#

@deft niche

#

@vc-requiredPlugins is a vencord specific extension that makes it so you can set.. well, a list of required plugins

#

comma separated like ThemeAttributes,a,b,c

deft niche
#

awesome, thanks!

eager heart
#

yoiu dont need to add @-moz-document btw

#

and @author has no strict format

#

unlike in the spec

ashen sable
#

you probably should though, for interoperation

deft niche
# cursive tinsel make me transparent working theme >:(

if youre still looking for one then

:root
{
    --bgcol: rgba(59, 47, 100, 0.1);
    --background-primary: var(--bgcol);
    --background-secondary: var(--bgcol);
    --background-tertiary: var(--bgcol);
    --background-primary-alt: var(--bgcol);
    --background-secondary-alt: var(--bgcol);
    --background-tertiary-alt: var(--bgcol);
    --bg-overlay-1: var(--bgcol);
    --bg-overlay-2: var(--bgcol);
    --primary-630: var(--accent);
    --__header-bar-background: var(--bgcol);
    --channeltextarea-background: var(--bgcol);
}
#app-mount
{
    background-color: var(--bgcol);
}
ashen sable
#

I am still wondering how should I handle this (on a design, not technical, level)

#

I am tempted to just remove the lines (which I did do at one point, but restored them later)

#

they aren't useful and don't work with this at all

#

but then I'm diverging from vanilla Discord more

#

why did Discord just decide that system messages should have time randomly on the right side instead of on the left side and formatted differently as well

#

well, this could also be because they don't care about Compact (it probably is)

glossy aurora
#

probably because the time is attached to the username, which system messages don't have

grand surge
#

somebody make a christmas theme pls

summer adder
mortal mantle
slim pond
#

So I just noticed

#

Discord actually "implemented" no light in dark mode

#

they fixed the out of place light themes

teal cave
#

Wow only took 7 years

slim pond
#

yes

mortal mantle
#

damn now I don't need a theme for it anymore

#

but like I never touch it anyways lol

summer adder
#

yippie finally its true

slim pond
#

small nitpick though:

#
.theme-dark .backButton__576ea {
  color: var(--white-500);
}
summer adder
#

discord do absolutely anything right challenge

mortal mantle
#

I'll be back home tonight and get back to css grinding tmr blobcatcozy

summer adder
#

you come into the css development channel...to ask where to put css..

barren jewel
#

fix for SpotifyControls not following custom themes

.theme-dark #vc-spotify-player#vc-spotify-player {
 background-color: var(--background-primary);
}
solid ore
#

why not make it transparent to make it work for any theme

brisk iron
#

no

deft niche
deft niche
#

that way it works for everything

cursive tinsel
barren jewel
#

i kinda just opened quickcss, typed in 'black' and was like yep that works im done

deft niche
#

fair enough lmaoo

deft niche
solid ore
deft niche
#

clearly not bigbrain

barren jewel
#

real gamers use ven toolbox prayge

solid ore
deft niche
barren jewel
clear siren
#

real gamers only use slow css

barren jewel
#

real gamers style everything in html

#

nobody needs a stylesheet tf is that

deft niche
cursive tinsel
#

i put it in there is that it

barren jewel
#

yes

cursive tinsel
#

that didnt work @deft niche

deft niche
#

damn i wonder why

barren jewel
#

i think you want a literal translucent theme

#

which is not possible

deft niche
#

its almost like we had a whole conversation about a console command you have to run

deft niche
#

its possible

barren jewel
#

kinda

#

not like nicely possible

#

but its possible

clear siren
#

nothing is impossible if you believe in yourself and don't have skill issues

barren jewel
#

(they will soon realize how unusable fully transparent applications are)

deft niche
#

kinda fucks up the window sizing but its possible ig

#

still no idea why someone would want it because its completely impractical and in no way useful

#

but i mean

cursive tinsel
# deft niche ^

devtools -> Vencord.Settings.transparentUNSAFE_USE_AT_OWN_RISK = true paste

barren jewel
#

its kinda usable if you make it translucent

cursive tinsel
#

i need to enable this and use the code u sent?

cursive tinsel
deft niche
cursive tinsel
deft niche
barren jewel
#

like if you get it like this, its not that bad

deft niche
cursive tinsel
#

wtf

#

lmfao

deft niche
#

i guess its useable with some blur but still

barren jewel
#

go to the console tab

deft niche
#

not really useful or good looking

cursive tinsel
barren jewel
#

Vencord.Settings.transparentUNSAFE_USE_AT_OWN_RISK = true

#

paste that in the console

#

press enter

deft niche
#

(then restart)

cursive tinsel
#

@deft niche

#

do i do that

deft niche
#

nope that guy is lying and is trying to get your mothers maiden name

#

yes ofcourse you do that

cursive tinsel
#

smh

#

i did it it didnt work

#

mfs lied

grand surge
#

i dont know wtf I did

deft niche
barren jewel
#

too much padding

deft niche
solid ore
deft niche
#

works fine for me :3

solid ore
deft niche
#

twas just a test

#

you can set it to whatever color lmao ittl still be translucent

solid ore
#

even if u set it to transparent it doesnt work

#

stupid request anywya

cursive tinsel
#

finally got it