Skip to content

Add fixed overlay position with monitor and anchor settings - #297

Merged
Hacksore merged 1 commit into
overlayeddev:mainfrom
mardausdennis:293_overlay-placement
Oct 10, 2026
Merged

Hacksore merged 1 commit into
overlayeddev:mainfrom
mardausdennis:293_overlay-placement

Conversation

@mardausdennis

@mardausdennis mardausdennis commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Related to #293 and #291.

This adds an opt-in "Fixed position" mode in a new Position tab. You pick a monitor on a small map, one of nine anchor points and a margin. The overlay then sits at that spot, resizes itself to the channel name and the user list while the anchored corner stays put, and stays click-through. Nobody has to drag or resize the window when people join or leave, which is the problem in #291, and "Start pinned" covers the first part of #293. Manual mode stays the default and behaves as before.

Position tab with the monitor map, nine anchor points and the margin sliders

Overlay anchored bottom-left while users join, the corner stays in place

A locked overlay has no nav bar to click, so starting Overlayed again while it runs now opens the settings window. Unpin from the tray brings the nav bar back at the same spot until you pin again.

Unlocked overlay at the same spot with the nav bar, pin and settings buttons

The images come from this branch's frontend with made-up users on a plain backdrop.

Placement goes through new Rust commands (get_monitors, apply_placement, release_placement), so no window capabilities were added. I picked these defaults, but they're really your decision:

  • the fixed position wins over the saved window-state bounds at startup, and window-state isn't saved on every move while it's active
  • Wayland can't position windows, so the switch is disabled there with a short note
  • settings stay in config.json, and start pinned runs from the frontend, while Launch parameter for autopin #224 was waiting on the store plugin
  • it uses full monitor bounds because Tauri 2.2.5 has no work area, so a bottom anchor sits on the taskbar unless you add a margin

Tested on Windows 11 with two monitors. The CI workflow passes on my fork for macOS, Windows and Linux (run), but mixed DPI on macOS hasn't been checked on real hardware. After a monitor is unplugged or its scale changes, the overlay moves back on the next settings change, not right away. The geometry has unit tests in placement.rs, which CI doesn't run (cargo test placement).

Adds an opt-in Fixed position mode. The overlay is placed by monitor, one of nine anchors and a margin, sizes itself to the user list and stays click-through. Starting Overlayed again while it runs opens the settings.

Refs overlayeddev#293, overlayeddev#291
@vercel

vercel Bot commented Oct 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
overlayed Skipped Skipped Oct 3, 2026 1:13am UTC

Request Review

@mardausdennis
mardausdennis marked this pull request as ready for review October 3, 2026 18:12
@Hacksore
Hacksore merged commit 99e1ad9 into overlayeddev:main Oct 10, 2026
8 checks passed

This branch was previously deployed

1 inactive deployment
Preview — 28a3b328 Deployed Oct 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants