#👾-core-development
1 messages · Page 146 of 1
he's making a video about it?
yep
did he tell you lol
damn huge traffic incoming
ntts knew about decor when it was still vendetta-only
api about to go down
nop
I had no idea vencord had that many active users that checked new updates so fast
Is there like documentation I can read? Or is it mainly just read source/other peoples plugins and go from there?
Perhaps it's because I've never attempted to write a plugin before but I'm struggling to understand the purposes of find match and replace , I'd like to delete a set number of messages sent by the user in a specific channel, I guess a purge plugin? I don't see what I'd use for those, since to me I don't think I'd be replacing any code?
find match and replace is meant to inject code into other discord code
I am thinking to create a toolbar icon thing for that though, main code is going to be using discords REST API
you likely does not need to use the rest api directly
I think I can use {RestAPI} from @webpack/common
discord already has methods that work as a wrapper around their rest api
and you can likely access those using webpack finds
So this I'm guessing?
no, for example discord has a sendMessage method
which internally calls the api, but also does other stuff along with it
deleteMessage, editMessage
yep
all of those exist
Oh you're telling me to look for a method, I can do that
but either way, for creating a toolbar button, find match and replace will be needed
you will need to inject a code that renders your react element in the toolbar code
look at the docs folder in the repo
you will understand what find match and replace does there
is it possible to use third party plugins on web discord on firefox?
Don't really think settings needs its own file but it's fine
i cant install vencord guys any help ?
vns
Basically makes the guild banner always animate, even when not hovered over
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
None
None
None
Hi guys, I'm not sure what's going wrong with my plugin lol, I've managed to get it to appear in the plugins page, but I can't access it as an application command, like that of the MessageTags plugin. I seem to be doing things correctly, it builds with no errors.
In console it doesn't seem to error either
Yeah it says it registers the commands
Ye ngl I don't know
commands have to be in all lowercase, no spaces
not sure if that will fix it but that'd be my guess
can have space
damn i might have to come and fix this game activity icon again
not sure how i feel about the iconography here, but i like their decision to highlight the icon in red
just easier to see from afar
i very much dislike their decision to highlight the icon in red
because a red muted icon already has a meaning, it means server-muted as apposed to self-muted
yeah it confuses me too
😂we just have to change its color
btw dev is behind main now
yeah that’s the main thing, though i was also going to check the vectors on those slash marks
i’m wondering if they’re actually equal sized now or something
I see
wonder if they ever cleaned up the stray vertices left on one side of one
but yeah short fix is just icon color state
i have never been server muted so did not know of this. what’s it look like now
no idea
hmm server muted bros losing i guess
I've been using the plugin for a while now and haven't experienced any more issues!
#rules 9
It's considered spam?
Used to use selfbots before and found purging as one useful utility
I apologise
What if I add sleep timers to avoid ratelimits, like having it wait after every request? I don't mind if its slow, or is that still considered spam
selfbot = rule 9
And I'm referring to the plugin here 😭
It’s a selfbot. It’s against the rules.
stop asking about it or you will be banned.
you will not get help with it here, it's against the rules
uhhh i have a question
when u stream off the rpc plugin, why doesnt the timestamp show on pc
it only shows on mobile
const Native = VencordNative.pluginHelpers["Hide Blocked Users"] as PluginNative<typeof import("./native")>;```
i did this in my `index.tsx` file but for some reason it didn't register the plugin helper. i have a `native.ts` file inside my plugin directory. did i miss something?
did you fully restart your discord
and why tf does HideBlockedUsers need a native helper
a couple of times but it only sent 2 items (OpenInApp and VoiceRecorder)
leave the name aside i'm just testing things lol
/*
* Vencord, a Discord client mod
* Copyright (c) 2023 Vendicated and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import path from "path";
export const concatenatePath = (_, ...paths: string[]) => path.join(__dirname, ...paths);```
the contents of `native.ts`
it should work
for some reason my Native is undefined
it's just for testing to see if i really got how it works
this is the full natives (logged after const Native in my plugin)
want my plugin index.tsx contents too?
maybe it would help somehow (?)
here (i ditched hide blocked users project because i didn't know how to deal with the issue where if i have for example 20 blocked users online and the plugin hides them then i see flickers in the member list, and it gets worse the more blocked users online you have :/)
maybe for some reason it skips the user plugins folder? i don't know anymore
i tried searching for the implementation of the OpenInApp and VoiceMessages ipc methods and maybe add mine there but couldn't find anything either (because from what i saw you initialize them dynamically)
btw i did a test and tried to log Native when my testComponent's being rendered rather than on plugin startup, but it's undefined too
please send zip of ur plugin
wdym
for me it looks like that :/
i'm using canary as my dev environment btw, maybe that is the cause?
it should look like this
wait wait
where did you place the plugin's folder
userplugins or plugins?
updated it and it worked
ty for the help :)
btw you know why whenever i remove a member from the member list it flickers the more members i remove from the list?
i changed the plugin folder's name to Hide Blocked Users but for some reason the ipc name didn't change, and is still HideBlockedUsersPlugin. why?
nvm i just had to restart the client completely and not just ctrl + r
yes
i saw they're using index but i don't know what it does, except when changed it's value one member got duplicated across all the list😅
mm, good idea. should i do this in the render method?
@austere talon Your changes to clienttheme make the updater mad
Still wokrs though, so just a linter issue
why does hideblockedusers need native and why not change the current plugin
When i try to start a stream in a channel with another member already streaming, my stream is stuck in loading screen.
I'm trying to dev a relative timestamp plugin but I'm struggling getting the correct match for the patch. At the moment it's there but I'd like it to be after the message timestamp. I've taken inspiration from PronounDB and been trying a few match but I can't manage to place it after the timestamp
At the moment I have this:
{
find: "showCommunicationDisabledStyles",
replacement: {
match: /("span",{id:\i,className:\i,children:\i}\))/,
replace: "$1, $self.changeTimestamp(arguments[0])"
}
},
Pretty much what PronounDB has but the match I've been trying are failing
don't do that, use the apis provided
i dont remember if it's accessories or decorations but we provide stuff to add things to messages
it's part of the mod
i don't think there's an api to append something next to the time
Yeah it doesn't seem like Accessory or Decoration is the way to go
I guess it's just about finding the right match now as the core feature works, but I don't understand how by using the same patch find and match than PronounDB my text doesn't end up just before it
@dapper tiger
this has to be user script
@austere talon how should I disable the settings component if the plugin is not enabled? Just check if the plugin is enabled in the react component and return null if it isn't enabled?
are you making a message purger
I just finished it
And no this is just me asking
😭
Dude I'm not trying to get help for it, was just asking what this was. The biggerstreampreview plugin uses it
import { FluxStore } from "@webpack/types";
Is this related to gateway events
Is it possible to run custom scripts like with an extension such as ViolentMonkey or TamperMonkey ?
If not, can this feature be added ?
clearly i am blind, me sorry
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
findByProps("getStatusColor", "StatusTypes")
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
findByProps("getStatusColor", "StatusTypes")
None
None
I can't commit to dev 🥲
remind me to fix tmrw
aight
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
findByProps("getStatusColor", "StatusTypes")
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
findByProps("getStatusColor", "StatusTypes")
None
None
Discord Account
No response
What happens when the bug or crash occurs?
When you load Discord up it doesn't want to load the plugin at all since I get tons of errors in the console log.
What is the expected behaviour?
Does NOT display the platform indicators on user profiles.
How do you recreate this bug or crash?
- Load Discord
- Go to anyone's profile and you can't see what platform they're on since it doesn't work.
- Simple.
Errors
65573.3d56d5600276...
confirmed fix for me, without this patch --ozone-platform-hint=auto causes the discord window to never appear (unless run with --disable-gpu), with the patch vencord now loads fine with --ozone-platform-hint=auto and without --disable-gpu, and confirmed running on wayland natively with xlsclients
wouldve never guessed
vns
@lewisakura Please verify if it works now. My window manager might not have the maximize option, but during testing, when I manually set it to maximized state, it functioned correctly.
Plugins blurs all images and videos until hovered, you can set the blur strength in settings
plugin
look inside
css
it is just a css snippet, doesnt need to be a plugin
on top of this it's not even implemented properly
you should use enable/disableStyle
fancy seeing lewisakura here @turbid hatch thanks for giving me a reliable webhook proxy for my game on roblox 👍 saved our moderation team a dozen times
:3
v<
@turbid hatchoh hi! coincidence that I see you in chat. i mentioned you here https://github.com/Vencord/Vesktop/pull/248#discussion_r1421358303
sure thing, let me go check it out
although it seems like the PR is failing the test CI
let me check that first
right
yes, peak logic
thanks node
Interesting :D
alright well
i'll ignore the CI for now
strange bug
i guess its because tsx updated and it wants to be used via import
try running the workfow on other PR
nah if its broken on yours its broken for everyone
@analog knoll PR seems to work fine but does cause a flicker on start, but that's about in line with most applications anyway that want maximise + start as tray icon
you could fix it by hiding the app first, then on first open checking if we should set the maximise state
i'll post this on the review as well
Alright, I will do that
The underlying issue is now resolved, however this will cause a flicker which is an unintended side effect. A better solution would be to not show the window as usual, and then when the window is first brought up check if it should be maximised or not. You can use the BrowserWindow show event for this.
yes that'd be better
this would basically be the best UX experience possible
so
however you should only do this if the window was minimized by the settings option
so like
// some flag elsewhere
let alreadyMaximized = false;
// in the event handler
if (startMinimized && !alreadyMaximized && Settings.store.maximized) {
mainWin!.maximize();
alreadyMaximized = true;
}
along those lines
how do I get into the maximized mode before closing? I am sorry, are you using gnome or something like that :D I am on i3 and I am unsure if i can do it without forcing maximize to be true and even then I will not replicate your issue
i'm on windows :P
though i dont think i3 has a maximize option
the entire point is that everything remains windowed
i can test it for you anyway when you implement
dw
I started GNOME and it seems like here it doesn't show any windows when maximized and starting as minimized with the current implementation.
yeah, it wont, that's what it's doing atm (maximizing and then hiding the window)
but on windows, it'll cause a flash when maximizing and then hiding
on windows to maximize a window it needs to exist
so electron will show the window first before maximizing
because it cant do the show, maximize, and hide all at once, it will cause it to flicker
so the fix would be to maximize it when its first shown
mainWin.webContents.on("did-finish-load", () => {
splash.destroy();
if (Settings.store.maximized && !startMinimized && !isDeckGameMode) {
mainWin!.maximize();
}
if (!startMinimized) mainWin!.show();
wouldn't this be the best solution then? it will not maximize if it should be minimized (preventing the flash on windows) and it will not maximize and then hide (causing the bug on gnome)
rather than storing a flag
but then you are doing one or the other, no?
you're either showing the window maximized, or minimizing it only (therefore breaking the functionality)
that's why you should maximize it when the window is first shown
so, when startminimized is on
you should never show the window in the first place
then, when the window is shown for the first time by the user, you maximize it to keep the functionality of storing the maximized state
if startminimized is off, you just maximize the window like normal
oh I see @turbid hatch
if (isDeckGameMode) {
// always use entire display
mainWin!.setFullScreen(true);
askToApplySteamLayout(mainWin);
}
what to do with this part of the code? Shall it also start minimized on the steam deck - i am unfamiliar of how it behaves
export async function createWindows() {
const { startMinimized } = Settings.store;
const splash = createSplashWindow(startMinimized);
// SteamOS letterboxes and scales it terribly, so just full screen it
if (isDeckGameMode) splash.setFullScreen(true);
await ensureVencordFiles();
runVencordMain();
let windowMaximized = false;
mainWin = createMainWindow();
mainWin.webContents.on("did-finish-load", () => {
splash.destroy();
if (!startMinimized) mainWin!.show();
if (Settings.store.maximized && !windowMaximized && !startMinimized && !isDeckGameMode) {
mainWin!.maximize();
windowMaximized = true;
}
if (isDeckGameMode) {
// always use entire display
mainWin!.setFullScreen(true);
askToApplySteamLayout(mainWin);
}
});
mainWin.on("show", () => {
if (Settings.store.maximized && !windowMaximized && !isDeckGameMode) {
mainWin!.maximize();
windowMaximized = true;
}
});
initArRPC();
}
Here is the revised code
It'll only show & maximize initially if if it's not starting as minimized. Then, when the user clicks the tray icon / opens it anyhow it will again check for the maximized flag
hm actually
there's a slightly better way of doing this
// we can just use `once` here so that it only runs on the first time we show the window,
// then we don't need a flag at all
mainWin.once("show", () => {
if (Settings.store.maximized && !mainWin!.isMaximized() && !isDeckGameMode) {
mainWin!.maximize();
}
});
and re: steam deck - the minimized and maximized options should always be ignored if that flag is set
otherwise the app wont work properly
in renderer utils there is export const isLinux = platform.startsWith("Linux"); and the same for windows and mac. Would adding export const isDeckGameMode = process.env.SteamOS === "1" && process.env.SteamGamepadUI === "1"; there work?
Probably not since there is not process.env available in the renderer, not sure though
To disable the minimize option for the deck that is (or it could be handled like this if (!startMinimized || isDeckGameMode) mainWin!.show(); i guess)
alright it does not seem to be possible natively
export async function createWindows() {
const { startMinimized } = Settings.store;
const splash = createSplashWindow(startMinimized);
// SteamOS letterboxes and scales it terribly, so just full screen it
if (isDeckGameMode) splash.setFullScreen(true);
await ensureVencordFiles();
runVencordMain();
mainWin = createMainWindow();
mainWin.webContents.on("did-finish-load", () => {
splash.destroy();
if (!startMinimized || isDeckGameMode) mainWin!.show();
if (isDeckGameMode) {
// always use entire display
mainWin!.setFullScreen(true);
askToApplySteamLayout(mainWin);
}
});
mainWin.once("show", () => {
if (Settings.store.maximized && !mainWin!.isMaximized() && !isDeckGameMode) {
mainWin!.maximize();
}
});
initArRPC();
}
in that case the option will display even for deck users, it will not do anything though
that's fine
because the deck has two modes where one of them it does work in
it just doesnt work in game mode
https://github.com/Vencord/Vesktop/pull/248 alright. would you try it on windows?
qhar?
node 18.19 pushed a breaking change
or, well
tsx doesn't run under 18.19
properly
it works fine under 18.18.2
which was what the CI used to be on
so i'm just pinning the version
because
that's not us
we aren't invoking those flags
or invoking tsx like that
lol
oh
it's erroring when we're doing tsx scripts/build/build.mts
fair enough
it's an underlying bug in tsx itself i guess, and the recommended fix is just to either go back to 18.18.2 or seemingly skip ahead to LTS 20
the thing is tsx itself will run under 18.19 if you patch that out, so they're just throwing the error because they want you to load it a certain way instead of what most people do
but shrug
still dont understand the point of self requesting a review xd
i clicked it as in "revise" cause i forgot you have to click review now
we could also update node to 20
or whatever is latest stable node
lts 20 yeah
i avoided that just in case but we can take a look at upgrading the engine
did it? i tested it quite thoroughly and it worked alright
- start minimised should be under the autostart option
- UX on steamos is questionable. the option is shown but ignored. you should consult with aa to see if the toggle should either be hidden or it should be enabled on steamos as well
steamos is going to be difficult
you can run it both in game mode and in desktop mode
in desktop mode the option applies, whilst in game mode it cant because it would just break
can you tag aa
also it being under autostart is incorrect because it minimizes regardless of autostart or not, thats how i've been testing it
being under there implies that it only works when you autostart the app
we could totally make it do that though
it's not about belonging together
it's about being related
they're both about the way vesktop starts
and im not even sure start minimised in its current state makes sense
who tf wants to click the vencord icon and it starts minimised
start minimised only makes sense if it was an autostart imo
then we need to differentiate it for an autostart vs someone clicking the icon
can we do that already?
that's a hard sell
Host machine: KDE 5.27.9 on Fedora 39 with kernel version 6.7.0-0.rc4
Vesktop Details:
Canary 252986 (7b09f89)
Vencord 534ca1e (Vesktop V0.4.4)
Electron 27.1.2
Chromium 118.0.5993.144
Linux 64-Bit
Issue: In the Flatpak of Vesktop, the rich presence simply doesn't work, even though Rich Presence is enabled in the Vesktop Settings, I've tried with a lot of games that support it like A Hat in Time, Just Shapes & Beats, etc... However when I switch to the RPM package, RPC ...
8a090a8 Revert "feat: Add start as minimized toggle to ... - Vendicated
i'll work on it
why does clicking it once immediately do that
i wanted to check if reverting it reopens the pr
i don't think this feature makes much sense in its current state. who would want to explicitly open vesktop and have it open minimised? when you open it with an explicit action, you want it to be usable immediately
the only case where users realistically would want vesktop to start minimised is if the action was implicit, so via the start with system option. i think this option should be reworked to be exactly that
why is this still windows and mac only https://www.electronjs.org/docs/latest/api/app#appgetloginitemsettingsoptions-macos-windows
Control your application's event lifecycle.
because on linux there are numerous different ways of triggering an autostart
and there's no one agreed standard
on mac and windows there are a couple and the standard is usually setting a system property
doesn't it do that though?
it does but what ven has flagged is that it happens when you just run the app as normal
which in retrospect, yes, is a bad idea
they just need to implement org.freedesktop.portal.Background
which doesnt always exist
because its not part of every linux distribution
because not everyone uses that
this is the one issue with linux
you have a standard, but not everyone has it, so you cant use it in a guaranteed way
GNOME and KDE provide it, but other desktop environments might not
hell, it wont even work all the time in flatpak
so we'll just have to live with that
dbus -> fallback to .desktop file -> cry
is the flow it seems
i can't even find the spec page for that portal guh
Where can I find code concerning autostart behaviour?
i'll be implementing it, dont worry
i need to do other things anyway
but for future ref
src/main/autoStart.ts
it's fairly trivial to rework the feature to only be at autostart
i mean yeah ive done it
const shouldStartMinimized = Settings.store.startMinimized && autoStart.wasAutoStarted();
just make the autostart implementation launch it with a flag
for windows and mac its trivial
wasAutoStarted: () => app.getLoginItemSettings().wasOpenedAtLogin,
electron provides that
for linux yeah i'll just use a flag and check for the presence of it
we could just write our own native module
FALSE ALARM
sadge
i would just use libdbus and write a super basic module
uhhhh
libdbus is a library for other people to write libraries for
you should use a binding
If you use this low-level API directly, you're signing up for some pain. —official API documentation
oh didn't look far enough
then yeah some wrapper
i literally just googled for like 5 seconds
HELP I LOOKED AT THE DBUS TUTORIAL AND WHY IS IT JAVA
not maintained
DONT LOOK AT THE JAVA WRAPPER THEN
dbus-cpp is not maintained
dbus-c++ is not maintained
hey! the last one is
actually idk if it's actually java but this looks a lot like java
Message message = new Message("/remote/object/path", "MethodName", arg1, arg2);
Connection connection = getBusConnection();
connection.send(message);
Message reply = connection.waitForReply(message);
if (reply.isError()) {
} else {
Object returnValue = reply.getReturnValue();
}
BRO IT'S HERE https://dbus.freedesktop.org/doc/dbus-tutorial.html
that is java pseudocode
IT COULD'VE BEEN VALA HOW WOULD I KNOW
anyhow
freedesktop recommends GDBus
taking a look at this it uses GTK
no
GLib is a bundle of three (formerly five) low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever since.
oh okay
sorry it's confusing because the documentation literally says "gdbus uses GIO streams"
which is a gtk thing
it's just GLib (not to be confused with glibc)
this is the worst formatting I've ever seen but it seems pretty simple https://github.com/joprietoe/gdbus/blob/master/gdbus-example-client.c
dont think its available in the flatpak
due to sandboxing
yeah
the SDK includes it but not the runtime
dbus-send is considered a debugging tool
The Freedesktop SDK (on which many others are based), includes a range of debugging tools, such as gdb, strace, nm, dbus-send, dconf, and many others.
you have to install the debug version of an app explicitly
otherwise you dont get those tools
source?
can u just try it
flatpak run --command=sh dev.vencord.Vesktop
it works, yes, but requires dbus-send on the host from what i can see
it matches my host version which is out of date
which requires people to install dbus-tests in most cases
which will always exist
such as?
ubuntu
fedora doesn't
ubunru doesn't
where does it say that
lemme show you
wait wh
okay i have obviously gone completely insane
nevermind then
LOL
😭
i will test too
using dbus-send is kinda dirty but if its just for one thing its a lot saner than bundling an entire dbus lib imo

came up when i googled flatpak dbus-send
WHY IS DNF SYNC SO SLOW
FUCK NVIDIA DRIVER WTF
I DONT EVEN HAVE NVIDIA
how do i remove the repo lmao
dnf config-manager
can u try --command=dbus-send too
[📦 dev.vencord.Vesktop ~]$ dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames
method return time=1702134262.724832 sender=org.freedesktop.DBus -> destination=:1.180 serial=4294967295 reply_serial=2
array [
string "org.freedesktop.DBus"
string ":1.23"
string ":1.58"
string ":1.67"
string ":1.69"
string ":1.180"
string "org.freedesktop.portal.Desktop"
string "org.freedesktop.portal.Documents"
string "org.freedesktop.portal.IBus"
string "org.kde.StatusNotifierWatcher"
]
works

according to flatpak's documentation, it shouldnt!
it says here you need to install the debug version of the app or use --devel to run the SDK as the runtime
because the freedesktop runtime doesnt provide the debug tools, the SDK does
so im now really really confused
its true for the other tools
but not dbus-send
cause dbus-send aint a development tool
proven by steam using it in production
reminder of this issue
:P
steam using it and stuff not working
Looks like runtime is now also not shipping dbus-send at all.
I wonder why Steam uses dbus-send at all. They clearly do other dbus calls without invoking the cli program.
gonna be honest
we could, but it might cause issues for some people
where it might not be present at all
it could be present for us because we have the SDK installed
it could be something else
i dont know, but its clear some people just dont have it at all but have dbus
oh should we add this to vesktop
is it not already included in all? this ui is kinda confusing
i think device=all is peripheral hardware
and on flathub it says hardware devices like webcams or gaming controllers
not "can access hardware"
so i dont think its included
i would just use dbus-send
if we get complaints it doesn't work we can still change it later.
we could also just ask some people who just use flatpak normally
alright let me write something for dbus send
btw lewi can u add a webhook to the flatpak repo?
r u sure
D-Bus supports more types than these, but dbus-send currently does not. Also, dbus-send does not permit empty containers or nested containers (e.g. arrays of variants).
a{sv}
nested container
array of structs
RequestBackground (
IN parent_window s,
IN options a{sv},
OUT handle o
)
r u sure
yes
you cant even make a struct
oh sorry
thats a dictionary
you can make a dictionary but you cant put it in an array
cause it uses the same syntax as making arrays
<container> ::= <array> | <dict> | <variant>so you cant nest them
[:package: dev.vencord.Vesktop ~]$ dbus-send --session --dest=org.freedesktop.portal.Desktop --type=method_call --print-reply /org/freedesktop/portal/desktop org.freedesktop.portal.Background.RequestBackground
just need to add args
yeah but how are you going to pass the parmaeters if you cant type them because the cli doesnt support them
:P
it explicitly states in the manual you cant do what we need to do
i have it
gdbus call --session \
--dest org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop \
--method org.freedesktop.portal.Background.RequestBackground \
banana \
{ autostart: TRUE, background: TRUE, commandline: ... }
this finished with no output
idk if thats good or bad
idk how we get parent_window id tho
Under X11, the “parent_window” argument should have the form x11:<XID>, where <XID> is the XID of the application window in hexadecimal notation.
Under Wayland, it should have the form wayland:<HANDLE>, where <HANDLE> is a surface handle obtained with the xdg_foreign protocol.
gdbus call --session \
--dest org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop \
--method org.freedesktop.portal.Background.RequestBackground \
"..." \
{ autostart: TRUE, commandline: [ "${process.execPath}", "--autostart" ], reason: "User request" }
reason: "user enabled autostart in vesktop settings"

but still no clue what to make the parent window id
wonder if it even matters or is just best practice?
considering this says "should have the form" it seems like just best practice?
or is it actually absolutely a must to be that
h
For other windowing systems, or if you don’t have a suitable handle, just pass an empty string for “parent_window”.
does say this
so we could just do a blank
its cause it shows a dialog so it wants to know about the app
but in the context that its happening its fine
since its from a user interaction
it'll probs look okay
it "should"
apparently
depends on the compositor
anyway i think you should turn autostart off again
is there also a way to get the current value
cause it might open a shell every time you start now xd
there isnt a method
that lets you read
only write
it seems to be up to the app to keep state
try same command but gdbus introspect
instead of call
but we could also just keep state it shouldn't be too hard
DO
how did u test the earlier
i can run dbus
horrrro
u will https://getfedora.org NOW
(i'll install in a vm)
i need naother drive
why
GET A USB STICK AND INSTALL ON USB
i will buy u a usb stick dm me ur address
ok
i will send u my 16kb usb stick
ill test it later!!
in the bathroom now so I can't
gonna shower and shtuffs
do u reckon the portals will work on termux
DO IT RN YOU'RE PROBABLY STINKY
I AM STINKY BUT IF I DO IT TOMORROW ITS BACK ON SCHEDULE
yes .. yes.. YES
What do you mean? there's transparency settings at the bottom of Vesktop Settings. I can't get it to work on Windows 11 23H2 though, I've tried a few updated themes which support transparency, enabling the setting fixes the white background but doesnt show the wallpaper.
@austere talon so confused on this rating system
xd
i guess its cause theres not enough yet
is that vesktop orr
yeah
im gonna murder whoever voted not 5 stars
the flatpak tax
we already have 1k downloads somehow btw
magic
the children yearn for a better discord linux client
btw ven
when i was installing fedora
it crashed immediately
literally went into a fullscreen crash prompt saying it couldnt recover from an error

ven, last time i used fedora my whole computer turned into an easy bake oven
ven what (os)do you personally use on a daily basis
hi from fedora
GOOD
lol what 😭
but it installed flameshot anyway
why u even using flameshot
it got stuck on "installing packages"
it's kinda shite on wayland
cause its the only screenshot tool i know xd
one annoyance of using the flatpak, btw, is file drag and drop gives a confusing error
i wonder if there's a way to allow arbitary files to be dropped and get their contents with flatpak
no
no?
no
that defeats the point of flatpak
it's a sandbox, you can only access what you're allowed to
you cant suddenly request access to an arbitrary file
not rly
..yes
for example if you use Upload a File literally any file works
because that goes through a file picker
not a drag and drop mechanism that accesses an arbitrary file
that file picker is flatpak supported
its implemented using portals
we can't do that with the drag and drop system
us and what /tmp access
yes
and no
only from folders the app can access
the drag and drop in discord however is not flatpak supported
because that's implemented differently
wrong
you have to use upload a file
that's what lewi was basically telling me :P
so confused
flatpak horror
flmeshot supremacy
no
youre just wrong
huh works from images
home folder access
@turbid hatch are you okay there /lh
sorry
the issue isn't there if you gaslight yourself enough
xdg-pictures access
lol
which i cut out of the picture for some reason
ignore the horrible lag thats some weird bug with discords tab shit
you
arent uploading the file
and the fact there isnt a preview literally proves it cant read it
NO
send the message
theres no preview cause of the shitty lag
!!!!
huh didnt on my machine at one point
because it cant READ the attachment
YEAH my experience
i wondered if there was a portal like thing for drag n drop
for some reason discord gets 5 million tab inputs and it freezes the app so hard
haha
L
upload a file
but i cant send it if its drag and drop
thats from the fedora iso
do it not from the home folder, try something like /tmp
IT DOESNT HAVE HOME ACCESS
the amount of jank in one video omg
how do i record
printsc
i dont have printsc
it gives the flatpak access to the file youre dropping
skill issue
drag and drop is janky but it works.
give it a sec
can't wait to see the proof
ur lying
so exciting
fake screenshot
u on x or wayland
also wtf how is a 1080p video only 3 mbs
cannot find class for symbol l
drag and drop into discord is very fucky on wayland
including with vesktop
running it natively under wayland using the ozone shit fixes it
i cant do that since it keeps my gpu awake
magicv

bro got hit with windows update
trol
fedora offline updates are terrible
my server pis wont run a full update to fedora 39 because their offline updater shits itself
my understanding is that discord reads the file later
not when its dropped
hence why it says it gets zero content
because when you drop it, it flags up an error saying "oh i cant read it"
OH
BECAUSE THEY USE A NATIVE MODULE TO DO IT
I BET
AND NOT THE BROWSER
This is a major usability issue right now. Thanks to the file system portal, opening a file works even if the file system permission is very limited. However, drag & drop is broken in that case: The application gets the file system path on the host system, but permission to that file is denied.
VEN
I AM
GOING TO STRANGLE YOU
YOU
YOU LITTLE
IT WAS LITERALLY WHAT I JUST DESCRIBED
LDJFGLNSFANSD89HAS98DNAONFJLKDNFLGJKNSOAUHA987HDSUIOH
yes
so it
causes the behaviour that i just quoted
:3
THEREFORE

girl
im not writing a pull request for electron
i'll spend more time refactoring than actually implementing the feature
okay
how about you go here instead
**extension.js: **
import { Extension } from 'resource:///org/gnome/shell/extensions/extension.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
export default class FocusMyWindow extends Extension {
enable() {
this._handlerid = global.display.connect('window-demands-attention', function (display, window) {
Main.activateWindow(window);
});
}
disable() {
global.display.disconnect(this._handlerid);
this._handlerid = null;
}
}
someone have css to get back old icons?
thx
What do you mean? there's transparency settings at the bottom of Vesktop Settings.
correct, these options do not show up on macOS and Linux. only Windows with the Mica effect
girl i marked that reply as off topic for a reason
solution for Linux transparency, run the following in devtools console:
Vesktop.Settings.store.transparencyOption = "epic banana"
if i want to pr to vencord - do i base my change on dev or main?
dev
(i have the most laughable contribution to make)
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
findByProps("getStatusColor", "StatusTypes")
None
None
NoTrack (found no module):
ID: -
Match: window.DiscordSentry=
findByProps("getStatusColor", "StatusTypes")
None
None
fuck i tried making it slightly less laughable and broke vencord
haha i unfucked it
LOL
vencord is kinda fragile
it's easy to accidently break it
because of how early our code runs, trying to use webpack search on top level EXPLODES EVERYTHING
i was just trying to use a webpack common module outside of plugin context (in the renderer)
yeah exactly that
i fixed though
that's what ur plugins onStart, webpack.waitFor and webpack.onceReady are for
start guarantees that the module should be ready yeah?
start runs once a gateway connection has been established, aka once the user has logged in. by that time the core webpack modules are ready yes
rip plugin template lmao
- make use of
$self(probably didn't before because old?) - fetch errors for the current React version, not a hardcoded one
- add myself to
Devs(if my changes aren't fit for this, i can remove)
i noticed this (and checked if desktop was the same):
given i was already making this PR, i thought i would make a few other small changes ...
taadaa
muh comments





