Skip to content

libvesktop: native dbus module#1180

Merged
Vendicated merged 32 commits into
mainfrom
libvesktop
Oct 16, 2025
Merged

libvesktop: native dbus module#1180
Vendicated merged 32 commits into
mainfrom
libvesktop

Conversation

@Vendicated

@Vendicated Vendicated commented Sep 30, 2025

Copy link
Copy Markdown
Member

Closes #273 #298 #424

This adds a libvesktop C++ native node addon for dbus messaging. It uses gdbus because it's much saner than normal dbus and chromium depends on GTK anyway.

Both setAppBadge and autoStart at system boot now use dbus calls and both work fine for me.

Interface

export function getAccentColor(): number;
export function requestBackground(autoStart: boolean, commandLine: string[]): boolean;
export function updateUnityLauncherEntry(count: number): boolean;

How to test

Just run the app like normal, prebuilds will be used (see below)

Packaging

By default, prebuilds are used. These are included in this repo for simplicity (it's just two ~60kb binaries so not that bad). Users can build from source by running pnpm buildLibVesktop before building or running Vesktop

Comment thread packages/libvesktop/src/libvesktop.cc Outdated
@Vendicated Vendicated requested a review from Copilot October 1, 2025 17:16

This comment was marked as spam.

@Vendicated Vendicated marked this pull request as ready for review October 1, 2025 17:22
@Vendicated Vendicated assigned Vendicated and Covkie and unassigned Vendicated and Covkie Oct 1, 2025
@Vendicated Vendicated requested a review from Covkie October 1, 2025 17:22
@Andrew15-5

Copy link
Copy Markdown

Awesome, thanks! I tried with a simple ping, and the tray icon does react to that

image image

Might be a bit too small right now, but I can probably get used to it. It's a completely new icon, after all.

I can finally ditch the proprietary package and live happily:

    nixpkgs.overlays = [
      (final: previous: {
        vesktop = previous.vesktop.overrideAttrs (finalAttrs: oldAttrs: {
          version = "1.5.8-2025-10-05";
          src = final.fetchFromGitHub {
            owner = "Vencord";
            repo = "Vesktop";
            rev = "659bdb7f86fc7afdf29b9f072cf8cbb4b855daa7";
            hash = "sha256-StxtvTV5VuexepIGacK3/U0siGXnFtfZzmf9eq/gHCA=";
          };
          pnpmDeps = final.pnpm_10.fetchDeps {
            inherit (finalAttrs) pname version src patches;
            fetcherVersion = 2;
            hash = "sha256-nBVcx287M7bT49cts/fFjuUhFjXyaN1LAkAb0ZeD8/I=";
          };
        });
      })
    ];

@Vendicated

Copy link
Copy Markdown
Member Author

Might be a bit too small right now

If you're talking about the dot - Yeah it's meant to be bigger but Cookie is busy right now so she can't send the fixed icon

image

@Vendicated

Vendicated commented Oct 5, 2025

Copy link
Copy Markdown
Member Author

also if you just want the tray badge, you shouldn't need this PR for that, building from main should work fine! I added it in my other PR (#1179). This pr just improves taskbar / dock badge compatibility

@Andrew15-5

Copy link
Copy Markdown

Then why #298 is still open and is being closed by this PR?

@Vendicated

Vendicated commented Oct 7, 2025

Copy link
Copy Markdown
Member Author

that issue is about the dock/taskbar icon, not the tray. these are two separate things!

@Andrew15-5

Andrew15-5 commented Oct 7, 2025

Copy link
Copy Markdown

Are they though? The title doesn't specify where the badge is not working, I also don't know when it supposedly got fixed on main branch, and I couldn't find a closed issue about it. I guess it was fixed very recently? Because I did update my system on 11th of August, the previous time. And it was still broken, obviously. I guess somewhere after the new icon was added?

Comment thread package.json
@Vendicated Vendicated merged commit 5734a1d into main Oct 16, 2025
4 checks passed
@Vendicated Vendicated deleted the libvesktop branch October 16, 2025 08:52
Creationsss pushed a commit to Creationsss/Vesktop that referenced this pull request Oct 16, 2025
Both setAppBadge and autoStart at system boot now use dbus calls. This means that autoStart will work in Flatpak
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Flatpak Vesktop does not autostart with sytem

4 participants