Expand description
<ScreenPicker /> โ screen / window source picker for the
Recorder surface (M-SCK.4 / AUT-271 + M-SCK.0.1 / AUT-291).
Mirror of crate::system_audio_picker for the visual capture
path. Master Start/Stop toggle drives the SCK screen-capture
session; the expandable dropdown shows attached displays + visible
windows. As of M-SCK.0.1 (M-RECORD-EXPORT), clicking a non-
primary row swaps the active SCStream to that source โ picker
state is the authoritative selection and persists across launches
via LocalStorage.
Window IDs are NOT stable across launches (Apple's `CGWindowID`
is per-session). The picker reads `screen.screen_capture.last_source_id`
on mount; if the persisted id doesn't match any current display
or window (`list_screen_displays` + `list_screen_windows`), the
picker silently falls back to `PrimaryDisplay`. Documented gotcha
class in M-SCK.1 (AUT-268).Structsยง
- Screen
Picker ๐Body Props - Props for the
ScreenPickerBodycomponent. - Screen
Picker Props - Props for the
ScreenPickercomponent.
Functionsยง
- Screen
Picker <ScreenPicker />โ master toggle + expandable display/window list- Screen
Picker ๐Body - Required Props
- make_
on_ ๐pick - Closure factory for per-row click. Persists the new source and, if a session is live, tears down + restarts on the new source.
- make_
on_ ๐toggle_ enabled - Closure factory for the master toggle. Extracted so
ScreenPickerstays under theclippy::too_many_linescap. - make_
on_ ๐toggle_ expand - Closure factory for the expand-dropdown button.
- read_
last_ ๐used - write_
last_ ๐used