_drawpad._tcp). Skeldri 1.0 for Mac and iPad uses protocol 7, so the iPad app cannot find this host until it is updated.
Mirror any Linux or Mac display over your local network with low-latency H.264 video. Annotate with Apple Pencil or finger strokes on a transparent, 100% click-through desktop overlay.
Installs the skeldri binary, systemd user daemon, and Omarchy QuickShell bar plugin.
Built with native system components in Rust, Wayland, PipeWire, Swift, and QuickShell.
Screen capture encoded at 30 FPS (~4 Mbps) with zero B-frames and length-prefixed AVCC access units, keeping video latency sub-50ms.
Wayland wlr-layer-shell surface with an empty input region. Draw over live browsers and code editors without blocking any clicks.
Advertises _drawpad._tcp over Avahi mDNS with persistent machine UUIDs. The iPad discovers and connects automatically.
Native QuickShell bar widget and dropdown panel in Omarchy for live iPad status, active display switching, and canvas clearing.
Normalized top-left vector coordinates keep pen strokes sharp across different monitor resolutions and aspect ratios.
Operates strictly over your local Wi-Fi network. No cloud relays, accounts, telemetry, tracking, or remote control permissions.
Two dedicated TCP streams guarantee responsive drawing even under heavy network load.
Avahi publishes _drawpad._tcp with protocol version 2 and host UUID.
Bidirectional JSON packets for stroke vectors, display descriptors, ping/pong, and canvas clearing.
H.264 stream with SPS/PPS parameter set packets and AVCC length-prefixed video envelopes.
Manage the background daemon directly from your terminal or scripts.
| Command | Description |
|---|---|
| skeldri | Run the Skeldri daemon interactively in foreground |
| skeldri status | Show live connection status, active monitor, and stroke count |
| skeldri status --json | Output machine-readable JSON status (for bar plugins & scripts) |
| skeldri clear | Clear all annotations from host overlay and iPad screen |
| skeldri toggle | Toggle annotation overlay visibility without erasing strokes |
| skeldri select-display <id> | Switch mirrored video output to the specified display ID |
| skeldri stop | Gracefully stop the background daemon |