[![crates.io](http://meritbadge.herokuapp.com/wayland-protocols)](https://crates.io/crates/wayland-protocols)
[![docs.rs](https://docs.rs/wayland-protocols/badge.svg)](https://docs.rs/wayland-protocols)
[![Continuous Integration](https://github.com/Smithay/wayland-rs/workflows/Continuous%20Integration/badge.svg)](https://github.com/Smithay/wayland-rs/actions?query=workflow%3A%22Continuous+Integration%22)
[![codecov](https://codecov.io/gh/Smithay/wayland-rs/branch/master/graph/badge.svg)](https://codecov.io/gh/Smithay/wayland-rs)
# wayland-protocols
This crate provides Wayland object definitions for many of the Wayland protocol extensions available.
It is meant to be used in addition to `wayland-client` or `wayland-server`.
This crate provides bindings for the following protocols extensions:
- The standard ["wayland-protocols"](https://gitlab.freedesktop.org/wayland/wayland-protocols) extensions
- The ["wlr-protocols"](https://github.com/swaywm/wlr-protocols) extensions from wlroots
- A few other misc protocols:
- `gtk_primary_selection`
The provided objects are controlled by cargo features:
- the `client` and `server` cargo features respectively enable the generation of client-side
and server-side objects
- the `unstable_protocols` enable the generation of not-yet-stabilized protocols
If you wish for other protocols to be integrated, please open an issue on Github. Only protocols that
are meant to be stabilized and largely used are in scope of this crate. If you wish to generate
bindings for your own internal protocol, you can directly use `wayland-scanner`.