Skip to content

Conversation

@ipasechnikov
Copy link

Rationale

I've been really enjoying Vencord recently. I use it daily at work for pair programming sessions. Increased FPS rate provided by FakeNitro plugin helps a lot for my teammates to keep track of what's going on the screen.

However, when you work in a group, it might be not the best option to share the entire screen. I have an ultrawide monitor and some of my colleagues feel more comfortable working on laptops with smaller screens which makes it quite hard for them to see a clear picture because of resolution difference.

The solution is to track an active window and auto-switch sharing to the active window. Being a seasoned developer myself, I decided to give it a try and contribute to this amazing community hoping that someone might find the plugin useful.

Approach

There is no easy way to track an active window across multiple OSes in a unified way. I ended up partially including a vendor library with a few custom changes. It does not introduce any NPM dependencies. Everything is contained within the plugin directory. However, it does add a few megabytes of base64-encoded platform-specific binaries to the final build.

The plugin supports Windows, Linux and MacOS.

Screenshots

You can easily enable/disable the feature on the fly in the stream management context menu.
image

A couple of settings to control the plugin behavior
image


Please feel free to comment and suggest any improvement on the plugin and the code itself.

@ipasechnikov ipasechnikov force-pushed the feat/share-active-window-plugin branch from 8d633be to fde71cb Compare September 27, 2025 09:28
@ipasechnikov ipasechnikov changed the title New plugin: Share Active Window feat(plugin): Share Active Window Sep 27, 2025
@ipasechnikov ipasechnikov changed the title feat(plugin): Share Active Window feat(plugin): ShareActiveWindow Sep 27, 2025
@ipasechnikov ipasechnikov force-pushed the feat/share-active-window-plugin branch 6 times, most recently from 9e6c427 to 7dd67cc Compare October 3, 2025 07:03
@ipasechnikov ipasechnikov force-pushed the feat/share-active-window-plugin branch 6 times, most recently from 56faccd to 0223e93 Compare October 12, 2025 13:55
@ipasechnikov ipasechnikov force-pushed the feat/share-active-window-plugin branch 3 times, most recently from e92b4b0 to 648cee1 Compare October 22, 2025 07:58
@ipasechnikov ipasechnikov force-pushed the feat/share-active-window-plugin branch 5 times, most recently from 66d7a32 to 5f98254 Compare October 29, 2025 01:48
…ck for a window change and ignore tooltip windows on hover
@ipasechnikov ipasechnikov force-pushed the feat/share-active-window-plugin branch from c5a3bf3 to 6771257 Compare November 8, 2025 05:52
@Vendicated
Copy link
Owner

Thank you for your contribution! Unfortunately this can in no way be merged because it has native binaries which

  1. I cannot trust to be safe
  2. The way they are included as base64 then written to a file is just way too cursed

Plus this plugin seems niche!

Sorry :(

@Vendicated Vendicated closed this Nov 8, 2025
@ipasechnikov
Copy link
Author

@Vendicated Thanks for the response. Appreciate it.

I agree with all of your points. Honestly, I didn't have high expectations on this to be merged. What's more, if I were you, I would not approve this as well.

Hopefully someone might find the plugin useful someday and despite all precautions not to grab random binary from a random dude on the web would still compile the thing.

Anyway, it was a nice experience writing a plugin for your this project. I really enjoyed it. It is amazing what you have done here both from the user and developer perspective. Keep it up.

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.

2 participants