#wayland-protocol #protocols #wayland #client-server #skylane

skylane_protocols

Autogenerated marshalling code for skylane/wayland

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

#1162 in GUI

Download history 22/week @ 2024-02-26 3/week @ 2024-03-04 2/week @ 2024-03-11 51/week @ 2024-04-01

54 downloads per month
Used in cognitive-wayland-fronten…

MIT license

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 to wayland-scanner)

  • skylane_protocols - protocol marshalling code generated using skylane_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
~39K SLoC