23 个不稳定版本
| 新 0.14.2 | 2024 年 8 月 9 日 |
|---|---|
| 0.14.1 | 2024 年 5 月 3 日 |
| 0.14.0 | 2024 年 4 月 19 日 |
| 0.13.2 | 2024 年 3 月 7 日 |
| 0.5.0 | 2023 年 3 月 25 日 |
#9 in #wayland-protocol
2,001 每月下载量
在 7 crates 中使用
230KB
1.5K SLoC
wayrs
Wayland 客户端库的简单 Rust 实现。
设计决策
- 单事件队列
- 无内部可变性
- 无
libwayland兼容性 - 支持阻塞、非阻塞和异步 IO
项目状态
- 主crate,
wayrs-client,功能完整且稳定。
项目结构
项目分为多个 crate
wayrs-client:主crate,实现 Wayland 线协议。提供表示打开的 Wayland 套接字的Connection类型,管理对象和处理回调。wayrs-protocols:用于与wayrs-client一起使用的 Wayland 协议集合。wayrs-utils:用于wayrs-client的实用工具和抽象。包括共享内存分配器等。wayrs-egl:将 OpenGL(-ES) 带到wayrs。基于EGL_KHR_platform_gbm。wayrs-scanner:实现从.xml文件生成粘合代码的.wayrs_client.generate!宏。核心协议的生成代码已包含在wayrs-client::protocol中。请不要直接使用此 crate。wayrs-proto-parser:解析 wayland.xml文件。由wayrs-scanner使用。wayrs-core:核心类型、序列化和反序列化实现。可供客户端和服务器使用。
使用 wayrs 的项目
以下项目使用 wayrs,可以作为额外的使用示例
i3bar-river:i3bar 的 river 端口。i3status-rs:功能丰富且资源友好的i3status替代品。river-kbd-layout-watcher:每当键盘布局更改时打印当前布局。wayidle:等待合成器报告空闲N秒。wl-gammarelay-rs:提供DBus接口,用于无闪烁地控制显示温度和亮度。wlr-which-key:基于wlroots的合成器的键映射管理器。
MSRV
1.72
依赖项
~3.5MB
~64K SLoC