Turn off the internal display without closing the lid
solodisplay.app
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.
or
brew install --cask fanckush/solodisplay/solodisplayEither way, the app checks for new versions itself. You can also use Check for Updates… in the menu.
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.
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 RunAccount-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:SoloDisplayTestsSoloDisplay is free. If it's useful to you, you can support it on GitHub Sponsors.
- RonaldPark89/InternalDisplayOff, reference for the disable technique.
- BetterDisplay, prior art that proved the feature is possible.
GPL-3.0-or-later. SoloDisplay is free and open. If you distribute a modified version, it has to stay free and open too.
