Skip to content

About

Turn your MacBook's internal display off while an external monitor is connected

Topics

Resources

Security policy

Stars

47 stars

Watchers

1 watching

Forks

Repository files navigation

SoloDisplay

Turn off the internal display without closing the lid
solodisplay.app

CI Test coverage Release License: GPL-3.0 Platform

The SoloDisplay menu bar panel, with All Monitors and External Only

Windows has External Display only mode, macOS does not have this, this little app adds that functionality. SoloDisplay actually turns the internal panel off when an external monitor is connected. Simple as that.

Installation

Download the macOS app

or

brew install --cask fanckush/solodisplay/solodisplay

Either way, the app checks for new versions itself. You can also use Check for Updates… in the menu.

Usage

There are two choices:

  • All Monitors keeps your laptop screen on.
  • External Only turns it off whenever a monitor is connected, and back on when you unplug.

Brightness Keys Brightness follows your cursor. The brightness keys change whichever screen the cursor is on: point at your monitor to adjust it, or at the laptop screen to adjust that. Works on monitors that support DDC and needs Accessibility permission.

Sharp Text macOS only uses HiDPI on 4K monitors, so a 1440p monitor running at 1080p gets blurry text. Sharp Text turns on HiDPI for any monitor, so text stays crisp at the resolution you picked.

Input Detection (Experimental) It detects monitor input changes and internally turns off a monitor showing another computer.

Shortcuts and Spotlight "Toggle Arrangement" and "Set Arrangement" are available in the Shortcuts app and Spotlight. Add one to a shortcut and give it a keyboard shortcut to switch modes from the keyboard.

Build from source

Requires Xcode with Swift 6.3. The app runs on macOS 15+ on Apple Silicon. The Swift package has no external dependencies. The app adds Sparkle for updates, which Xcode fetches on first build.

swift build
swift test
swift run solodisplay-lab observe   # read-only; reports displays/session/lid state
swift run solodisplay-lab modes     # read-only; whether each monitor can render its size at 2x

open SoloDisplay.xcodeproj           # Scheme "SoloDisplay" then Run

Account-independent app tests (ad-hoc signed):

xcodebuild -project SoloDisplay.xcodeproj -scheme SoloDisplay -configuration Debug \
  -destination 'platform=macOS,arch=arm64' -derivedDataPath DerivedData \
  CODE_SIGN_IDENTITY=- CODE_SIGN_STYLE=Manual DEVELOPMENT_TEAM= \
  test -only-testing:SoloDisplayTests

Support

SoloDisplay is free. If it's useful to you, you can support it on GitHub Sponsors.

Credits

License

GPL-3.0-or-later. SoloDisplay is free and open. If you distribute a modified version, it has to stay free and open too.

About

Turn your MacBook's internal display off while an external monitor is connected

Topics

Resources

Security policy

Stars

47 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages