#๐งฉ-plugin-development
1 messages ยท Page 50 of 1
Yeah i am
Thank you so much
Probably not gonna pr it though because it's modifying source and my spaghetti code is a disgrace to humanity ๐
I can maybe try figure out a way to send it to you tho]
Maybe you could inject the pinned plugins list into the VencordToolbox menu
I have a horrible question
Shoot
Why aren't you using the built-in Discord pin icon
You forgot it existed

I completely forgot they existed until AFTER i made the icon component
yeah sounds about right
And i can't be bothered to change it now

why do not add buttons there
add a pin modifier on top that changes the settings icon to pin or smth
too little horizontal space
You mean like, a toggle above the list that changes the settings/info icon into pin?
That feels weird
well something like that is necessary
both to reduce visual clutter and to preserve horizontal space
you could also have the pin button in the plugin modal instead
eh
bad ux to quickly pin stuff
another ux issue btw: why is there no enabled toggle in the modal
Oh that's actually a way better idea

i might have implemented something similar in minecraft once

you see minecraft is another thing which is popular to modify :p
How the fuck did i even MANAGE to screw the svg that badly
Forgor ๐
I'm gonna use it actually
LAWD HE THICC
That looks alot better actually
If you ignore the random space between the info and pin icon
could be better
Yee
actually the spacing looks weird with shorter names too
maybe you could reduce it
but maybe vee disagrees idk
I want to but i have like no knowledge of svgs or how i would go about doing that
ok nah it does look pretty cluttered once the spacing is normal
maybe only show the pin if it's pinned or you are hovering the card
having info, pin and cogwheel buttons pop out on hover might look better
That's a good idea
Like they slide out from the right when you hover on the plugin card
they slide out from the toggle button ๐
ok this looks way better than the discord pin svg
Mainly because it's now hollow if it's not pinned
just edit the discord png?
this looks out of place
are we using the new icons yet
ah, the new icon is more detailed than the old icon which makes it harder ig
I swapped it to the gif favourite icon, it was easier since there's already specific hollow and filled versions, but also because i named the core plugin and category "favourites" which would be kinda weird to have pins on ๐
are the filled/empty stars the same size?
Idk actually
the hollow one looks smaller
why does this make me think of ie
I thought about that too
you can['t just say perchance`
Does it still make you think of ie 
Horrible opening
i just remember how internet explorer had favourites instead of bookmarks like normal browsers
the hollow ones?
Both
hm, I think the other ones look good enough
but they're bigger than the info button, which is weird
wait no, they're not bigger
they're placed a few pixels too high
I moved it up a bit with the viewbox because it was weirdly off center but i don't think i got it right
Oh i just had a weird thought
Hold on
Does this look better? i feel like it does
It seemed off having the spiky icon in the middle

hollow star is too high again
but it looks good
also why is betterCopy lowercase 
I actually have no idea lmao
time to fix it with css
There you go

thanks, my OCD went back to sleep
nevermind, the star is still 1px higher than the info button
It is done 
it has woken up again
I want to find a better way than storing the plugin names in a string varaible but it's fine for now
kek, fair
can you manually add plugins to your favourites through this menu?
Should be able to
Yeah
is there autocompletion?
huh, what happened to the background
It's not broken the gif just decided to spaz out for no reason lmao
oh I see
like i said do not put it there
your pr will not be accepted
there is not enough horizontal space to fit even more icons
nvm.
I have quick question, from vesktop. when using the sendBotMessage, the users get the bot tag after just 1 or two messages. is there an existing fix? (i am creating a plugin)
here a simple snippet
flux: {
async MESSAGE_CREATE({ optimistic, type, message, channelId }: IMessageCreate) {
if (optimistic || type !== "MESSAGE_CREATE") return;
if (message.state === "SENDING") return;
if (!message.content) return;
if (message.author?.bot) return;
if (channelId !== SelectedChannelStore.getChannelId()) return;
//console.log(message.content);
sendBotMessage(
channelId,
{
content: `${message.content}`,
author: message?.author,
}
);
}
}
Why are you even trying to do this
well, I couldn't figure out if there a debug option in the vesktop so, instead finding a lazy workaround
Xy problem
oh yeah. let me explain abit
right now, I am just trying to receive messages from another channel than show them off depending in the mentioned channel in the message itself
But i don't like the bot thingy on the users so is there any fix for it?

lmao
So you want to mirror messages into another channel client sided?
hello?
Weird bug tho
are there any videos on how to make a vencord plugin
instead of docs
and when u put the defineplugin is it supposed to already pop up somewhere in vencord
i dont see it in plugins
oof
read the source code as I did, and take an hour of your life realizing weird shit is happening with ts
hey um how do you actually test your code changes locally, like when making a plugin
have you set up a dev install
wym exactly
You test by recompiling and then reloading the page
i've cloned the main repo and compiled, but what with the files now, patched client or whatever can't know where dist i want to test is
and i've checked Roaming\Vencord\dist but compiled and orignal dont really match so i cant just swap them
so I'm kind of making a mobile navbar
not sure what i did but um
You did good
then why does it keep adding it
bruh
why did you censor the plugin details
someone understands me here
no one is gonna steal your idea if your already making it
eh you never know
you need time to create it, a more skill guy can easily make it faster
nobody really does that here
so i've uninstalled vencord, uninjected, cleared all builds, reinstalled, and still its there infinite amout of times (context button)
anyway you need to add a condition that checks if your context menu item is there already
if it is don't render it again
makes sense
weird, didnt see other plugins with message menu do that
hm
i dont know much about it but that's what i've done to fix it
plugin name?
ah
do you have any idea of how to recv messages from another channel?
listen to MESSAGE_CREATE flux
then check if it's in the channel you want it to be in
uh great, logiclly but what if you already did that but it broke when you removed the if that checks the channel?
async MESSAGE_CREATE({ optimistic, type, message, channelId }: IMessageCreate) {
if (optimistic || type !== "MESSAGE_CREATE") return;
if (message.state === "SENDING") return;
if (!message.content) return;
if (message.author?.bot) return;
if (channelId !== SelectedChannelStore.getChannelId()) return;
//console.log(message.content);
sendBotMessage(
channelId,
{
content: `${message.content}`,
author: message?.author,
}
);
hold up, I am gonna do something, it may fix it
I can't seem to find a way to get the last selected channel id that is a dm
because @me is not a valid guild id
try looking around in PrivateChannelsStore or whatever it's called
is it possible to do smth like sendBotMessage and then edit it? like loading state or smth
Try manually dispatching a MESSAGE_UPDATE flux event
Take a look at how MessageActions.receiveMessage works
**ContextMenu.ts: **Lines 22-28
type ContextMenuPatchCallbackReturn = (() => void) | void;
/**
* @param children The rendered context menu elements
* @param args Any arguments passed into making the context menu, like the guild, channel, user or message for example
* @returns A callback which is only ran once used to modify the context menu elements (Use to avoid duplicates)
*/
export type NavContextMenuPatchCallback = (children: Array<ReactElement | null>, ...args: Array<any>) => ContextMenuPatchCallbackReturn;
instead of returning (args) => { code that pushes element }, return (args) => () => { code that pushes element }
the first callback is used for react hooks if you need to use them, because you always need to call the same amount of hooks
arrow functions my beloved
Some might insult the idea, but yeah no stealing is gonna happen
Holy shit, I managed to ascend after remaking my loop statement into a concise one-liner using boolean expressions
what is that
Any way to manually show a call dialog for a guild channel and still have it close?
Dispatching CALL_UPDATE with ringing: [user.id] produces a popup that can't be closed, also it's marked as a video call and has no avatar
I have guildId set btw
Why did you blur defineplugin lmao
It's just a c++ robot competition thingy
cool
Lmao vex
What team?
We just used ez-templte
so-called secret plugins when the plugin purpose is explained anyway due to the code
๐ฅ๐ฅ
Rate the jank.
for sec, my brain tho this is a C# code somehow
make that ternary not a ternary and it would be fine
In other words, looks jank, needs to look readable
Might turn that dummy promise into a variable and overwrite it with the fetch result if fetching is required
when the user joins a vc, how do I know that?
Probably some flux event
yeah found a plugin called VcNarrator. it may help me
I have been playing with that
I can vouch for looking at VcNarrator
I can share some of what I have been doing recently too because that would probably help you
BTW, what are you trying to achieve with voice join events?
we will never know
changed my mind about it
I have an idea of getting pinged when someone is pinged, but how do i make this? no idea
just I know that I should listen for event create_message than check the mentions
but how do I make the pinged part?
not just highlight the message but the sound too. is there an existing method or I should define my own
Find the code that's called when you get pinged normally
update: idfk what I was doing but it doesnt work after my bad refactor
ok i can either use an if else or a ternary
i cannot make the instant resolving promise before then overwrite it
i'm fucking stupid
i was doing if exists then fetch
not if not exists then fetch
okay
I think I've settled the unknown behaviour and have come to a conclusion
The ternary is staying 
It was only working half the time if I did the if check later
and overwrote the other promise

I just started to the PROs api, i was using the native library before
sounds cute
#๐พ-core-development message
@quaint cipher
Vencord.Webpack.findByProps("playSound", "createSound").playSound("message1", .4) like this?
thank
yeah
Usually better to use findByPropsLazy I think
That way it doesn't need to search tens of thousands of modules every time
i mean
you can just assign the result to a variable
lazy is just for when the module you want is in a lazy loaded chunk or you're doing it in a plugin
I will literally pay someone to do this request #๐ณ-plugin-requests message
quick question, so for every plugin, i have to recompile vencord? i'm actually not sure if i'm supposed to ask this in #๐ฅ-vencord-support-๐ฅ or if it's fine to ask here, since it's not some issue with vencord but rather something i want to ask in terms of plugin dev
yep, need to build again or use pnpm build --watch
Seriously, if someone wants to take this on for $$ as a commission, DM me
are there docs? i can't find them lol, can you link them for me if there are any?
@remote kestrel I see you wrote the plugin for aliucord, I know Android =/= Windows but any chance of you porting the plugin to work with Vencord too? 
Saw lots of issues with crashing with it
Edit: Only allows for channels, not DM's
smh smh
there are no crashes
it is as stable as the rest of the app
I searched this server a bunch looking for what i need and a lot of people have commented that the favourites/experiments causes them to crash often
I suppose I should try it, how do you enable this anyway?
I can't see any way to toggle on/off
and once you have your favorites you wont even need the experiment
wdym by that?
either should work
once you add channels/dms to the favorites tab you can see them without having to turn on the experiment
Oh, that's neat. I enabled it using Treatment 1, but hasn't appeared yet. I'll move to the support channel though
Reload
Have done
I think you need to favorite something first
Wait, this is for server channels only?
@glass oracle how are there users in yours?
It only gives me the option to add channels from servers I am in
Yeah honestly this feature is buggy as hell, my request to zeet remains. I'd rather have one screen for DM's that's categorised, not a separate buggy tab altogether
it appears discord has removed the ui option to do so
but you can still do it via a snippet
Vencord.Webpack.findByProps("addFavoriteChannel").addFavoriteChannel("<DM CHANNEL ID>", "<FAVORITE CATEGORY ID OR null>")
buggy how?
Well, allowing one person to add DM's and not another (which you clarified was simply removed), crashes (search favorites experiment here, lots of reports of crashing) were my main points
I appreciate the snippet you provided, but it's simply not practical until Discord adds some native way to do this
I was inquiring about someone programming a plugin but it derailed from the favourites suggestion
sorry
@glass oracle hiiii
haiii
how do I add plugins into my discord broswer?
vns
thanks, I will test it
yw
why discord wants me to send stickers I can't send a normal message without it autoselecting a sticker (I hate it)
you can disable this in the settings
Sticker Suggestions
life savier
its suffering making plugins, wish there is a debug console on vesktop that I didn't know about
tell me please
ctrl shift i
.
wat
I tried it tho
is f words allowed? because I didn't freaking know you must spam it damit
what
I needed to spam pressing those keys because it never worked for me
??????
just press normalyl
also yes u can swear lmao
i am about to submit some horrible PR to vencord itself
Why does discord contain (at least) five versions of the classnames library
normal
discord is an optimized app
they also have two versions of react spring
is classname literally just string concatenation or am i missing something
i think it also allows booleans
classnames("thing", isDisabled && "disabled")
or via object key
yeah it filters anything falsy
i love my code i love making requests to https://canary.discord.com/api/v9/channels/undefined/messages
are you the one creating those fake guilds and channels?
sending client-side messages into unloaded channels
nvm you are not
I was going to say creating fake guilds and channels would be extremely hard
a lot of code to patch to avoid invalid requests
i think I have a null or something as the channel id when trying to pre-fetch messages before inserting my own message
is it possible to make sendBotMessage not replyable?
You can make it ephemeral
I don't know if you want it to be able to be "dismissed" though
that may work, but how?
message.ephemeral = True; //?
not a problem for me
message.flags = 1 << 6;
thank you alot m-master
this was the case but it was undefined for some random reason
okay
it's ChannelStore.getDMFromUserId returning undefined
wait no
wtf
oh
its the order of my ternary
ffs
it was evaluating as (dmChannelId && selfInChannel) ? settings.store.friendDirectMessagesSelf : true not dmChannelId && (selfInChannel ? settings.store.friendDirectMessagesSelf : true) like i wanted
i think i found a bug with vencord's updater
Local unpushed commits are considered as updates even if built against that commit
Please don't tell me this is a known bug or that I am doing something wrong
(tell me)
wym "built against that commit"
Can't I make my own plugin, or is it that I have to request for one?
Sure can, but you have to compile from source
hey guys, does vencord allows fetching gifs as relative path ? or alternatively is there anyone who knows a 300+mb gif files free only host website ? ๐
when running pnpm build (or watch)
do you mean like
if you built while on an unpushed commit?
yes
what plugin that plays with the ui button?
what "UI Button" and why
I am looking to take over the world the discord button to put not fart sfx
thats not a plugin afaik
wait wdym?
what are you talking about
are you talking about the discord logo dm button having that discordo easter egg
are you trying to make a plugin to.... make it play fart sound
I am looking find the pos of button than put a button on the side, hold on I am gonna photoshop cuz I am bad at explaining
the fart thing is later
so you want to add a button besides the @ ON/@ OFF toggle?
at start, I will make a plugin to put side buttons than make the whole discord make some weird sounds, lol. I already can imagine their voices laughting on stream
patch the component
so I would need the component module? how do I use it tho
and how can I use it to find already existing buttons and just put something on their side
and later sounds
what are you even trying to do with this plugin
just be slow with me, because I am just slowly learning. I am trying to make basic stuff than go up
thats okay
I won't be able to make the project on my mind if I didn't get the skills
i am just curious if you have some major idea for a plugin yet
also it's okay to make something for fun (see oneko plugin)
omg oneko plugin, amazing
I wish if there is an existing docs
A lot of it is searching in the browser devtools sources tab for stuff
Also it's kinda hard to document this sort of stuff
at least lil documents, I won't know about findByProps without component
yeah you have a point as its a reversed software
why is there no docs on dumping modules to disk guhh
tracing things with devtools is so much harder than it has to be
it's really not wdym
anyway it's pretty easy
wait you are not robotic yoshi with colorful body parts ๐
devtools fucks with your source windows
then you get the occasional crash
opening other modules needs more effort
no quick global regex/ctrlf to get all matches
dunno I'm used to the way id trace something in discord kt
oh cool
occasional crash
use vesktop
i am
fucks with your source windows
?
opening other modules needs more effort
it's alright, just put a quick breakpoint and you can jump to definition
Hey guys, just curious, how does vencord inject itself into discord?
how does it work though? could you give me an overview
you can use dpacker or my outdated crap (i have a better rust rewrite for it but it's on my misplaced backup drive ๐ญ)
like does it replace the actual discord executable or what
yes essentially
it replaces the asar bundle
yeah rini showed me awhile ago
electron thing?
yes
ah
so the go program only replaces the asar and then the rest of the things are done in native typescript?
yes
Ic Ic
I see
I want to make something like this lmao
would be cool to put on my uni application
wait you made vencord? lmao
yes
awesome
vencord is awesome i love vencord
Is there a way that i can bypass/fix this error when i try to iframe something? i'm just tryna play pacman in discord 
@cedar olive do u know why ban delete days randomly broke in oceanic
await msg.guild.createBan(id, { reason, deleteMessageDays: possibleDays })
await msg.guild.createBan(id, { reason, deleteMessageSeconds: possibleDays * 86400 })
both of these don't delete any messages even tho possibleDays = 1
it worked fine before
uh lol
seems like discord broke it?
doesnt work when i manually ban either lol
average discord
delete ban days is becoming a level 3 boost feature!!!
(this is a joke, a really bad one)
@dull magnet plugin bountes when
horror
maybe
people would be more motivated to make plugns if someone offered them to pay
anyway i will rewrite settings api logic
baaaaaaad
how do we know people will actually pay and not scam

they would have to send me the money ahead of time and then when the plugin is finsiehd i send it to the person or smth
but thats horror
thats awful way to do it hmm
guh isnt there a website to correctly handle that I wonder
you pay first, make bounty
and technically it will count as income then so you have to tax it technically
vencord involved in tax evasion real
and if nobody makes it you can get it back

that is the job of the guy who gets the money
at least if money is not routed through you
also on IOS jailbreaking community somehow these stuff were working well i think
there was tweakbounty subreddit
whyyyy
ITS TERRIBLE
you dont even write platform specific code do you
https://www.reddit.com/r/TweakBounty/ love, its still active
ummmm this app is damaged!!!! ! ! !!1111!!11!! 
what the hell you didnt shove 100 dollar up steve jobs asshole???!!!! DIES FROM CRINGE
permission error even tho youre literally running as admin
voice message needs to be OpusOgg or i will refuse to play it 
vencordinstaller cannot be opened on this version of your os 
oh you use a "ctrl" and "meta" key? never heard of that in my life we use cmd here
apple trying for one second not to be special needs (failed)
- if mac users want vencord that badly they can use vencord web
they cant cause they all use awful safari which doesnt support vencord
does userscript not work on safari too
its rude of apple users to use that awful os and make it my problem
no because it just doesnt support stuff we use lol
truly horror
and most crapple users are on ancient safari which doesnt even support modern regex
made me remember the times I tried to port my supit extension to firefox
unsupported apis lovely
well then eh
fair ig
but I would say if you are gonna drop support at least say it a month ago or smthn
i wont actually
but i really want to
lmao they just added support
thats regex lookbehind btw
WHICH CHROME HAD SINCE 2017

then also the fact that crapple garbage doesnt even support webm lol
they use their own garbage non-free format
what is look behind
and the recent malicious compliance bullshit theyre doing in the EU
literally everything about apple is awful, so i dont really want to support them in any way
I will be honest
(?<=this)
just use gnome its similar 
like there is no way to defend that
macos at home
then when you do that it gets the variable
yeaj
vencord uses it heavily because its useful for matching variable names
yop can see
imagine we want to add code after the highlighted line but also want to use B
match: /(?<=await (\i\)\.default\.unarchiveThreadIfNecessary.+?)\i\.default\.getMessage\(\i,\i\);/,
we will only match the W.default.getMessage(), but also have B in group 1 without even matching that part of the code
very useful
150 lookbehinds and 140 lookaheads lmao
actually a lot of the lookahead stuff is ??=
but still a lot ig
100 lookaheads
couldnt you just do this without lookback too
yes but then you will match way more code that you dont need to match
makes it more complicated and less performant
fair
some lookarounds in vencord walk thousands of characters
which is really fast
but if you matched those thousands of characters it will become slow
we got some patches from 300ms time to 1ms just by switching to lookarounds
500 hour boot time
yeah
we try to keep every patch below 1ms
so with 100 patches it will only take 0.1s longer to start (not really theres more to it but u get the idea)
well not really but we do look out for very slow patches
like 300ms is unaccptable
3 of those and it takes a second longer
how even
you always should cache your finds
dont you do string matching on webpack finds
at that point why not just regex search the entire thing and extract the id
findByProps("getUser").getUser() // this will take ~2-20ms
never webpack search inline, always use the Lazy variants on top level
actually I wonder if that would work
not regex match but just search string across files like patcher does
yes, those are cached and only searched on demand
and just get webpack id and use that
so if that module is never actually used, it won't search at all
a lazy find that's never used is free
because webpack find always searches all modules discord has, which is like tens of thousands
its looping over an array of >10k elements
patches on the other hand dont do that, they are applied on demand
every time a module is loaded, the patcher checks if any patches apply to it and applies them
which is essentially free
I just wonder this
does the consumed time come mostly from converting javascript to string
or just iteration
because I assume doing
m.toString().includes would take lot of time
findByProps doesnt have to toString()
and toString() is cached
toString is incredibly fast
I've not had too good a look, but these guys seem to do something like that. Lets the community create bounties on the repo, not sure on the specifics though
Iterating 10k elements takes a while regardless of how you do it
here u can see lazy webpack finds in effect
it searches on demand instead of ahead of time
that doesnt look so bad
they get 19% tho I think
yeah ik thats what findByPropsLazy does
proxies beloved
Yeah that's a bit rough. The way it's worded makes it seem as though the person setting the bounty pays that ontop of whatever they're offering though
who the hell would pay 4700 dollars for 3 months
only to have bounties system that doesnt have any fees
if u have insane bounties
I saw few others, but they either seemed real sketchy, or dead
https://docs.algora.io/bounties/payments#country-support they support turkey
This page will give you an overview of payments using Algora
this is a rare moment
even kofi doesnt support turkey
vencord plugins generally dont add much overhead
i have like 100 on
imagine 100 bd plugins enabled

ur dioscord gonna be a powerpoint presentation
I've been reading this and its actually quite impressive and insightful
I hate when I search for some regex on google and because their engine thinks * \ are special characters it shows up stupid results
btw speaking of webpack find speed, discord's rspack update made them way faster
bro, why is this that hectic?
before, webpack searches took 30~100ms
now 2~10ms

I mean the other rival of yours got plugin reloading wtithout restarting discrd, but this is fine, but why recomplie from source for every single change?
What's rspack?
Also BD plugins did seem laggy at times, never had that issue with vencord (at least not enough to notice)
true that ^
because vencord is simply not designed that way
Domi did them all a few years back
I get that, but recompiling and reinstalling it on discord for every small change?
Recompiling yes
only recompiling
Reinstalling, not needed
it is very normal to have to compile code
betterdiscord is also compiled btw
but its modular
vencord is simply not designed to be modular
because its not its philosophy
Its like focussing on a specific feature set makes it easier to not eat up resources
didnt you say everything thats available on api was available on global object
and modularity wouldnt be hard
yes it isnt
The compilation step allows you to write plugins much nicer anyway
useeee
Like, being able to have multiple files
Why no yandere dev coding tho? I like being confused and angry at the universe
And the patching system simply doesn't work post-hoc
I need my 500 if statements
and like this is really not that hard
that's really clean
where is the docs btw?
also I still enjoy the tooltips way more than the original ones
insert banana
Vns
third time's the charm
as you can see I'm a real coder
thank you
nah man I'm int he correct channel
it's still about programming
also channel name wrong lol
yey I got customtimestamps working with proper options for formatting
look in the channel its a lot of questions about programming
vee is just nice like that
we are pro gamers here
pro gays
fck you man, you confused me
but okay, I'm still a gamer
rise up
progayming
lol
we(e)bsocks
gotdamn
can someone tell me how wrong I did things and how bad I am as a person
more bloat
he uses gnome
gnome 46 is launching 
simply don't use a de
kde supramacy
Yes but he will switch
kde is mid
WM users are just insane
needing validation for your preferences is an l
i think cause arch users dont use gnome
they all use hyprland or some other zoomer shit
Most arch users I know hate gnome with a passion
gnome users mostly use ubuntu/fedora
thats only obese ones
some popular distros like endeavouros comes with KDE now
and femboys / trans girls
So all linux users?
nah
I started with BSPWM and I'm scared to change
linux users are either trans/femboy or obese neckbeards
or they are normal

I've used Linux too, so not insulting people
or middle aged men
like a 30 year old fedora man minding his own business
I'm gonna cause a wave of
probably but I used PopOS for a bit a few years back
can confirm
as an arch user i use hyprland
I am none of them too 
tbh i lost some respect for qt ever since i found out how commercial it is
tho I only use linux to either lonthen my battery life or experiment dumb stuff
trolltech ๐
manual qt theming is hell
if linux users weren't as entrenched as WW1 front line soldiers it would also be a little more accessible
๐ญ
fuck u mean wrong site
this is like microsoft level
they even have the support bot chat
recently I've been switching to cli and tui tools more and more
Like tryna figure out why people hate on X or Y and which would be a better fit, isn't simple if you're not familiar with Linux
I never quite got an answer to which I should pick for PopOS Wayland or KDE (and a few more)
that question makes no sense
I think it's generally just personal preference, or fanboying. In the case of Hyperland, I think it has something to do with the creators being bigots or something
wayland is a windowing system, kde is a desktop environment
kde uses wayland
because kde is ugly as fuck
and bloated
kde is more bloated than gnome
that reply was not to you
WRONG
It at least doesnt look like mobile
And honestly memory usage etc isnt worse than gnome
It allows you to pick a certain combination of those, don't know the right word to describe them
installing plasma and it pulls like 200 kde apps that are 2gb in total 
Isnt x11 still default
You can probably not install utils
you basically asked if porsche or electric car is better
if i use a desktop environment, i want it to come with everything i need
image viewer, file viewer, etc
on gnome it has a sane amount of such apps
kde has like way too many
personally i like just installing the entire bundle
What the hell is using 25 gig of memory
if i wanted customisation id go for a wm
tbh i dont get why people care so much about ram usage
16gb ram is so cheap now
and i never ran out of 16gb ram
MATE
Cinnamon
GNOME
KDE Plasma
UKUI
XFCE
LXDE
LXQt
there you go that makes more sense
those are all desktop environments
the answer is:
- look at google images to see what you like
- just try. if you dont like it you can switch easily later
how?
what do you do
use windows
lmao fair
what u running in docker?
i have a shit ton of tabs too
it doesnt use much
modern chromium is really good at keeping memory usage low
jetbrains ide is probably what eats the most xd
i just use vscode
php
my condolences
really? i personally dislike how "sluggish" it is
they are powerful but i love the smoothness of vscode
its just faster
If you give enough memory its smooth enough eh
people keep complaining that electron is apparently laggy and then u compare vscode (electron) to jetbrains (java) and the difference is a canyon in favour of vscode xd
I do this for nearly anything, barely ask for support since lurking answers 95% of my questions
Vscode is just code editor tho
Compared to an full IDE
just use nvim, embrace the enckbeard
I use vsc for golang too
i tried webstorm but it didnt seem any better than vscode
i think vscode is best for web stuff
but jvm and c stuff greatly benefits from ide imo so i like it
Like C#, Java I think IDE ลs best
because it helps u with gradle/cmake insanity
Still I have to say even Gnome based linux worked just fine with a bunch of games
(I basically decided to use linux since my windows bricked itself and fixing it made me want to hug an elf)
yeah gaming is good with steam
imagine not using alacritty
blazingly ๐ fast ๐ gpu accelerated ๐ฆ rust terminal emulator
you love when you change desktop envirments but you forgot to remove other DE's utils
Still that list has display managers for several desktop environments
(im just memeing its actually great)
btw can we all agree xfce is absolutely horrible
xfce keybinds are absolutely cursed
use suckless terminal, embrace the neckbeard again
let alone it being ugly
was just tryna illustrate how that can muddy the waters a bit if you're just tryna figure out what is a sensible desktop manager to get settled into
but once you use a decent theme it looks good
I remember last time I tried to configure keybinds but it registers tha actions as soon as you press the key
not when you release it
so mapping windows + e etc is pain
yeah lmao
I mean I figured out that using an EOL soon version of Gnome is succ (Gnome 2
)
[alias]
acm = !git add -A . && git commit -m
co = checkout
cm = commit -m
cam = commit -am
dev = !git checkout dev && git pull origin dev
forcepush = !git push -f origin \"$(git rev-parse --abbrev-ref HEAD)\"
main = !git checkout main && git pull main
master = !git checkout master && git pull origin
ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
p = push
pp = !git pull && git push
st = status
syncfork = !git fetch upstream && git rebase \"upstream/$(git rev-parse --abbrev-ref HEAD)\"
unstage = reset --soft HEAD^
git commit -vp my beloved
idek what that does
Lets you say yes or no to every change you have made
if i need that, thats the one time i use git gui
for adding individual lines
^
i always rebase with cli lol
I've never used a ui, so I wouldn't know
i only use gui for diff and committing individual lines
everything else cli
and even for diff i often prefer cli
Gui? I just use guh
thats an interesting way to say "i dont have play"
Will steal that
wym i am the real devilbro
also @dull magnet
Big fan. I love BasicBackground
i dont even care about the roast you misgendered me bitchas
Second one was supposed to be one you ignore
I cant keep track of your gender explode
I've been thinking about donating but I kinda feel obliged after realizing how long I've used Vencord
@shadow ruin are you devilbro because you write bloatware, or are you bloatware because you write devilbro code
im devilbro because i invented memopryleaks
This is wrong
can you invent a good documentation for QSettings because you are devilbro
it's OK to be wrong about things. You can have a change of opinion or beliefs after hearing more information and facts.
That's not a personal failure.
It's personal growth.
one is nativeformat (registry) the other is whatever you wanted (ini, custom)
took me days to recover from brainrot to find support threads
wsho the fuck needs networking anyways
why network when setup physical mail box with pigeons
also hop on lydm
1984
press ctrl alt f1
yop
I have no idea
in the past when I accidently entered tty I would just get stuck there
and reboot computer
now I just spam all function keys
I can usually get back
@dull magnet
what is
What's a strg?
german control 
Steuerung
ich bin kein Farthzeug, bitte
no image support tho
Why not just just get a TKL? or something smaller
I have this https://www.logitechg.com/en-us/products/gaming-keyboards/g915-tkl-wireless.html - best keyboard but I've had some annoying double typing issues occasionally
You should be able to rebind it easy enough. Can't you just use their webapp?
Wait, their download page says they have a linux app
Ah, I thought you were talking about wooting
Does wooting really not have any more traditional TKL options, though? You can check out Keychron, they might have something
I broke windows with the many crashes notification
:( home and end are apparently unnecessary
They're pretty niche. I'd say I got more use out of them than I did caps lock before I switched to a HHKB layout though.
Wild that they kept pause and insert while getting rid of those though
Who uses the home key (thought you meant the meta key initially lol)
End is not too nice to cut
Better question
Who the fuck uses the right alt key
Hold Page up
I guess you can also emulate home on that keyboard with the fn key
Oh
Fn+โ, ^, or with my mappings, H
I misread
Though the keyboard in question has no fn key I guess
It has
virgin
Insert Home Page Up
Delete End Page Down
``` vs chad ```
Einfg Pos1 Bild [arrow up]
Entf Ende Bild [arrow down]
Wait between alt and ctrl? Wtf
Yeah
Druck S-Abf
Right alt is not useful, but altgr is
I don't use right ctrl; I've sometimes thought about mapping it to another layer shift
do u have altgr
the most useless button has to be the context menu key
I think it's mostly english-language keyboards that have right alt instead of altgr


