Skip to content

PlayForm/Round

Round

Update
Issue
Star
Download
Round ⬜

Round

Round ⬜

A transparent, click-through overlay that draws rounded corners on every connected monitor. Native on macOS and Windows; Linux should build but is untested.

Round

Getting started

Round ⬜ is a Tauri 2 tray app. It spawns one borderless, transparent webview per monitor sized to the monitor's bounds, draws four rounded corners with Solid, and is controlled from the system tray. State (size, theme, hidden, no-dock) is persisted via tauri-plugin-store.

Each window is lifted above OS chrome so the corners cover the full screen:

  • macOS sets NSStatusWindowLevel, the collection behaviour canJoinAllSpaces | stationary | ignoresCycle | fullScreenAuxiliary, and setIgnoresMouseEvents:YES. Transparency requires macOSPrivateApi.
  • Windows calls SetWindowPos(HWND_TOPMOST, ..., SWP_NOACTIVATE) and adds WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE | WS_EX_TRANSPARENT on top of Tauri's WS_EX_LAYERED.
  • Linux falls back to always_on_top + skip_taskbar; struts/panels may still draw over the corners.

Dependencies

  • tauri 2 with the tray-icon and macos-private-api features
  • tauri-plugin-store for persisting size, theme, and visibility
  • regex, serde, serde_json
  • objc2 (macOS only) - lifts windows above the menu bar and toggles the dock activation policy
  • windows-sys (Windows only) - lifts windows above the taskbar

Frontend: Solid 1.9 + Vite 8 + @tauri-apps/api 2, bundled by @playform/build.

Options

The app has several menu items:

  • Increase Size ➕
  • Decrease Size ➖
  • Reset ↩️
  • Dark 🌑
  • Light ☀️
  • Show 👨🏻
  • Hide 🥷🏽
  • No Dock ⚓
  • Exit ❌

Clicking on Increase Size or Decrease Size increases or decreases the roundness of the windows, respectively.

Reset sets the corner radius back to the default value of 23px.

Dark and Light switch the app between dark and light mode.

Show and Hide show or hide all windows, respectively.

No Dock (macOS only) toggles the dock icon via NSApplicationActivationPolicy.Accessory; the menu item is checked when the dock icon is hidden.

Exit closes the app.

Changelog

See CHANGELOG.md for a history of changes to this app.