• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

examples/H03-May-2022-305203

src/H03-May-2022-3,5002,328

.cargo-checksum.jsonH A D03-May-202289 11

.cargo_vcs_info.jsonH A D03-Jul-202074 65

Cargo.lockH A D03-Jul-20207.6 KiB293258

Cargo.tomlH A D03-Jul-20201.5 KiB5546

Cargo.toml.orig-cargoH A D03-Jul-2020983 3328

README.mdH A D02-Jul-20201.9 KiB2722

build.rsH A D03-Feb-2020471 2116

wayland.xmlH A D03-Feb-2020122.3 KiB2,7672,323

README.md

1[![crates.io](http://meritbadge.herokuapp.com/wayland-client)](https://crates.io/crates/wayland-client)
2[![docs.rs](https://docs.rs/wayland-client/badge.svg)](https://docs.rs/wayland-client)
3[![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)
4[![codecov](https://codecov.io/gh/Smithay/wayland-rs/branch/master/graph/badge.svg)](https://codecov.io/gh/Smithay/wayland-rs)
5
6# wayland-client
7
8Client side API for the Wayland protocol. This crate provides infrastructure for manipulating
9Wayland objects, as well as object definitions for the core Wayland protocol. Protocol extensions
10can be supported as well by combining this crate with `wayland-protocols`, which provides object
11definitions for a large set of extensions.
12
13**Note:** This crate is a low-level interface to the Wayland protocol. If you are looking for a more
14battery-included toolkit for writing a Wayland client app, you may consider
15[Smithay's Client Toolkit](https://crates.io/crates/smithay-client-toolkit), which is built on top
16of it.
17
18The crate has different backends to Wayland protocol serialization:
19
20- By default, it uses a pure-rust implementation of the protocol, and contains little `unsafe` code.
21- Activating the `use_system_lib` makes it instead bind to the system `libwayland-client.so`. This
22  allows you to access C pointer versions of the wayland objects, which is necessary for interfacing
23  with other non-Rust Wayland-related libraries (such as for OpenGL support, see the `wayland-egl` crate).
24- Activating the `dlopen` implies `use_system_lib`, but additionnaly the crate will not explicitly
25  link to `libwayland-client.so` and instead try to open it at runtime, and return an error if it cannot
26  find it. This allows you to build apps that can gracefully run in non-Wayland environment without needing
27  compile-time switches.