Expand description
Headless Wayland compositor and cursor rendering. Wayland backend: a headless Smithay compositor that stands in for a real display server.
frontend owns the compositor state machine, protocol handlers, and input routing.
cursor resolves Wayland cursor shapes to PNG images for the Python callback.
Modules§
- cursor
- Wayland cursor shape to PNG resolution and the cursor delivery worker.
Wayland cursor shape resolution: converts a
CursorImageStatusinto a PNG image buffer suitable for the Python cursor callback. Usesxcursorto load the system cursor theme and render the appropriate frame at the current scale. - dcclient
- Data-control clipboard client bridging a nested app compositor’s selection. Data-control CLIENT: the native clipboard bridge to a NESTED app compositor (labwc/kwin running under pixelflux).
- eiclient
- libei (EIS) input injection over a portal session’s
ConnectToEISsocket. libei (EIS) input injection for the portal host-capture rung. - ficlient
- Fake-input client delivering relative pointer motion into a nested KWin session.
org_kde_kwin_fake_inputclient: relative pointer motion for a nested KWin session. - frontend
- Headless Smithay compositor, protocol handlers, and input routing. Headless Smithay compositor that stands in for a real display server so ordinary Wayland clients have somewhere to render — their composited output is exactly what the capture pipeline reads back and H.264-encodes. There is no monitor, KMS, or libinput in this process, so everything a desktop session normally receives from hardware — an output to map windows onto, a seat to deliver input to, a clipboard to share — this frontend has to synthesize itself.
- host
- Host-capture mode: capture/inject as a client of an external compositor.
Host-capture mode: pixelflux as a CLIENT of an external Wayland compositor
(e.g. labwc running
WLR_BACKENDS=headless), inverting the nested topology. - kdeclient
- KDE client growing, removing, and arranging a nested KWin session’s screens. KDE session-screen client: grows, removes, and arranges the screens of a nested KWin session, in-process.
- kdeproto
- Generated bindings for the KDE output protocols vendored under
protocols/. Client bindings for the KDE output protocols, generated from the XMLs vendored underprotocols/. - keymap
- Seat keymap ownership: base layout plus batched overlay keysym binding. Compositor-side keymap policy: one owner for the seat keymap.
- outclient
- Output-management client scaling a nested app compositor’s screens.
zwlr_output_management_v1client: scales and arranges the screens of a nested session compositor, in-process rather than through awlr-randrfork. - portal
- xdg-desktop-portal RemoteDesktop/ScreenCast session: streams and input for hosts without
the privileged Wayland protocols.
xdg-desktop-portal client: one
RemoteDesktop(orScreenCast) session on the session bus that hands out the PipeWire streams of the host’s monitors and takes input events for its seat. Compositors without the privileged wlroots protocols (GNOME, KDE) expose both only this way, through their portal backend, so this is the rung host capture falls to when the registry lacks capture or virtual-input globals. - pwcapture
- PipeWire consumer turning a portal monitor stream into host frames.
PipeWire consumer for a portal monitor stream: one
Video/Inputstream per host output on the connection the portal opened, delivering the compositor’s frames to the host-capture consumer as [HostFrame]s. - vkclient
- Virtual-keyboard client for typing into a nested app compositor’s socket.
zwp_virtual_keyboard_v1client for typing Unicode text into a nested compositor’s socket. - wlclient
- Shared plumbing for outbound Wayland client connections. Shared plumbing for pixelflux’s outbound Wayland CLIENT connections (the virtual-keyboard typer and the data-control clipboard bridge, both talking to a nested app compositor): socket resolution, deadline-bounded round-trips so a wedged compositor turns into an error instead of a hang, and fd read/write helpers for clipboard pipes.
Type Aliases§
- AppScreen
- An enabled screen as clients see it: name, layout position, and the size of the mode it currently holds.