Skip to main content

pixelflux/wayland/
mod.rs

1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
5 */
6
7//! Wayland backend: a headless Smithay compositor that stands in for a real display server.
8//!
9//! `frontend` owns the compositor state machine, protocol handlers, and input routing.
10//! `cursor` resolves Wayland cursor shapes to PNG images for the Python callback.
11
12/// Wayland cursor shape to PNG resolution and the cursor delivery worker.
13pub mod cursor;
14/// Data-control clipboard client bridging a nested app compositor's selection.
15pub mod dcclient;
16/// libei (EIS) input injection over a portal session's `ConnectToEIS` socket.
17pub mod eiclient;
18/// Fake-input client delivering relative pointer motion into a nested KWin session.
19pub mod ficlient;
20/// `zwlr_foreign_toplevel_manager_v1`, the window list a taskbar reads and acts on.
21pub mod foreign_toplevel;
22/// Headless Smithay compositor, protocol handlers, and input routing.
23pub mod frontend;
24/// Host-capture mode: capture/inject as a client of an external compositor.
25pub mod host;
26/// KDE client growing, removing, and arranging a nested KWin session's screens.
27pub mod kdeclient;
28/// Generated bindings for the KDE output protocols vendored under `protocols/`.
29pub mod kdeproto;
30/// Seat keymap ownership: base layout plus batched overlay keysym binding.
31pub mod keymap;
32/// Output-management client scaling a nested app compositor's screens.
33pub mod outclient;
34/// xdg-desktop-portal RemoteDesktop/ScreenCast session: streams and input for hosts without
35/// the privileged Wayland protocols.
36pub mod portal;
37/// PipeWire consumer turning a portal monitor stream into host frames.
38pub mod pwcapture;
39/// Virtual-keyboard client for typing into a nested app compositor's socket.
40pub mod vkclient;
41/// Shared plumbing for outbound Wayland client connections.
42pub mod wlclient;
43/// The installed window policy's seat in the compositor: events out, commands applied.
44pub mod wm;
45/// `ext_workspace_manager_v1`, the virtual desktops a pager reads and switches.
46pub mod workspace;
47/// XWayland and Smithay's X11 window manager, driven by the window policy.
48pub mod xwm;
49
50/// An enabled screen as clients see it: name, layout position, and the size of
51/// the mode it currently holds.
52pub type AppScreen = (String, i32, i32, i32, i32);