Expand description
This crate provides bindings to the official wayland protocol extensions provided in https://gitlab.freedesktop.org/wayland/wayland-protocols
These bindings are built on top of the crates wayland-client and wayland-server.
Each protocol module contains a client
and a server
submodules, for each side of the
protocol. The creation of these modules (and the dependency on the associated crate) is
controlled by the two cargo features client
and server
.
§Protocol categories
The protocols provided in this crate are grouped in 4 main categories:
- The
wp
module contains general purpose wayland protocols - The
xdg
module contains protocols specifically related to window management - The
xwayland
module contains protocols used by xwayland. - The
ext
module contains protocols that do not fit into the three previous categories.
§Staging protocols
The cargo feature staging
enables the generation of the staging protocols.
These protocols are ready for wider adoption and clients and compositors are encouraged to implement staging protocol extensions where a protocol’s functionality is desired.
Although these protocols should be stable, the protocols may still be completely replaced in a new major version or with a completely different protocol.
§Unstable protocols
The wayland-protocols
project previously had a notion of “unstable protocols” representing protocols
that are still being worked on and evolving. These protocols are recognized by the use of the prefix z
in their interface names.
This category has now been deprecated and is no longer supposed to be used, however several protocols
are still under that umbrella. We can expect them to be replaced by staging and stable protocols in the
long term, but in the meantime you can enable them with the unstable
cargo feature.
§Other protocols
Additionally, more protocol extensions are provided here:
Modules§
- Miscellaneous protocols
- Generic wayland protocols
- Protocols related to window management
- XWayland related protocols