Files
ringa/README.md
T
swaits dac98835f8 chore: add LICENSE, README, CHANGELOG, and publish metadata
Add MIT license, README with usage/install instructions and hotkey
binding examples, CHANGELOG for v0.1.0, and complete Cargo.toml
metadata (repository, homepage, keywords, categories). Remove unused
niri-ipc dependency.
2026-04-07 12:30:37 -06:00

84 lines
1.6 KiB
Markdown

# 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://github.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)