kazari

Crates.iokazari
lib.rskazari
version0.0.1
sourcesrc
created_at2021-03-10 14:37:52.209722
updated_at2021-03-10 14:37:52.209722
descriptionA no_std GUI software stack (Work-in-Progress)
homepage
repositoryhttps://github.com/nuta/kazari
max_upload_size
id366808
size1,141,071
Seiya Nuta (nuta)

documentation

README

Kazari - A no_std GUI software stack (Work-in-Progress)

:construction: Kazari is still in the very early stage of development. :construction:

Kazari is a no_std GUI software stack which provides a graphic desktop environment based on Wayland Protocol.

It's orignally designed for Resea, a microkernel-based minimalistic operating system written from scratch. However, Kazari is platform-agnostic and it should be easy to port to your operating system.

Features

  • It consists of the server (so-called compositor) and clients (applications) connected over Wayland Protocol, a well-known display protocol as a promising alternative to X Window System.
  • Compositing window manager library (window, mouse cursor, ...).
  • A 2D graphics library to render window contents in the client side (drawing lines, rectangles, texts, images, ...).
  • Implemented in no_std (but depends on liballoc).
  • The HTML5 Canvas API backend for debugging.

Backends

  • Web: web/src/lib.rs
  • UEFI Application: demo/uefi/ (incomplete)
  • Resea: ToDo

How to try

Using the Web-based backend is the best way for Kazari development.

  1. Install wasm-pack..

  2. Start the local web server. It automatically rebuilds and reloads the web page when you updated a source file.

$ cd web
$ yarn dev

Running wayland-scanner

Since the original wayland-scanner does not support generating Rust code, we have our own code generator not to write message definitions by hand.

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

References

License

CC0 or MIT. Choose whichever you prefer.

Commit count: 0

cargo fmt