Adjust your external monitors' built-in controls from the OSX shell:
- brightness
- contrast
And possibly (if your monitor firmware is well implemented):
- input source
- built-in speaker volume
- on/off/standby
Code adapted from DDC Panel and DDC-CI-Tools-for-OS-X.
Also see BrightnessMenulet, a nice StatusBar slider.
For more info on the DDC protocol, read HDMI – Hacking Displays Made Interesting
make install
Run ddcctl -h
for some options.
ddcctl.sh is a script I use to control two PC monitors plugged into my Mac Mini.
You can point Alfred, ControlPlane, or Karabiner at it to quickly switch presets.
ddcctl
gets a lot of bug reports for stuff that can't be remotely debugged or fixed.
Here are the three main issues I will close out-of-hand:
YOUR PC MONITOR MAY SUCK AT DDC
The DDC standard is very loosely implemented by monitor manufacturers beyond sleeping the display.
- This is because Windows doesn't use brightness sensors to dim screens like OSX does —via USB, not DDC!
- Adjusting brightness, contrast, and super-awesome-multimedia-frobber-mode may not be possible.
YOUR MAC MIGHT CRASH when ddcctl
changes monitor settings.
ddcctl
makes blocking I2C ioctl's to the OSX kernel.
- Don't file an issue if does, I can't debug OSX kernels and display drivers.
- And don't test this out with a bunch of unsaved work open.
YOUR MONITOR MIGHT FREEZE when making settings, especially the non-brightness/contrast ones.
- Again, don't file an issue. Power cycle the monitor.
- You just have to trial-and-error what works for your hardware.
VGA cables seem to wreak havoc with DDC comms.
Use DVI/DisplayPort/Thunderbolt if you can.