28个版本
0.14.1 | 2024年5月3日 |
---|---|
0.13.2 | 2024年1月27日 |
0.12.7 | 2023年12月9日 |
0.12.5 | 2023年11月12日 |
0.1.2 | 2022年12月26日 |
699 在 过程宏 中
2,347 每月下载量
在 15 个crate中使用(通过 wayrs-client)
50KB
1K 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
依赖项
~3.5MB
~63K SLoC