Pimp My IDE / garage dispatchBack to the garage
Dispatch 391 / remote interface

A borrowed window needs a return route.

Sending a Mac window to a phone or tablet is the easy half to describe. The full system must capture pixels, carry input back, limit authority, and restore the window when the session ends.

16 Oct 20267 minute readInterface craftSource inspected. Runtime not exercised.

The picture is only one lane

Sill is an open-source Mac, iPhone, and iPad app that streams one Mac window or the desktop to a mobile device. The project says it captures with ScreenCaptureKit, encodes HEVC with VideoToolbox, and sends the picture over a direct encrypted connection. Touch, pointer, keyboard, and Pencil input travel back to the Mac.

That second lane changes the review. A display stream shows pixels. A control stream can click, type, scroll, resize a real window, choose menu items, and change the clipboard. Review the picture route and the authority route separately.

Apple describes ScreenCaptureKit as a way to select and stream screen content as media buffers. Its documentation also requires the app to request screen-recording permission. That permission covers capture. It does not explain who can send input or what happens to the source window after control ends.

Make custody visible

The inspected Sill revision splits these jobs into named pieces. WindowCapture owns one ScreenCaptureKit stream. InputInjector turns received input into Mac events. StreamCoordinator owns the running pipeline and selected source.

The source also has a WindowRestore ledger. It records a window before the app resizes it for a device. When streaming stops, the code can restore the old frame, preserve a move made by the person at the Mac, or leave a manually resized window alone.

That restoration rule is interface design, not cleanup trivia. A remote control should return borrowed state without erasing changes made at the source. If both sides can move the same window, the system needs a conflict rule that a reviewer can find.

Current beats complete

The capture path skips idle frames. The project README says the sender drops frames when the encoder or link falls behind instead of building a delayed queue. That policy favors a current picture over a complete recording.

For remote control, stale frames are dangerous. A perfect frame shown late can put the pointer over the wrong button. A transport review should record the latency policy, frame-drop policy, and cursor path. It should also say whether the pointer is drawn into video or sent as separate state.

Pairing is not the stop control

Sill documents one-time pairing, key-pinned connections, and Remote Access that is off by default. Those are useful boundaries. They do not replace session controls.

A review still needs to name who can start a session, which window is selected, when input is accepted, what the host shows while control is active, and which side can stop. It also needs the post-stop state for the window, clipboard, pointer, and any virtual display.

The switchboard below drafts that review sheet. It does not inspect a Mac, test a network, or prove the app's security. Select each section to see the complete request you should take to a real session.

Interactive makeover / custody switchboard

Wire the round trip.

A normal screen-share card says "connected." This switchboard joins source selection, transport, returned input, stop ownership, restoration, and a copyable review sheet.

Select sections to request
Live review route

1 of 5 sections selected

Open sections: Transport, Input, Stop, Restore.

01SOURCE / CAPTURE
02TRANSPORT / CURRENT FRAME
03INPUT / AUTHORITY
04STOP / BOTH ENDS
05RESTORE / SOURCE STATE
Review sheet incompleteThe selected section still needs real host, device, route, and result evidence.

Sources read

Source check completed 16 Oct 2026. We inspected commit 5c323e6965b5011809548e5067f9e8e6fa6adf54 and confirmed release 0.5.1 has a Mac disk image with a published SHA-256 digest. The App Store route also resolved. We did not install either app, run the macOS checks, test a real stream, audit the cryptography, or verify behavior on Apple hardware.