TECHNOLOGY
Petal, a New Open-Source Screensharing App, Puts Shared Windows on Your Desktop Instead of in a Grid
Petal is a young, open-source app for macOS and Windows built for small engineering syncs. Each shared window shows up as its own movable window rather than a tile in a meeting grid.
Image: Petal
Petal is a new open-source screensharing app for macOS and Windows. The project describes itself as low-latency, multi-window screensharing built for small engineering syncs.
The main idea is simple. When someone shares a window, it appears on your desktop as a real, borderless native window. You can move it, resize it, stack it, or keep it docked next to your editor while the call goes on. It is not a tile locked in a meeting grid.
Petal lets people share several windows at once. You can start a share from a hover pill on a window, from a picker, or with a global shortcut (⌘⌃⇧S). Each shared window is its own hardware-encoded H.264 stream, which is a common video format.
Everyone's cursor shows live, with a label, over the window they are pointing at. Anyone can also sketch on a shared window, and the strokes fade after ten seconds.
Remote control is part of the app, but the project says to treat it as early. You can hand a teammate control of a shared window, and their clicks and keystrokes are injected without stealing your focus. It needs the Accessibility permission on macOS. By default, every request raises a consent prompt on your screen. You can switch that to allow automatically or turn it off in Settings. The project points to a document called docs/remote-control-trust-model.md for details.
There is also an optional AI chat feature, off by default. Anyone in the meeting can open a live Gemini session about a shared window. According to the project, it sees the window, hears the room over push-to-talk, and can act on the window only with the sharer's explicit approval. Users can bring their own key or use a hosted option.
Other features include persistent named rooms and petal://join/<code> invite links with live presence. Audio has echo cancellation and noise suppression, and you can mute from the gallery, a floating pill, or the menu bar. The gallery can collapse into a floating pill, which ⌘⌃⇧P brings back. The app reconnects after network changes and re-publishes your shares automatically.
Petal is young. The project says it is pre-1.0, so interfaces change and some features are further along than others. The macOS app is signed, notarized, and in daily use. It needs macOS 13 (Ventura) or later and runs on both Apple Silicon and Intel.
On first run, the macOS app asks for permissions. Screen Recording and Microphone are required. Camera is optional, and so is Accessibility, which is only needed for giving or receiving remote control.
Windows support is earlier. Basic sharing and rooms work, but the project calls the platform incomplete and buggy, and under active development. The x86-64 installer is not signed for Authenticode, so it may trigger SmartScreen warnings. Automatic updates still use Tauri's updater signature. The project says macOS remains the more mature client.
Building Petal from source has stricter requirements than running it. It currently needs the macOS 26 SDK (Xcode 26.x), because a Metal-related dependency does not resolve against earlier SDKs. You also need Node 20+, stable Rust, and livekit-server for local meetings.
Under the hood, Petal uses Tauri 2 with a Rust core, plus Svelte 5 and TypeScript. It captures with ScreenCaptureKit on macOS and Windows.Graphics.Capture on Windows. Video travels over WebRTC through an SFU (a server that relays streams between participants), using LiveKit.