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 for the cursor sink. 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. - foreign_
toplevel zwlr_foreign_toplevel_manager_v1, the window list a taskbar reads and acts on.zwlr_foreign_toplevel_manager_v1: the window list a taskbar reads and acts on. Every mapped toplevel is a handle on each bound manager, carrying its title, app id, states, and output; a taskbar’s requests (activate, minimize, maximize, fullscreen, close) go to the window policy where one is installed, and without one the activate raises and focuses, the close asks the client, and the rest are ignored since every window is fullscreen then. A taskbar’sset_rectangletells the policy where it shows the window, the target of a minimize effect, in layout coordinates: the rectangle arrives relative to the taskbar’s own surface, a layer surface whose place on its output the layer map knows. A window the policy put on another virtual desktop stays listed but on no output, neither minimized nor shown, so a taskbar following the outputs drops it from the current desktop’s list and takes it back when the window enters its output again.- 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.
- wm
- The installed window policy’s seat in the compositor: events out, commands applied.
The window policy’s seat in the compositor: what the frontend tells an installed
[
WindowPolicy] and how its commands become Smithay state. - workspace
ext_workspace_manager_v1, the virtual desktops a pager reads and switches.ext_workspace_manager_v1: the virtual desktops a pager reads and switches.- xwm
- XWayland and Smithay’s X11 window manager, driven by the window policy.
XWayland for the compositor’s own desktop: the
Xwaylandserver spawned and kept running, and Smithay’s X11 window manager driven as the window policy decides.
Type Aliases§
- AppScreen
- An enabled screen as clients see it: name, layout position, and the size of the mode it currently holds.