Captures only a managed toplevel's surface tree, independently of its
workspace, occlusion, animations and output transform. The compositor
advertises this interface only to its native portal executable. Capture
requires session opt-in and fails while locked. Window IDs are compositor
lifetime IDs and never resolve to replacement windows.
The two unsigned words encode a 64-bit window ID (high word first).
A version 1 wlr screencopy frame announces a bounded SHM ARGB8888
snapshot. It fails if the target has closed, capture is unavailable,
or the outstanding snapshot budget is exhausted. Resize after the
buffer announcement does not change this frame's dimensions.
Overlay cursor is zero for hidden and one for embedded.
Sent before this frame's failed event if the bounded snapshot pool is
occupied. Retry a later frame; this does not revoke the window source.
Sent before the frame's buffer event. These dimensions describe this
captured frame, even if the window resizes before it is copied.
Creates a source for ext-image-copy-capture-v1. Unlike a snapshot,
a session waits for content damage and negotiates reusable buffers.
Invalid, closed or protected windows produce a stopped session.
Invalidates the last delivered image for this source's sessions, so
a resumed PipeWire consumer receives an initial image even when the
source is unchanged. Outstanding buffers keep their ownership and GPU
synchronization; this request never cancels a capture in flight.
Subsequent frames continue to wait for source damage.
The current logical window size, sent when the source is created.
Subsequent pixel-size changes are announced by the capture session.
The ID is a compositor-lifetime workspace ID, not its mutable index.
Captures the workspace viewport, including its windows and wallpaper,
excluding desktop layers, overview and protected content. The source is
pinned to its initial output configuration. Removing the workspace or
changing that configuration stops the session. No workspace is activated
and no client is resized by this request. Uses ext-image-copy-capture-v1.
Active is zero for paused and one for active. Outstanding frames retain
their buffer ownership. Pausing stops workspace composition and hidden
application callbacks; resuming is followed by refresh_source so an
initial image is delivered. This does not change desktop visibility.