6 个稳定版本
2.0.3 | 2024 年 7 月 15 日 |
---|---|
2.0.2 | 2024 年 6 月 18 日 |
2.0.1 | 2024 年 5 月 3 日 |
2.0.0 | 2024 年 1 月 27 日 |
1.0.1 | 2024 年 1 月 9 日 |
534 在 GUI 中排名
1,815 每月下载量
在 12 个 Crates 中使用(通过 wayrs-scanner)
18KB
363 行
wayrs
Wayland 客户端库的简单 Rust 实现。
设计决策
- 单事件队列
- 无内部可变性
- 无
libwayland
兼容性 - 支持阻塞、非阻塞和异步 I/O
项目状态
- 主 Crates,
wayrs-client
,功能完整且稳定。
项目结构
项目分为多个 Crates
wayrs-client
:实现 Wayland 串行协议的主要 Crates。提供表示打开的 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
中。请勿直接使用此 Crates。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
依赖项
~1.5–2MB
~38K SLoC