1 个不稳定版本
0.0.1 | 2021 年 3 月 10 日 |
---|
#20 in #合成器
1MB
15K SLoC
卡萨里 - A no_std GUI 软件堆栈(进行中)

🚧 卡萨里仍在非常早期的开发阶段。 🚧
卡萨里是一个 no_std GUI 软件堆栈,它提供了一个基于 Wayland 协议 的图形桌面环境。
它最初是为 Resea 设计的,这是一个从头开始编写的基于微内核的最小化操作系统。然而,卡萨里是跨平台的,应该很容易将其移植到您的操作系统。
特性
- 它由服务器(所谓的 合成器)和客户端(应用程序)通过 Wayland 协议 连接,这是一个著名的显示协议,是 X Window 系统的有希望替代品。
- 合成窗口管理器库(窗口、鼠标光标等)。
- 一个 2D 图形库,用于在客户端渲染窗口内容(绘制线条、矩形、文本、图像等)。
- 在 no_std 中实现(但依赖于 liballoc)。
- HTML5 Canvas API 后端用于调试。
后端
- Web:
web/src/lib.rs
- UEFI 应用程序:
demo/uefi/
(不完整) - Resea: 待办
如何尝试
使用基于 Web 的后端是开发卡萨里的最佳方式。
-
安装
wasm-pack
... -
启动本地 Web 服务器。当您更新源文件时,它会自动重建和重新加载网页。
$ cd web
$ yarn dev
运行 wayland-scanner
由于原始的 wayland-scanner
不支持生成 Rust 代码,我们有自己的代码生成器,无需手动编写消息定义。
./wayland-scanner.py src/wl/protocols protocols/*.xml
参考资料
许可
依赖项
~4.5MB
~52K SLoC