# 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 ```sh git clone https://git.swaits.com/swaits/ringa.git cd ringa cargo install --path . ``` ### From crates.io ```sh cargo install ringa ``` ### With mise ```sh mise use cargo:ringa ``` ## Usage ```sh # 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** ```kdl binds { Mod+F12 { spawn "ringa"; } } ``` ## Requirements - Wayland compositor with `wlr-layer-shell-unstable-v1` support - Vulkan-capable GPU ## License [MIT](LICENSE)