Remove the 10-second display timer so the overlay runs until toggled
off. Shrink the cursor input hole from 512px to 48px for near-pixel-
perfect tracking instead of chunky jumps.
Remove SA_RESTART from the signal handler so SIGUSR1 interrupts the
blocking poll() call with EINTR. Handle EINTR gracefully in the event
loop to check should_exit() immediately instead of waiting for timeout.
Replace static input region with a dynamically updated wl_region that
follows the cursor. The full screen receives pointer events except for a
512px hole around the cursor position, allowing clicks and scrolls to
pass through to the desktop. Cursor avoidance shader updates in sync.
Replace Chebyshev distance with a rounded box SDF for the cursor
avoidance shape. Eliminates diagonal artifacts where the sharp corners
of a pure square distance field intersected the ring geometry.
Drop tiny-skia and tempfile. All rendering now runs on the GPU using a
WGSL fragment shader with rounded-rect SDF, gaussian glow falloff, and
cursor avoidance. Add color temperature support with presets (warm, cool,
studio, daylight, golden) and custom Kelvin values. Suppress MangoHUD
via environment variable.
Wayland layer-shell overlay using tiny-skia for rendering a glowing
rounded rectangle ring. Includes PID-based lock file toggle via SIGUSR1,
keyboard capture (Escape to exit), and pointer tracking for cursor
avoidance. Configurable ring geometry and glow parameters.