Skip to main content

Module wayland

Module wayland 

Source
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 CursorImageStatus into a PNG image buffer suitable for the Python cursor callback. Uses xcursor to 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 ConnectToEIS socket. 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_input client: 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 under protocols/.
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_v1 client: scales and arranges the screens of a nested session compositor, in-process rather than through a wlr-randr fork.
portal
xdg-desktop-portal RemoteDesktop/ScreenCast session: streams and input for hosts without the privileged Wayland protocols. xdg-desktop-portal client: one RemoteDesktop (or ScreenCast) 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/Input stream 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_v1 client 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.