Automatically dim your MacBook display when an external monitor connects.
DockDim is a tiny macOS menu bar app that automatically sets the MacBook's built-in display brightness to zero when an external display connects. It restores the previous brightness when the external display disconnects.
DockDim does not remove the built-in display from macOS, so window positions and display arrangements stay unchanged. It requires no Accessibility or Screen Recording permission.
- Detects HDMI, DisplayPort, USB-C, and other online external displays.
- Supports both extended-desktop and display-mirroring configurations.
- Saves the current built-in display brightness before dimming.
- Restores the saved brightness when the external display disconnects, auto-dim is disabled, or DockDim quits.
- Reacts only to app launch, display configuration changes, and system wake events. It does not poll continuously.
- Provides menu bar controls for auto-dim, dim now, restore, and launch at login.
DockDim controls only the built-in display backlight. The display remains logically active in macOS, so windows and the pointer can still move onto it. If you need macOS to remove the built-in display entirely, see the alternatives below.
- macOS 13 Ventura or later
- Apple Silicon MacBook (M1 or later)
- Xcode Command Line Tools only when building from source
DockDim dynamically loads the private macOS DisplayServices brightness API. This is the same underlying brightness mechanism used by several established display utilities, but a future macOS update could change it.
- Download and unzip
DockDim-1.2.0.zip. - Move
DockDim.appinto the Applications folder. - On first launch, Control-click the app and choose Open.
- Click the DockDim icon in the menu bar and enable Launch at Login if desired.
DockDim is ad-hoc signed but not notarized. macOS may block a normal double-click on first launch; Control-clicking and choosing Open lets you confirm that you want to run it.
cd DockDim
zsh Scripts/build-app.sh
open "dist/DockDim.app"The build script produces:
dist/DockDim.appdist/DockDim-1.2.0.zip
zsh Scripts/build-app.sh
"dist/DockDim.app/Contents/MacOS/DockDim" --self-test
"dist/DockDim.app/Contents/MacOS/DockDim" --diagnoseDiagnostics only read display state and brightness. They never change brightness.
DockDim has no analytics, networking, accounts, or data collection. It runs locally and only observes display configuration and wake events.
- ExternalDisplayOnly: automatically soft-disconnects the built-in display when a wired external display connects.
- InternalDisplayOff: disables the built-in display at the system level from a menu or shortcut.
- Lunar: a comprehensive display manager with Auto Blackout.
- MonitorControl: a free, open-source external brightness and volume controller.
DockDim is deliberately narrower: it only dims and restores the MacBook's physical backlight.
If automatic restoration fails, press the MacBook brightness-up key (F2 or fn+F2). You can also choose Disable Auto-Dim and Restore from DockDim's menu or quit the app.
MIT