MCPcopy Create free account
hub / github.com/Smithay/wayland-rs

github.com/Smithay/wayland-rs @wayland-egl-v0.32

Chat with this repo
repository ↗ · DeepWiki ↗ · release wayland-egl-v0.32 ↗ · + Follow
999 symbols 2,318 edges 100 files ⚖ MIT 170 documented · 17% updated 12d agov0.24.0 · 2019-09-14★ 1,40459 open issues

Browse by type

Functions 759 Types & classes 240
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Continuous Integration codecov

Wayland rust crates

This project contains rust crates for using the wayland protocol, both client side and server side.

This repository actually hosts 8 crates. The 3 main crates you'll likely want to use:

  • wayland-client and wayland-server are the main crates for client and server side bindings
  • wayland-protocols regroups bindings on the official protocol extentions available

There are also two auxilliary crates:

  • wayland-egl, which is necessary client-side for OpenGL integration
  • wayland-cursor, which helps with loading cursor images from the system themes for use in your apps

And finally 3 internal crates, that you'll need only for integrating a custom protocol extension or doing FFI:

  • wayland-scanner is the crate used to convert the XML protocol specifications into rust code
  • wayland-backend contains the actual implementation of the protocol logic. It actually provides two backends: a rust implementation of the protocol, and a backend using the system wayland libraries (for FFI contexts).
  • wayland-sys is the bindings to the C wayland libraries, used by wayland-backend

Documentation

The documentation for the master branch is available online.

The documentation for the releases can be found on docs.rs: wayland-client wayland-server wayland-protocols wayland-egl wayland-cursor wayland-backend wayland-scanner wayland-sys

Requirements

Requires at least rust 1.65.0 to be used, and version 1.15 of the wayland system libraries if using the system backend.

Chat and support

For general quick questions you can get answers in the chat room.

The chat room is bridged over 2 chat servers:

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 578
Class 190
Function 181
Enum 39
Interface 11

Languages

Rust100%
C1%

Modules by API surface

wayland-backend/src/sys/server_impl/mod.rs69 symbols
wayland-backend/src/server_api.rs52 symbols
wayland-backend/src/sys/client_impl/mod.rs40 symbols
wayland-backend/src/rs/client_impl/mod.rs39 symbols
wayland-scanner/tests/scanner_assets/test-client-code.rs38 symbols
wayland-client/src/event_queue.rs31 symbols
wayland-backend/src/rs/server_impl/handle.rs31 symbols
wayland-backend/src/client_api.rs31 symbols
wayland-backend/src/rs/server_impl/client.rs30 symbols
wayland-scanner/tests/scanner_assets/test-server-code.rs26 symbols
wayland-backend/src/rs/socket.rs26 symbols
wayland-cursor/src/lib.rs23 symbols

For agents

$ claude mcp add wayland-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page