Skip to content

Latest commit

 

History

History
21 lines (14 loc) · 1.11 KB

README.md

File metadata and controls

21 lines (14 loc) · 1.11 KB

Nim-native Wayland client libary

WORK-IN-PROGRESS

Communicate with Wayland using Nim but without depending on the libwayland C library (and a janky libc, GNU deps, etc).

Project priorities in descending order:

  • simplicity
  • efficiency
  • miminal dependency graph
  • Protocol compliance

The library is built against the sys I/O dispatcher and uses continuation-Passing style for asynchronicity. The implementation is simple enough to augmented later with support for different dispatchers, should patches be forthcoming.

The library provides a code-generator for producing a Nim module for a given protocol document in XML. Modules are provided for the core protocol and xdg-shell.

Modules generated from protocols contain object types that inherit from an abstract Wl_object along with associated procedures for sending requests and methods for receiving events.

See the example test for how to use the library in practice.