1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13:32:50 -05:00
Files
DankMaterialShell/core/pkg/go-wayland/README.md
bbedward 91891a14ed core/wayland: thread-safety meta fixes + cleanups + hypr workaround
- fork go-wayland/client and modify to make it thread-safe internally
- use sync.Map and atomic values in many places to cut down on mutex
  boilerplate
- do not create extworkspace client unless explicitly requested
2025-11-15 14:41:00 -05:00

1.1 KiB

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 and keyboard. Because it's in pure Go, it can be compiled without CGO. You can try it using the following commands:

CGO_ENABLED=0 go install github.com/AvengeMedia/DankMaterialShell/core/pkg/go-wayland/examples/imageviewer@latest

imageviewer file.jpg