41/// Never show a black frame. 42pub fn hold_last_frame(id: WindowId) { 43 let Some(w) = windows.get_mut(&id) 44 else { return }; 45 w.layer.retain_frame(); 46 w.tracked = true; 47}
41/// Never show a black frame. 42pub fn hold_last_frame(id: WindowId) { 43 let Some(w) = windows.get_mut(&id) 44 else { return }; 45 w.layer.retain_frame(); 46 w.tracked = true; 47}
Real windows
Shared windows appear as windows on your desktop. Movable, resizable, sharp, not tiles in a grid.
Interactive
Labeled user cursors on all shared windows. Instant remote mouse and keyboard input.
Simultaneous
Several users can share their windows at the same time.
Persistent
Create rooms like eng-sync. Click once and you're in — no links to send, nothing to schedule.
Run Petal
Only the video backend changes.
Petal Cloud
Download and join your meeting on our LiveKit video infrastructure.
Self-host
The same app, pointed at a LiveKit server you run.
Fork & build
Full control. Change the app, bring your own stack.