4 releases
Uses old Rust 2015
0.1.2 | May 11, 2017 |
---|---|
0.1.1 | Apr 21, 2017 |
0.1.0 | Apr 20, 2017 |
0.0.1 | Apr 2, 2017 |
#1176 in GUI
Used in cognitive-wayland-fronten…
48KB
124 lines
Skylane
skylane
is implementation of Wayland protocol written in Rust.
Project consists of three repositories:
-
skylane
- core protocol implementation -
skylane_scanner
- generates marshalling code from XML protocol description (equivalent towayland-scanner
) -
skylane_protocols
- protocol marshalling code generated usingskylane_scanner
+ some glue code
Documentation
Documentation can be found on docs.rs.
Project
skylane
is developed as part of perceptia
project.
Most up to date usage examples can be found there.
License
skylane_protocols
is released under the MIT License.
lib.rs
:
This crate supplements skylane
crate with bindings Wayland
protocol automatically
generated from XML protocol description files.
This crate is planed to provide implementation for all (stable and unstable) protocols. If something is missing, let us know.
Implementation
Each protocol description file contains requests (from client to server) and events (from server to client). In server part requests are translated to:
- interfaces - traits describing methods of a Wayland protocol object
- dispatchers - structures translating socket data to calls to methods on objects implementing appropriate interface. while events to stand-alone functions. On client side vice-versa.
Handler
structure helps bind Dispatcher
with implementation of its Interface
to
register it in server::Connection
from skylane
crate.
Server examples
TODO: Add examples for server.
Client examples
TODO: Add examples for client.
Dependencies
~2MB
~40K SLoC