Files
browserlay/README.md
Michael Chihlas 934a3da32a docs: README for Phase 1 MVP
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 23:13:03 -04:00

2.0 KiB
Raw Permalink Blame History

Browserlay

A Windows desktop app that creates a translucent, always-on-top browser overlay. Type a URL, drop the opacity, toggle click-through — keep a stream, dashboard, or doc page floating over your work.

Features (Phase 1 / MVP)

  • Frameless, transparent overlay window pinned over other apps.
  • Real-time opacity slider (10%100%) backed by Win32 SetLayeredWindowAttributes — true OS-level translucency.
  • Always-on-top toggle.
  • Click-through toggle — mouse events pass through to the app underneath.
  • Ctrl+Alt+Space global hotkey to toggle click-through from anywhere (the escape hatch when you can't click the overlay).
  • Last URL, opacity, and toggle states persist between sessions.
  • Window position and size remembered between sessions.

Dev setup

Prereqs: Node 18+, Rust toolchain (rustup), Tauri 2 prereqs for Windows (WebView2 ships with Windows 11).

cd browserlay
npm install
npm run tauri dev

Frontend tests:

npm test

Build

npm run tauri build

Outputs an MSI/NSIS installer under src-tauri/target/release/bundle/.

Architecture

Two-window Tauri 2 app. Control window hosts a React + Tailwind v4 + Zustand UI; overlay is a frameless transparent webview spawned at runtime pointing directly at the user-supplied URL. Per-window capability files lock the overlay down — pages it loads can't call any Tauri APIs.

The click-through escape hatch (Ctrl+Alt+Space) runs in Rust via tauri-plugin-global-shortcut so it works regardless of focus. Window opacity drops down to Win32 directly because Tauri 2.11.x doesn't expose set_opacity (open issue tauri-apps/tauri#3279).

See docs/plans/2026-05-08-browserlay-mvp-design.md for the full design.

Roadmap (Phase 2)

Presets · configurable hotkeys · system tray icon · edge-snap · multi-monitor placement · in-overlay toolbar.