1 个不稳定版本

0.0.1 2021 年 3 月 10 日

#20 in #合成器

CC0-1.0 OR MIT

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 的后端是开发卡萨里的最佳方式。

  1. 安装 wasm-pack...

  2. 启动本地 Web 服务器。当您更新源文件时,它会自动重建和重新加载网页。

$ cd web
$ yarn dev

运行 wayland-scanner

由于原始的 wayland-scanner 不支持生成 Rust 代码,我们有自己的代码生成器,无需手动编写消息定义。

./wayland-scanner.py src/wl/protocols protocols/*.xml

参考资料

许可

CC0MIT。选择您喜欢的。

依赖项

~4.5MB
~52K SLoC