Turn off your MacBook's built-in display while using an external monitor.
Built-in display off, external monitor still active.
BlackLid is a tiny macOS menu bar app for using an external monitor while keeping the built-in MacBook display out of the way, without closing the lid.
It is a simple, focused, open-source alternative to the blackout/display-off slice of tools like BetterDisplay. It is not a full display manager.
BlackLid is experimental. The current display-off path uses private macOS SkyLight symbols resolved at runtime. It is intended for source-first testing and is not App Store ready.
- Adds a menu bar item with one main action:
Turn Off Built-in Display. - Requires an external monitor before disabling the built-in display.
- Saves a normal extended-display baseline automatically when safe.
- Disables the built-in display with the tested SkyLight path:
SLSConfigureDisplayEnabled(false)+SLSCompleteDisplayConfigurationWithOption(config, 0). - Restores the built-in display with
Restore Built-in Display. - Keeps compatibility and research tools hidden under
Troubleshooting.
The display-off path has passed a 5-cycle local stability test on the maintainer's Mac:
- disable built-in display
- verify it disappears from active and online display lists
- restore built-in display
- verify the saved baseline is restored
More machines and macOS versions still need testing before this should be treated as stable.
- macOS 13+
- Xcode
- A MacBook with a built-in display
- At least one external monitor connected
BlackLid is preparing for a source-first alpha release. The recommended public channel is GitHub Releases, not the Mac App Store.
For the current alpha:
- App version:
0.1.0 - GitHub prerelease tag:
v0.1.0-alpha.2 - Build number:
2
Download the latest alpha from GitHub Releases:
Then:
- Unzip the download.
- Move
BlackLid.appto/Applications. - Launch BlackLid from
/Applications.
This alpha is not notarized yet. If macOS shows "BlackLid" Not Opened, click Done, then open System Settings > Privacy & Security and choose Open Anyway for BlackLid. You can also Control-click BlackLid.app and choose Open on some macOS versions.
For local testing only, you can remove Gatekeeper quarantine manually:
xattr -dr com.apple.quarantine /Applications/BlackLid.app
open /Applications/BlackLid.appSigned and notarized downloads will come after broader compatibility testing.
You can also build from source:
make buildFor local tester packaging:
make package-alphaSee Docs/RELEASE.md for signed and notarized GitHub release steps.
xcodebuild -project BlackLid.xcodeproj \
-scheme BlackLid \
-configuration Debug \
-derivedDataPath /private/tmp/BlackLidDerivedData \
buildOr use:
make build
make check- Connect an external monitor.
- Launch BlackLid.
- Click the menu bar item.
- Choose
Turn Off Built-in Display. - Use
Restore Built-in Displaybefore disconnecting the external monitor or quitting.
For diagnostics:
Troubleshooting > Check Restore StatusTroubleshooting > Run 5-Cycle Safety TestTroubleshooting > Use Compatibility FallbackTroubleshooting > Show Technical Tools
- BlackLid does not call
CGXSetDisplaySet,CGXShutdownDisplays, or power/shutdown APIs. - Private APIs can change across macOS releases.
- If restore fails, keep the external monitor connected and use
Restore Built-in Display. - Read Docs/SAFETY.md before trying this on a new machine.
BlackLid/App: app entry point, menu bar controller, menu builder, preferencesBlackLid/Services: product support services and compatibility fallbackBlackLid/Experimental: private SkyLight display-off path and safety gatesBlackLid/Research: archived probes and research-only toolsBlackLid/Helpers: helper command-line tools bundled with the appAssets: README images and BlackLid branding assetsDocs/Research: notes from display-off research
Contributions are welcome, especially restore-safety reports across different MacBook models and macOS versions. See CONTRIBUTING.md.
MIT. See LICENSE.
