Skip to content

fix(recording): include floating app windows in the macOS window picker - #2804

Open
Baytowne wants to merge 3 commits into
CapSoftware:mainfrom
Baytowne:fix/floating-windows-in-picker
Open

Baytowne wants to merge 3 commits into
CapSoftware:mainfrom
Baytowne:fix/floating-windows-in-picker

Conversation

@Baytowne

Copy link
Copy Markdown

Problem

Cap's recording window picker currently excludes regular macOS application windows above level 0. This prevents windows using “Stay On Top,” such as the iOS Simulator, from appearing in the recording picker.

Change

Use the same macOS window eligibility check in the desktop picker and CLI. Preserve normal-window behavior and additionally admit floating windows at level 3 for non-accessory applications with a known, non-Cap bundle identifier.

The desktop picker retains its own-process exclusion. Existing accessory-panel filtering is preserved. Levels 1 and 2 are not newly admitted.

Live verification

Tested on macOS 27 with Xcode 27.1, using the simulator displayed in Device Hub with Stay On Top enabled:

  • macOS reported CapTest597 at level 3.
  • Upstream build: cap targets windows did not list it.
  • Initial fix build: the command listed it, and window recording succeeded.

After the shared-filter cleanup:

  • The rebuilt GPUI desktop app enumerated and selected CapTest597 through its built-in window-picker test driver.
  • Start and stop were sent through the desktop app's supported deep-link actions.
  • The app saved a complete .cap project containing a 9.48-second, 1100×800 H.264 video.
  • Project validation passed, and a decoded frame confirmed the intended window was captured.

Camera, microphone and system audio were disabled during the desktop test.

Tests

  • 702 recording-crate tests passed; 4 ignored
  • Four focused filter tests passed; two fail against upstream's filter
  • Recording-crate clippy passed with warnings treated as errors
  • Formatting checks passed for the changed Rust files
  • GPUI desktop build succeeded
  • Desktop clippy completed with eight warnings in unchanged files, none in the modified picker

Fixes #597

AI-assisted implementation and tests (Claude and Codex). I ran the live CLI comparison and launched the isolated desktop test; the assistant completed recording and inspected the saved output.

@vercel

vercel Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

@Baytowne is attempting to deploy a commit to the Cap Software Inc Team on Vercel.

A member of the Team first needs to authorize it.

@richiemcilroy

Copy link
Copy Markdown
Member

Thanks @Baytowne! We've reviewed this and it looks good to merge. Our automated reviewer (Greptile) is temporarily not posting reviews; as soon as it scores this 5/5 and CI is green on the branch updated with main, we'll merge it.

This branch has not been deployed

No deployments
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.

iOS Simulator not recognized as window when Stay On Top is on

2 participants