Skip to content

Elmosius/BlackLid

Repository files navigation

BlackLid logo

Turn off your MacBook's built-in display while using an external monitor.

BlackLid menu showing the built-in display off and restore action

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.

What It Does

  • 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.

Current Status

The display-off path has passed a 5-cycle local stability test on the maintainer's Mac:

  1. disable built-in display
  2. verify it disappears from active and online display lists
  3. restore built-in display
  4. verify the saved baseline is restored

More machines and macOS versions still need testing before this should be treated as stable.

Requirements

  • macOS 13+
  • Xcode
  • A MacBook with a built-in display
  • At least one external monitor connected

Install

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:

  1. Unzip the download.
  2. Move BlackLid.app to /Applications.
  3. 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.app

Signed and notarized downloads will come after broader compatibility testing.

You can also build from source:

make build

For local tester packaging:

make package-alpha

See Docs/RELEASE.md for signed and notarized GitHub release steps.

Build

xcodebuild -project BlackLid.xcodeproj \
  -scheme BlackLid \
  -configuration Debug \
  -derivedDataPath /private/tmp/BlackLidDerivedData \
  build

Or use:

make build
make check

Usage

  1. Connect an external monitor.
  2. Launch BlackLid.
  3. Click the menu bar item.
  4. Choose Turn Off Built-in Display.
  5. Use Restore Built-in Display before disconnecting the external monitor or quitting.

For diagnostics:

  • Troubleshooting > Check Restore Status
  • Troubleshooting > Run 5-Cycle Safety Test
  • Troubleshooting > Use Compatibility Fallback
  • Troubleshooting > Show Technical Tools

Safety Notes

  • 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.

Project Structure

  • BlackLid/App: app entry point, menu bar controller, menu builder, preferences
  • BlackLid/Services: product support services and compatibility fallback
  • BlackLid/Experimental: private SkyLight display-off path and safety gates
  • BlackLid/Research: archived probes and research-only tools
  • BlackLid/Helpers: helper command-line tools bundled with the app
  • Assets: README images and BlackLid branding assets
  • Docs/Research: notes from display-off research

Contributing

Contributions are welcome, especially restore-safety reports across different MacBook models and macOS versions. See CONTRIBUTING.md.

License

MIT. See LICENSE.

Releases

Packages

Used by

Contributors

Languages