waypane is a Wayland toolkit made in Rust for building custom desktop widgets and bars in Lua. It provides a simple API to create and manage GTK-based widgets, handle events, and interact with the Wayland compositor.
Documentation including installation instructions, API reference, etc, can be found here.
waypane is published as an early alpha release (0.0.1-alpha.1).
Install from crates.io:
cargo install waypane --version 0.0.1-alpha.1Or, with a module integration (e.g., Hyprland):
cargo install waypane --version 0.0.1-alpha.1 --features hyprlandRun with a configuration file:
waypane run examples/bar.luaGenerate Lua stubs for better IDE integration (e.g., with Lua Language Server):
waypane gen-stubs > stubs.luaThe examples/ directory contains a few examples of what you can build with waypane:
bar.lua: A complete status bar featuring workspaces, window titles, and a clock.clock.lua: A simple background clock widget.
This is one of my first Rust projects and I'm actively learning! I'm open to suggestions, code reviews, and constructive criticism. Feel free to open issues. I'd appreciate if you'd let me fix them rather than opening PRs with written solutions. Thank you!
This project is licensed under the MIT License - see the LICENSE file for details.