4e986bdd8c89ba6fb218b4c651243c41d71b9b97
ringa
GPU-rendered ring light overlay for Wayland. Simulates a monitor-mounted ring light by drawing a bright glowing border around your screen during video calls.
Features
- GPU-rendered via wgpu/WGSL fragment shader -- smooth gaussian glow, no banding
- Full desktop passthrough -- clicks, scrolls, and keyboard input pass through to your desktop
- Cursor avoidance -- the ring fades near your mouse so you can see and interact with UI elements
- Color temperature -- pure white default, or warm/cool/custom Kelvin presets
- Toggle on/off -- bind to a hotkey; running it again kills the existing instance
- Works on any wlroots-based Wayland compositor (Sway, Hyprland, niri, river, etc.)
Install
From source
git clone https://github.com/swaits/ringa.git
cd ringa
cargo install --path .
From crates.io
cargo install ringa
With mise
mise use cargo:ringa
Usage
# Pure white (default)
ringa
# Color temperature presets
ringa warm # 3200K tungsten
ringa golden # 2700K golden hour
ringa studio # 5000K neutral studio
ringa daylight # 5600K daylight balanced
ringa cool # 6500K cool daylight
# Custom Kelvin (1000-40000)
ringa 4200
Run it again to toggle off.
Hotkey binding
Bind ringa to a key in your compositor config. Examples:
Sway / i3
bindsym $mod+F12 exec ringa
Hyprland
bind = $mainMod, F12, exec, ringa
niri
binds {
Mod+F12 { spawn "ringa"; }
}
Requirements
- Wayland compositor with
wlr-layer-shell-unstable-v1support - Vulkan-capable GPU
License
Description
GPU-rendered ring light overlay for Wayland
73 KiB
0 Stars
1 Watchers
0 Forks
Languages
Rust
92.6%
WGSL
7.4%