feat(overlay): let the user pick which monitor shows the overlay - #26
Merged
Merged
Conversation
Adds a monitor selection setting (primary / cursor / index:N) to the overlay config and the Vencord plugin. The layer-shell window is assigned with gtk4_layer_shell::set_monitor() at startup and re-resolved on every settings message. Older clients that omit the field still deserialize (defaults to Primary); is_valid() accepts only known monitor values. Closes #21
This was referenced Oct 1, 2026
Roddygithub
added a commit
that referenced
this pull request
Oct 1, 2026
…tings table (#27) - Contents anchors, highlights before install, usage before build - How it compares: Overlayed/Discover/DiscordOverlayLinux, verified stacks - Settings table documents monitor (added in #26) - Downloads badge; stale root dir name and multi-monitor note fixed - Move the 'not published in AUR' caveat into Distribution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #21
What
Adds a
monitorsetting so the overlay can be pinned to a specificdisplay instead of the compositor's default.
primary(default)cursor/activeindex:NHow
MonitorConfigenum +resolve_monitor()inlayer_shell.rs, appliedwith
gtk4_layer_shell::set_monitor()at startup and re-resolved on everysettings message, so changing the setting moves the overlay live.
seat.pointer().surface_at_position()+display.monitor_at_surface()— no manual geometry math.OverlaySettings.monitoris#[serde(default)]so older plugin buildsstill deserialize (default
Primary);is_valid()only accepts knownmonitor values so a malformed string never reaches
set_monitor().monitorSELECT (primary / cursor / index 0-3) sent insendSettings().Gates
memory-bank/progress.md updated per AGENTS.md.