Skip to content

Repository files navigation

Lideflow - MAC

English | Simplified Chinese

Lideflow - MAC is an open-source hinge-driven transition app for Apple silicon MacBooks. It reads the built-in lid-angle sensor and applies perspective, progressive blur, dimming, and reveal effects to the current desktop as the display opens and closes. All image processing stays on the Mac.

Current version: 1.2.1. This is an experimental project. Hardware compatibility and lock-screen overlay behavior may vary by Mac model and macOS release.

Inspired by iPhone Duo

Apple introduced iPhone Duo on September 9, 2026. Its inner and outer displays use the same aspect ratio so content can scale proportionally as the device opens and closes. Apple's design guidance describes a continuous experience across both displays and device postures.

Lideflow - MAC is a MacBook interpretation of that motion language. iPhone Duo carries content between two displays; this project applies the same idea to one built-in MacBook display. The physical hinge angle drives perspective, blur, dimming, and the wake reveal so the software transition remains connected to the movement of the lid. The initial visual references were two community posts showing content continuity and the progressive opening blur.

Lideflow - MAC is an independent open-source experiment. It is not affiliated with, sponsored by, or endorsed by Apple Inc. It does not include Apple code, trademark artwork, system assets, or iPhone Duo product assets.

Features

  • Reads the MacBook hinge angle and ties the visual state to physical lid movement.
  • Renders perspective, progressive blur, and dimming with Metal.
  • Requests 60–120 Hz display callbacks in the ProMotion-focused mode.
  • Prewarms a desktop snapshot and reusable Metal resources to reduce first-frame latency.
  • Uses short-range angular-velocity prediction to compensate for low-rate sensor reports.
  • Includes Responsive, Gentle, and Cinematic visual presets.
  • Supports adjustable blur, dimming, perspective, trigger angle, and transition span.
  • Plays a reveal after wake or unlock.
  • Provides an experimental frosted lock-screen overlay and compositor-driven fade.
  • Runs from the menu bar and can start automatically at login.

Requirements

Item Requirement
Hardware Apple silicon MacBook with a readable built-in lid-angle sensor
Operating system macOS 14.0 or later
Permission Screen & System Audio Recording permission for desktop transitions
Building Xcode 16 or a later release with the Swift 6 toolchain

The project has been built and tested on an M4 Max MacBook Pro running macOS 26.6.2. Other models may expose a different HID report format. Compatibility reports and patches are welcome.

Install

  1. Open Releases and download Lideflow-MAC-v1.2.1.zip.
  2. Extract the archive and move Lideflow - MAC.app to Applications.
  3. Open the app and select Grant Screen Recording Access.
  4. Enable Lideflow - MAC in System Settings → Privacy & Security → Screen & System Audio Recording.
  5. Restart the app from Applications if macOS requests it.

The current release uses an ad-hoc signature and is not notarized with an Apple Developer ID. If Gatekeeper blocks the first launch, Control-click the app in Finder and choose Open, or build it from source.

Use

  1. Keep Enable Lid Effect and High Frame Rate Priority enabled.
  2. Run the full-screen opening preview to verify capture and rendering.
  3. Slowly close the display. Below the configured trigger angle, the desktop begins to recede, blur, and dim.
  4. Open the display again and the picture follows the lid back to its normal state.
  5. Close the settings window when finished. The app continues running in the menu bar.

High Frame Rate Priority holds the most recent desktop frame during the transition and spends GPU time on smooth geometry and blur updates. If the transition must show continuously changing desktop content, disable this option and enable live desktop updates in compatibility mode.

See the English user guide or Chinese user guide for detailed operation and troubleshooting.

Measured performance

On the M4 Max test machine, the full-screen sample recorded:

  • About 31 ms from request to the first visible sample frame.
  • 117.4 CADisplayLink callbacks per second over a continuous one-second interval.
  • Eight passing unit tests.

These measurements cover the app's rendering path. End-to-end physical behavior also depends on the hinge sensor report rate, system wake timing, and display hardware power-on timing.

Privacy and permissions

  • Screen recording permission is used only to obtain the current desktop image in memory.
  • Screen images are not saved or uploaded, and audio is not captured.
  • The app does not require an administrator password, Accessibility permission, or disabled SIP.
  • The lock-screen effect is a click-through decorative layer. It does not read password controls or take over keyboard and pointer input.

Known limitations

  • Only the built-in MacBook display is transformed. External displays remain unchanged.
  • The hinge HID report and lock-screen SkyLight bridge are not public APIs with long-term compatibility guarantees from Apple.
  • The lock-screen effect fades a frosted overlay; it does not capture or transform the password screen.
  • The app is not running before FileVault login and cannot affect that stage.
  • macOS suspends the app and animation after a full close enters hardware sleep.

Build from source

git clone https://github.com/wenqin1688/Lideflow-MAC.git
cd Lideflow-MAC
./build.sh

The script creates Lideflow - MAC.app beside the repository and applies an ad-hoc signature. To choose another output location:

LIDFLOW_APP_PATH="$PWD/Lideflow - MAC.app" ./build.sh

Test

swift test

The test suite covers opening curves, perspective matrices, fully-open alignment, spring convergence, blur bounds, and wake-event coalescing.

Project layout

Sources/LidAngleKit/     Hinge sensor access
Sources/MacDuo/          App, Metal renderer, capture, and lock-screen transition
Tests/                   Animation, geometry, and wake-event tests
Resources/               Application metadata
Tools/                   App icon build tool
docs/                    English and Chinese documentation

Contributing

Issues and pull requests are welcome, especially for sensor support across MacBook models, behavior across macOS releases, measured rendering performance, and accessibility improvements. Read CONTRIBUTING.md before submitting a change.

Include the Mac model, chip, macOS version, sensor status, and reproducible steps in bug reports. Do not attach screen captures or logs containing private information to public issues.

Open-source lineage

This project builds on the sensor, ScreenCaptureKit, and Metal work in Mac Duo, based on upstream commit e60f71bfc14aa54fc01bb5d672c50906140d4716. Mac Duo is Copyright 2026 Makito and licensed under Apache License 2.0.

The experimental lock-screen bridge is adapted from SkyLightWindow, Copyright 2025 Lakr Aream, under the MIT License. See LICENSE-SkyLightWindow.

See NOTICE for detailed attribution and modification notes.

License

Lideflow - MAC is distributed under the Apache License 2.0. You may use, modify, and redistribute it while following the license and NOTICE preservation requirements.

About

An iPhone Duo-inspired, hinge-driven transition app for Apple silicon MacBooks.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages