25个版本 (6个稳定版)
| 1.1.1 | 2024年5月3日 |
|---|---|
| 1.0.3 | 2024年2月27日 |
| 1.0.1 | 2023年12月30日 |
| 0.12.4 | 2023年12月8日 |
| 0.1.0 | 2022年12月26日 |
#809 在 网络编程
每月1,856 次下载
在 14 个crate中使用了 (11个直接使用)
85KB
1.5K SLoC
wayrs
Wayland客户端库的简单Rust实现。
设计决策
- 单事件队列
- 无内部可变性
- 无
libwayland兼容性 - 支持阻塞、非阻塞和异步IO
项目状态
- 主crate,
wayrs-client,功能完整且稳定。
项目结构
项目分为多个crate
wayrs-client:实现Wayland线协议的主要crate。提供代表打开的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–12MB
~121K SLoC