25个版本 (15个破坏性版本)
| 0.16.0 | 2024年7月31日 |
|---|---|
| 0.15.0 | 2024年4月20日 |
| 0.14.0 | 2024年2月25日 |
| 0.13.0 | 2023年12月9日 |
| 0.4.0-beta.1 | 2023年3月25日 |
在 异步 中排名 280
每月下载量 297
用于 4 crate
145KB
2K 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:river的i3bar端口。i3status-rs:功能丰富且资源友好的i3status替代品。river-kbd-layout-watcher:每当键盘布局更改时打印当前键盘布局。wayidle:等待合成器报告空闲N秒。wl-gammarelay-rs:提供DBus接口,在不闪烁的情况下控制显示温度和亮度。wlr-which-key:基于wlroots的合成的键图管理器。
MSRV
1.72
依赖项
~2.6–3.5MB
~69K SLoC