Following community feedback from Reddit, we have some excellent starting points for porting the Windows-exclusive Floating Overlay to Linux using Wayland's Layer Shell protocol.
Technical Pointers
- Wayland Layer Shell: This is the protocol used to draw surfaces above normal windows (status bars, overlays, notifications). Protocol spec: wlr-layer-shell-unstable-v1.
- Smithay Client Toolkit: A Rust library for Wayland clients. It recently added a \simple_layer.rs\ example that demonstrates how to render a layer shell surface:
- Wayscriber: An open-source Rust project that allows annotations over anything on the screen. Excellent reference implementation for a Wayland overlay in Rust:
Challenges
Since Reverbic is a TUI application built on
atatui, combining it with a native graphical Wayland surface might require rendering text graphically onto the layer surface rather than running it through a terminal emulator.
Alternative / Workaround
As a short-term workaround for Linux users, we could document using a terminal emulator with built-in overlay capabilities, such as the Kitty kitten panel.
Following community feedback from Reddit, we have some excellent starting points for porting the Windows-exclusive Floating Overlay to Linux using Wayland's Layer Shell protocol.
Technical Pointers
Challenges
Since Reverbic is a TUI application built on
atatui, combining it with a native graphical Wayland surface might require rendering text graphically onto the layer surface rather than running it through a terminal emulator.
Alternative / Workaround
As a short-term workaround for Linux users, we could document using a terminal emulator with built-in overlay capabilities, such as the Kitty kitten panel.