Skip to content

Keep macOS control overlays above other apps - #551

Merged
enaboapps merged 1 commit into
mainfrom
agent/macos-topmost-overlays-550
Aug 9, 2026
Merged

Keep macOS control overlays above other apps#551
enaboapps merged 1 commit into
mainfrom
agent/macos-topmost-overlays-550

Conversation

@enaboapps

Copy link
Copy Markdown
Contributor

Closes #550

What changed

  • centralize the AppKit policy shared by cursor, crosshair, and modifier overlays
  • raise macOS control overlays to screen-saver window level
  • keep overlays stationary, present across Spaces/full-screen apps, out of window cycling, and visible while Switchify is inactive
  • preserve non-focusable, click-through behavior and leave Windows unchanged

Why

The native cursor panels used status-window level while the modifier webview relied on Tauri's generic always-on-top setting. Higher-level application and system UI could therefore obscure control feedback.

Validation

  • npm run lint
  • npm test (40 passed)
  • npm run build
  • cargo fmt --manifest-path src-tauri/Cargo.toml --check
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
  • cargo test --manifest-path src-tauri/Cargo.toml (131 passed)
  • npm run macos:run; signed bundle verified and launched with the stable Switchify PC Development identity

@enaboapps
enaboapps marked this pull request as ready for review August 9, 2026 14:17
@greptile-apps

greptile-apps Bot commented Aug 9, 2026

Copy link
Copy Markdown

Greptile Summary

This change centralizes macOS overlay-window configuration and applies it to the cursor, crosshair, and modifier overlays. The shared configuration raises overlays to the screen-saver window level, retains them when Switchify loses focus, and enables display across Spaces and fullscreen applications.

T-Rex validation blocked

Native AppKit behavior could not run because this host is Linux and lacks the macOS SDK, xcrun, and an Apple Rust target. The local Tauri test attempt was also blocked by the missing gdk-3.0 development package. The validation uploads did not include required artifact labels, so they cannot be attached as review evidence. No product defect was reproduced.

Confidence Score: 5/5

No functional defect was identified in the changed code; native macOS behavior should still be exercised on a macOS machine before release.

There are no final review findings. The shared configuration is applied consistently to both native panel overlays and the modifier webview, but the host could not execute AppKit behavior.

Files Needing Attention: Manual macOS verification should cover src-tauri/src/macos_overlay_window.rs, src-tauri/src/overlay_macos.rs, and src-tauri/src/modifier_overlay.rs, including inactive-app, Spaces, and fullscreen behavior.

T-Rex T-Rex Logs

What T-Rex did

  • Native macOS overlay validation could not be executed; the Linux harness confirmed that xcrun and the macOS SDK are unavailable, no aarch64-apple-darwin Rust target is installed, and the Linux Tauri test path cannot build without the gdk-3.0 development package, so screen-saver ordering, inactive-app visibility, Spaces, and fullscreen behavior could not be observed.
  • T-Rex ran the requested verification, but its local artifact references were not uploaded.

T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "fix: keep macOS overlays topmost" | Re-trigger Greptile

@enaboapps
enaboapps merged commit 7b004cf into main Aug 9, 2026
4 checks passed
@enaboapps
enaboapps deleted the agent/macos-topmost-overlays-550 branch August 9, 2026 14:44
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.

Keep macOS control overlays above other apps

1 participant