Skip to content

ehmry/wayland-nim

Repository files navigation

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.

About

This code is broken, use from SourceHut instead.

Resources

Stars

Watchers

Forks