MENU BAR APPSWIFT · METAL · SCREENCAPTUREKIT

Your desktop follows the lid.

As you close the lid, the built-in display is captured and rendered as a rigid pane that rotates around the hinge, expands, blurs and dims until it disappears into the hinge. Stop the lid and the effect holds; open it and the effect reverses back to the sharp desktop.

Download .dmg GitHub
git clone https://github.com/satiyaganes06/Macbook-Duo.git scripts/build-app.sh && open "build/MacBook Duo.app" scripts/build-dmg.sh — packages a drag-to-install disk image
Live mock · {{ styleLabel }}
Lid {{ angle }}° Resting 130°
Captured desktop
Captured desktop
Captured desktop

A CSS mock of the real Metal pipeline, driven by the same curves — tilt, four-level blur pyramid and dimming — so you can see the arc without closing your lid.

DEMO

One lid, six ways to disappear.

A screen recording of the app running on real hardware — the lid closing and reopening, the menu bar readout following the sensor, each style picked from the menu.

Read the source →
Closing and reopening the lid, each effect style picked from the menu
SIX EFFECTS

Every style renders the desktop pixel-for-pixel at rest.

So the overlay never pops when it appears, and every style ends black so the display sleeps on a blank frame.

StyleWhat you seeBlur / dim
Duo DEFAULTThe desktop tilts around the hinge, expands toward you, softens and disappears.blur → 4 levels
dim .35 → .90
ShutterSix rigid panels slide down behind one another, with overlapping edges and contact shadows, until the stack rests on the hinge.sharp
dim .80 → 1.0
IrisEight dark blades close around the desktop with a restrained 35° mechanical twist, bevelled edges and seams.blur → 2 levels
dim .75 → 1.0
RollA roller rises from the hinge and the desktop winds down onto it like a retracting projector screen, shaded as a cylinder.sharp
dim .85 → 1.0
AccordionThe desktop pleats into horizontal folds that collapse toward the hinge, faces alternating light and dark with crease shadows.sharp
dim .80 → 1.0
FadeA plain black veil. Needs no screen capture. Used automatically with Reduce Motion enabled in Accessibility settings.no capture
HOW IT WORKS

Sensor to overlay, 30–120 times a second.

01 · SENSE
Lid sensor
ReferenceAngleTracker
LidProgressModel
CriticallyDampedFilter

IOKit HID feature report, polled 30–120 Hz. Movement beyond a dead zone becomes eased progress; whole-degree reports are smoothed without overshoot.

02 · CAPTURE
ScreenCaptureKit
FrameStore

Own process excluded, overlay window sharingType = none. One IOSurface-backed frame, wrapped as a Metal texture. Capture starts on the first degree of closing motion.

03 · RENDER
EffectCurves
FoldRenderer
OverlayWindow

A four-level blur pyramid and a projective fold composite, drawn into a borderless, click-through window on the built-in display only.

04 · RECOVER
idle → arming → ready → active

Any failure — sensor timeout, capture error, permission revoked, display change — tears the overlay down and restores the desktop. Emergency Stop (⌃⌥⌘F) works system-wide.

PRIVACY

Desktop frames never leave this Mac.

The latest captured frame lives in GPU memory only. Nothing is written to disk, uploaded, or analyzed.

HARDWARE

Apple silicon MacBook with the continuous lid-angle sensor. Macs that only expose an open/closed switch run in manual mode — the preview still works, automatic lid-following is disabled.

SOFTWARE

macOS 13 or newer. Xcode 16 or newer to build from source. Unit tests cover the geometry, progress mapping, sensor filter, reference tracking and the Metal pipeline.

PERMISSIONS

Screen Recording, requested on first launch. Keep the same signing identity between rebuilds, otherwise macOS forgets the grant.