#wayland-client #wayland #async-io #client #event-queue

wayrs-utils

为wayrs-client提供的工具和抽象集合

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.12023年3月25日

异步 中排名 280

Download history 149/week @ 2024-04-29 71/week @ 2024-05-06 24/week @ 2024-05-13 15/week @ 2024-05-20 39/week @ 2024-05-27 20/week @ 2024-06-03 21/week @ 2024-06-10 12/week @ 2024-06-17 29/week @ 2024-06-24 11/week @ 2024-07-01 7/week @ 2024-07-08 11/week @ 2024-07-15 33/week @ 2024-07-22 199/week @ 2024-07-29 41/week @ 2024-08-05 23/week @ 2024-08-12

每月下载量 297
用于 4 crate

MIT 许可证

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 并可能作为额外的使用示例

MSRV

1.72

依赖项

~2.6–3.5MB
~69K SLoC