wayland_native

Native Wayland client library

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License Unlicense
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:26

Installation

nimble install wayland_native
choosenim install wayland_native
git clone https://git.sr.ht/~ehmry/wayland-nim

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
wayland_native - - - - - - -

Source

Repository https://git.sr.ht/~ehmry/wayland-nim
Homepage https://git.sr.ht/~ehmry/wayland-nim
Registry Source nimble_official

README

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.