Freeze-Frame Capture
When you press the hotkey, the screen appears to freeze. What actually happens:
- Xenocept asks the OS for a fresh screenshot of the monitor under the cursor.
- The overlay window — already created at startup but kept hidden — is shown on top of that monitor.
- The overlay’s canvas displays the captured image as its background.
The real desktop keeps running underneath the overlay; you’re annotating a static image on top of it. That’s what makes the “freeze” instant — there’s no real screen pause, just a perfectly-aligned image overlay.
Single Monitor, Cursor’s Monitor
Capture is single-monitor. Xenocept asks xcap for the monitor the cursor is currently on and captures only that one. The overlay opens on that monitor.
If you have multiple monitors and the work you want to annotate is on a different one, move your cursor there before pressing the hotkey.
Through the xcap Crate
The capture itself goes through the xcap crate (xenocept-client/Cargo.toml:43). xcap is a cross-platform screen-capture library that picks the native API for each OS:
| Platform | What xcap uses |
|---|---|
| Linux (Wayland) | PipeWire via the XDG Desktop Portal |
| Linux (X11) | XGetImage / XShm via libxcb |
| macOS | The system’s native capture API (ScreenCaptureKit or its predecessor depending on version) |
| Windows | DXGI Desktop Duplication / Windows.Graphics.Capture |
Xenocept does not call any of those APIs directly. It calls xcap::Monitor::capture_image and gets a pixel buffer back. The platform specifics are xcap’s concern.
Permissions
Most platforms require explicit permission before an app can capture the screen:
- macOS. First capture triggers the system Screen Recording prompt. Approve Xenocept under System Settings → Privacy & Security → Screen Recording, then restart Xenocept.
- Linux (Wayland). First capture triggers the desktop portal prompt asking which screen(s) Xenocept may capture. Choose your default monitor (or “All screens”).
- Linux (X11). No explicit prompt — X11 allows any app on the display to grab screen pixels.
- Windows. No prompt for local capture.
Some endpoint-security tools flag screen-capture APIs as suspicious; if captures consistently return black or fail, check your antivirus / EDR for quarantined Xenocept activity.
Latency
Pressing the hotkey to overlay-visible is typically tens of milliseconds plus the time xcap takes to grab the frame. There’s a brief ~300 ms input cooldown after the canvas finishes loading the captured image, during which keyboard / pointer input on the canvas is ignored to avoid spurious clicks.
DRM-Protected Content
Game capture and DRM-protected video (Netflix DRM-protected windows, etc.) may render as black on some platforms — that’s per-OS policy, not a Xenocept choice.