wayrs
A simple Rust implementation of Wayland client library.
Design decisions
- Single event queue
- No interior mutability
- No
libwaylandcompatibility - Support blocking, non-blocking and async IO
Project structure
The project is split into multiple crates:
wayrs-client: The main crate with implements Wayland wire protocol. ProvidesConnectiontype which represents open Wayland socket.wayrs-scanner: Providesgenerate!macro that generates glue code from.xmlfiles. Generated code for the core protocol is already included inwayrs-client. Reexported aswayrs_client::scanner.wayrs-protocols: A collection of Wayland protocols to use withwayrs-client.wayrs-utils: A collection of utils and abstractions forwayrs-client. Includes a shared memory allocator and more.