/go-wayland

Wayland Client in Pure Go

Primary LanguageGoBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Wayland implementation in Go

Go Reference

This module contains pure Go implementation of the Wayland protocol. Currently only wayland-client functionality is supported.

Go code is generated from protocol XML files using go-wayland-scanner.

To load cursor, minimal port of wayland-cursor & xcursor in pure Go is located at wayland/cursor & wayland/cursor/xcursor respectively.

To demonstrate the functionality of this module examples/imageviewer contains a simple image viewer. It demos displaying a top-level window, resizing of window, cursor themes, pointer & keyboard. Because it's in pure Go, it can be compiled without CGO. You can try it using following commands:

CGO_ENABLED=0 go install github.com/rajveermalviya/go-wayland/examples/imageviewer@latest

imageviewer file.jpg