- Fixed not working after sleep mode for some on Apple Silicon Not working after sleep mode #530 - Fixed some LG and Samsung displays having problems with Mute (improved 'Enable Mute DDC command') - LG Monitor: have to unmute manually after muting #170 - Fixed app not working with multiple identical monitors on Intel - App does not work with multiple identical monitors #49 - Added 'Safe Mode' option - pressing the Shift key during startup resets preferences and disables DDC read. - Upon first start if DDC is unreadable, default brightness/volume/contrast values are now set to a sensible 75% instead of 0% - DDC write commands are issued twice on Intel (as it already was on Arm64) to improve stability on some setups. - Make sure DDC communications don't happen in parallel when both slider menu and keyboard is used (this might have caused problems with some docks with multiple display outputs). - Fixed volume control feedback audio (clicking sound) during key repeat (it should play on keyup only as this is the macOS standard). - Fixed duplication of volume control feedback audio if there are multiple external displays and 'Change... for all screens' is enabled. - Internal DDC library for Intel (based on the work of reitermarkus) |
||
|---|---|---|
| .github | ||
| docs | ||
| MonitorControl | ||
| MonitorControl.xcodeproj | ||
| MonitorControlHelper | ||
| .bartycrouch.toml | ||
| .gitignore | ||
| .swift-version | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| License.txt | ||
| README.md | ||
MonitorControl - Now with Apple Silicon support!
Control your external display brightness and volume!
Use menulet sliders or the native Apple keyboard keys!
Shows native brightness and volume OSDs as well!

Download
Go to Releases and download the latest .dmg
Compatibility
- macOS Mojave (
10.14) and up (note: you can download version 2.1.0 for macOS Sierra10.12support) - Works with monitors controllable via DDC (or any other display via software dimming)
How to help
Open issues if you have a question, an enhancement to suggest or a bug you've found. If you want you can fork the code yourself and submit a pull request to improve the app.
How to build
Required
- Xcode
- Swiftlint
- SwiftFormat
- BartyCrouch (for updating localizations)
Clone the project via this Terminal command:
git clone https://github.com/MonitorControl/MonitorControl.git
If you want to clone one of the branches, add --single-branch --branch [branchname] after the clone option.
You're all set ! Now open the MonitorControl.xcodeproj with Xcode! The dependencies will automatically get downloaded once you open the project. If they don't:
File > Packages > Resolve Package Versions
(In earlier XCode versions Packages menu is titled Swift Packages)
Third party dependencies
Contributors
Thanks
- @bluejamesbond (original developer)
- @Tyilo (fork)
- @Bensge - (used some code from his project NativeDisplayBrightness)
- @nhurden (for the original MediaKeyTap)
- @kfix (for ddcctl)
- @reitermarkus (for DDC.Swift)
- @zhuowei (figured out M1 I²C communication)
- @tao-j (figured out M1 I²C write)
- @alin23 (generally spearheaded M1 DDC support and figured out a many of the caveats)
- javierocasio (app icon background)