MonitorControl

๐Ÿ–ฅ Control your display's brightness & volume on your Mac as if it was a native Apple Display. Use Apple Keyboard keys or custom shortcuts. Shows the native macOS OSDs.

MIT License

Stars
26K
Committers
77

Bot releases are visible (Hide)

MonitorControl - MonitorControl v4.2.0 Latest Release

Published by JoniVR about 1 year ago

What's Changed

Improvements

Translations & other

New Contributors

Full Changelog: https://github.com/MonitorControl/MonitorControl/compare/v4.1.0...v4.2.0

MonitorControl - MonitorControl v4.1.0

Published by JoniVR over 2 years ago

What's Changed

Improvements

Build related changes

Translations

New Contributors

Full Changelog: https://github.com/MonitorControl/MonitorControl/compare/v4.0.2...v4.1.0

MonitorControl - MonitorControl v4.0.2

Published by JoniVR almost 3 years ago

This is a service release with some minor changes.

Improvements

  • Settings are now saved for virtual displays (Sidecar, DisplayLink etc.) as well.
  • Shorter wake wait times, removed "locked control" OSD sign.
  • Spanish translation - thanks to @OliverCG

Fixes

  • Menuless operation's Quit button location now matches the corresponding info text.

Notes

  • If you discover any problem, feel free to open an issue!
  • If you want to help translating, see #637
  • Thanks to everyone who helps make MonitorControl better!
MonitorControl - MonitorControl v4.0.1

Published by JoniVR almost 3 years ago

This is a service release to address some issues that came up after releasing v4.0.0

Improvements

  • Smoother sliders (asynchronous thread-safe debouncing DDC write)
  • Improved support for BetterDummy
  • Better support for common physical dummies identifying as 28E850
  • Inert dummy menu sliders are now hidden
  • Improved support for non-gamma->non-gamma mirroring scenarios
  • Add command + w key equivalent to "Preferences..." - thanks to @Takuro-Ito
  • Compiled to run on macOS 10.14 Mojave as well (use "as is", not supported by the dev team)

Fixes

  • Display properties reset turns off hardware DDC
  • Brief black screen upon changing space when using shade dimming
  • Text wrap problems on some languages
  • Issues with Italian and German translations - thanks to @jajoho and @marcofucito

Notes

  • If you discover issues, feel free to open an issue!
  • If you want to help translating, see #637
  • Thanks to everyone who helps make MonitorControl better!
MonitorControl - MonitorControl v4.0.0

Published by JoniVR almost 3 years ago

Enhancements

  • Automatic & manual updates through the app, no more manual downloads ๐ŸŽ‰
  • Moved 'Show advanced settings' under 'Displays'
  • Added proper support for controlling Apple displays.
  • Added option to show/hide brightness slider.
  • Added option to show brightness slider for internal display and apple displays (enabled by default).
  • Replication of built-in and Apple display brightness to corresponding brightness slider.
  • Added suffix to similarly named displays for better differentiation.
  • Option to disable slider snapping for finer control + disable slider snapping by default.
  • Added option to show slider tick marks for better accuracy.
  • Added option to use window focus instead of mouse to determine which display to control.
  • control + command + brightness now controls external displays only (control + Brightness continues to control internal display only)
  • Added separate tab for menu options.
  • Added option to restore last saved values upon startup.
  • Added option for audio device name matching for display volume control selection.
  • Separated option to change all screens for brightness and volume.
  • Added option for keyboard fine scale for brightness.
  • Added option for keyboard fine scale for volume.
  • Added version check upon startup for mandatory preferences reset upon downgrade or incompatible previous version + notification about this.
  • Added implementation for command + f1 macOS shortcut to enable/disable mirroring.
  • Added safer 'Assume last saved settings are valid' option as default instead of startup DDC read (or restore).
  • Streamlined preference panes, 'Show advanced settings' now affect all tabs. This leads to a better and safer first timer experience (especially because of the influx of many new features).
  • Added a Quit button to Preferences if menu is hidden (it was not passible to quit the application until this time in this mode only by re-enabling the menu).
  • Lowered default first-run volume DDC default from 75% to 15% if read is not possible or disabled to prevent unexpectedly loud sound.
  • Added slider skew setting on a per control basis to have the ability to manipulate DDC slider balance and OSD scale if display control is not linear.
  • Added the ability to set min. and max. DDC bounds on a per display, per control basis.
  • Audio device name override option for a display (manually assign a specific audio device to a display).
  • Advanced setting to invert DDC control range (some displays have the scale reversed).
  • Advanced setting to remap DDC control code (some displays have contrast and brightness mixed up).
  • Ability to mark a DDC control as available or unavailable in advanced settings under Displays.
  • Ability to automatically hide menu icon if there is no slider present in the menu.
  • Option to show slider percentage for more precision.
  • Option to set combined or separate OSD scale when combined hardware+software brightness is used.
  • Apple like smooth brightness change (both for software, hardware, mixed and DisplayServices).
  • Added support for DisplayLink, AirPlay, Sidecar, screen sharing etc. using window shades (this is an inferior technique to the existing software implementation - gamma control - but still better than nothing). Disabled for any kind of mirroring setups. [^1]
  • Brightness change synchronisation from Built-In and Apple displays to other displays. This makes Touch Bar, Ambient light sensor, Control Center and System Preferences induced changes affect all displays. Synchronisation uses a sophisticated indirect delta method + the user can intervene and adjust individual screen brightness at any time to easily compensate mismatching native brightness levels.
  • Preferences pane tab selector has a simpler look on Catalina.
  • All menu sliders are now scrollable using a magic mouse/trackpad swipes or mouse wheel.
  • Added option for menu to show only items that are relevant to display which shows the menu currently.
  • Added option to enable combined sliders (note: this option combined with enabled Apple/built-in display syncing and enabled 'change all' keyboard settings finally provides full synchronised control of all displays).
  • Combined sliders can now display multiple displays when keyboard and brightness syncing is not enabled. [^1]
  • Redesigned sliders to look like Big Sur/Monterey Control Center's sliders. [^1]
  • Quit and Preferences... are now icons for a much cleaner look. [^1]
  • Added option to change additional menu options style or hide them. [^1]
  • Multiple displays are now in nice Big Sur styled blocks - no more ugly separators. [^1]
  • Added customisable gamma/ddc switchover point for combined brightness in the advanced section of Displays.
  • Added comma separated list for control code override to enable edge cases like controlling Brightness and Contrast at the same time (use VCP list entry 10, 12 for that)
  • Contrast can now be controlled from keyboard via control + option + command + brightness up/down.
  • Custom keyboard shortcuts for brightness, contrast, volume and mute
  • Added Internet Access Policy
  • Added advanced option to enable zero brightness with software dimming.
  • Added command + q shortcut in menu when it is in standard text mode.
  • Rearranged Preferences to fit better on smaller screens in Advanced mode
  • Alert when repeated interference is detected with applications.
  • Added 'Avoid gamma table manipulation' option for peaceful coexistence with f.lux.

Other under the hood changes and bug fixes

  • Standardised internal scale among various displays and DDC ranges for ranged controls.
  • Uses the new internal scale for combined hardware-software brightness mode.
  • Improved settings reset functionality for virtual and Apple displays.
  • Migrated scales to internal float representation to prevent loss of fine detail on transformations.
  • Fixed double sound when muting multiple external displays at the same time.
  • Multiple attempts to write last DDC brightness and contrast settings after wake when 'Apply last saved settings' is enabled to make sure that slow displays are handled well
  • Fixed lack of initial volume configuration if slider is not shown in menu.
  • Fixed wrong settings being applied to a display when replaced on Apple Silicon (UserDefaults preferences are now tied to specific display strings instead of CGDirectDisplayID - which is no longer semi-unique on arm64).
  • A lot of refactoring, streamlining and general optimisations.

Thanks to all our translators

  • Chinese - thanks to @dev-coco, @anmoliyang
  • Chinese (Traditional, Taiwan) - thanks to @stiiveo, @dororojames, @kix99aug
  • Dutch - thanks to @JoniVR
  • French - thanks to @the0neyouseek
  • German - thanks to @jajoho, @curana
  • Hungarian - thanks to @waydabber
  • Italian - thanks to @picov
  • Korean - thanks to @zzulu
  • Turkish - thanks to @mennan, @ozkanozcan

Notes

  • If you discover issues, feel free to open an issue!
  • If you want to help translating, see #637
  • Special thanks to @waydabber on another fantastic job on this release!
  • Thanks to everyone who helps make MonitorControl better!

[^1]: Only on Big Sur and above

MonitorControl - MonitorControl v4.0.0-rc1

Published by JoniVR about 3 years ago

Full v4.0.0 Release Candidate release notes

Enhancements

  • Automatic & manual updates through the app, no more manual downloads ๐ŸŽ‰
  • Added proper support for controlling Apple displays.
  • Added option to show/hide brightness slider.
  • Added option to show brightness slider for internal display and apple displays (enabled by default).
  • Replication of built-in and Apple display brightness to corresponding brightness slider.
  • Added suffix to similarly named displays for better differentiation.
  • Option to disable slider snapping for finer control + disable slider snapping by default.
  • Added option to show slider tick marks for better accuracy.
  • Added option to use window focus instead of mouse to determine which display to control.
  • control + command + brightness now controls external displays only (control + Brightness continues to control internal display only)
  • Added separate tab for menu options.
  • Added option to restore last saved values upon startup.
  • Added option for audio device name matching for display volume control selection.
  • Separated option to change all screens for brightness and volume.
  • Added option for keyboard fine scale for brightness.
  • Added option for keyboard fine scale for volume.
  • Added version check upon startup for mandatory preferences reset upon downgrade or incompatible previous version + notification about this.
  • Added implementation for command + f1 macOS shortcut to enable/disable mirroring.
  • Added safer 'Assume last saved settings are valid' option as default instead of startup DDC read (or restore).
  • Streamlined preference panes, 'Show advanced settings' now affect all tabs. This leads to a better and safer first timer experience (especially because of the influx of many new features).
  • Added a Quit button to Preferences if menu is hidden (it was not passible to quit the application until this time in this mode only by re-enabling the menu).
  • Lowered default first-run volume DDC default from 75% to 15% if read is not possible or disabled to prevent unexpectedly loud sound.
  • Added slider skew setting on a per control basis to have the ability to manipulate DDC slider balance and OSD scale if display control is not linear.
  • Added the ability to set min. and max. DDC bounds on a per display, per control basis.
  • Audio device name override option for a display (manually assign a specific audio device to a display).
  • Advanced setting to invert DDC control range (some displays have the scale reversed).
  • Advanced setting to remap DDC control code (some displays have contrast and brightness mixed up).
  • Ability to mark a DDC control as available or unavailable in advanced settings under Displays.
  • Ability to automatically hide menu icon if there is no slider present in the menu.
  • Option to show slider percentage for more precision.
  • Option to set combined or separate OSD scale when combined hardware+software brightness is used.
  • Apple like smooth brightness change (both for software, hardware, mixed and DisplayServices).
  • Added support for DisplayLink, AirPlay, Sidecar, screen sharing etc. using window shades (this is an inferior technique to the existing software implementation - gamma control - but still better than nothing). Disabled for any kind of mirroring setups. [^1]
  • Brightness change synchronisation from Built-In and Apple displays to other displays. This makes Touch Bar, Ambient light sensor, Control Center and System Preferences induced changes affect all displays. Synchronisation uses a sophisticated indirect delta method + the user can intervene and adjust individual screen brightness at any time to easily compensate mismatching native brightness levels.
  • Preferences pane tab selector has a simpler look on Catalina.
  • All menu sliders are now scrollable using a magic mouse/trackpad swipes or mouse wheel.
  • Added option for menu to show only items that are relevant to display which shows the menu currently.
  • Added option to enable combined sliders (note: this option combined with enabled Apple/built-in display syncing and enabled 'change all' keyboard settings finally provides full synchronised control of all displays).
  • Combined sliders can now display multiple displays when keyboard and brightness syncing is not enabled. [^1]
  • Redesigned sliders to look like Big Sur/Monterey Control Center's sliders. [^1]
  • Quit and Preferences... are now icons for a much cleaner look. [^1]
  • Added option to change additional menu options style or hide them. [^1]
  • Multiple displays are now in nice Big Sur styled blocks - no more ugly separators. [^1]
  • Added customisable gamma/ddc switchover point for combined brightness in the advanced section of Displays.
  • Added comma separated list for control code override to enable edge cases like controlling Brightness and Contrast at the same time (use VCP list entry 10, 12 for that)
  • Contrast can now be controlled from keyboard via control + option + command + brightness up/down.
  • Custom keyboard shortcuts for brightness, contrast, volume and mute
  • Added Internet Access Policy
  • Added advanced option to enable zero brightness with software dimming.
  • Added command + q shortcut in menu when it is in standard text mode.
  • Rearranged Preferences to fit better on smaller screens in Advanced mode
  • Alert when repeated interference is detected with applications.
  • Added 'Avoid gamma table manipulation' option for peaceful coexistence with f.lux.

Other under the hood changes and bug fixes

  • Standardised internal scale among various displays and DDC ranges for ranged controls.
  • Uses the new internal scale for combined hardware-software brightness mode.
  • Migrated scales to internal float representation to prevent loss of fine detail on transformations.
  • Fixed double sound when muting multiple external displays at the same time.
  • Fixed lack of initial volume configuration if slider is not shown in menu.
  • Fixed wrong settings being applied to a display when replaced on Apple Silicon (UserDefaults preferences are now tied to specific display strings instead of CGDirectDisplayID - which is no longer semi-unique on arm64).
  • A lot of refactoring, streamlining and general optimisations.

Thanks to all our translators

  • Chinese - thanks to @dev-coco, @anmoliyang
  • Chinese (Traditional, Taiwan) - thanks to @stiiveo, @dororojames
  • Dutch - thanks to @JoniVR
  • French - thanks to @the0neyouseek
  • German - thanks to @jajoho, @curana
  • Hungarian - thanks to @waydabber
  • Italian - thanks to @picov
  • Korean - thanks to @zzulu
  • Turkish - thanks to @mennan, @ozkanozcan

Notes

  • This is a release candidate. If you encounter any issues, you can try the last stable release v3.1.1 or last beta release v4.0.0-beta2.
  • If you discover issues, make sure to report them in the linked release discussion.
  • If you want to help translating, see #637
  • Thanks to everyone who helps make MonitorControl better!

[^1]: Only on Big Sur and above

MonitorControl - MonitorControl v4.0.0-beta2

Published by JoniVR about 3 years ago

The new v4.0.0 version is already available as Release Candidate. We encourage you to try the new version instead of the beta version and give your feedback! You should download this older beta version only if you have issues with the Release Candidate!


Changes compared to v4.0.0-beta1:

Enhancements

  • Added Internet Access Policy
  • Don't relinquish control over brightness keys with no external display connected if fine brightness OSD scale is active
  • Changed icon order in menu (when icon mode is enabled)
  • Gear shape icon is used for preferences + stands a little bit apart to help user focus.
  • Changed default to a minimum software dimming of 15% for safety reasons.
  • Added advanced option to enable zero brightness with software dimming.
  • Added 'Avoid gamma table manipulation' option for coexistence with f.lux.
  • Set relevant options to disabled when keyboard control is disabled.
  • Added Command + Q shortcut in menu when it is in standard text mode (not icon mode).
  • Made preferences more spacious + more room for verbose languages

Updated translations:

  • English - base language
  • Chinese (Traditional, Taiwan) - thanks to @stiiveo, @dororojames
  • Dutch - thanks to @JoniVR
  • French - thanks to @the0neyouseek
  • German - thanks to @jajoho
  • Hungarian - thanks to @waydabber
  • Italian - thanks to @picov
  • Korean - thanks to @zzulu
  • Turkish - thanks to @mennan

Under the hood changes & fixes

  • Register DDC command touched status. When write on startup enabled, apply only touched command values.
  • Reorganised PrefKey list to be less confusing.
  • Disengage custom shortcut keyboard after 100 key repeat to prevent possibly endless loop if keyUp event never arrives due to any circumstance.
  • Fixed text for external display brightness control keyboard shortcut.
  • Fix cumulative darkening bug upon toggling 'Disable dimming as fallback'.
  • Make sure that key repeat speed for custom shortcuts do not go below a certain threshold.
  • Fixes text clipping issues for various languages
  • Added beta channel update backend
  • Fixed layout issue at brightness custom shortcuts.
  • Fixed custom key shortcuts going runaway when menu was opened during a key repeat streak.

Known issues

  • Some preference panes may not fit to low resolution screens (1280x800 or less) in Advanced mode.

Notes

  • This is a beta release. If you encounter any issues, you can try the last stable release v3.1.1 or the previous beta.
  • If you are new to v4.0.0, please take a look at the changelog of v4.0.0-beta1 for the list of major new features!
  • If you discover issues, make sure to report them in the linked release discussion or in a new issue.
  • If you want to help translating, see #637
  • Thanks to everyone who helps make MonitorControl better!
MonitorControl - MonitorControl v4.0.0-beta1

Published by JoniVR about 3 years ago

The new v4.0.0 version is already available as Release Candidate. We encourage you to try the new version instead of the beta version and give your feedback! You should download this older beta version only if you have issues with the Release Candidate!


Enhancements

  • Automatic & manual updates through the app, no more manual downloads ๐ŸŽ‰
  • Added proper support for controlling Apple displays.
  • Added option to show/hide brightness slider.
  • Added option to show brightness slider for internal display and apple displays (enabled by default).
  • Replication of built-in and Apple display brightness to corresponding brightness slider.
  • Added suffix to similarly named displays for better differentiation.
  • Option to disable slider snapping for finer control + disable slider snapping by default.
  • Added option to show slider tick marks for better accuracy.
  • Added option to use window focus instead of mouse to determine which display to control.
  • control + command + brightness now controls external displays only (control + Brightness continues to control internal display only)
  • Added separate tab for menu options.
  • Added option to restore last saved values upon startup.
  • Added option for audio device name matching for display volume control selection.
  • Separated option to change all screens for brightness and volume.
  • Added option for keyboard fine scale for brightness.
  • Added option for keyboard fine scale for volume.
  • Added version check upon startup for mandatory preferences reset upon downgrade or incompatible previous version + notification about this.
  • Added implementation for command + f1 macOS shortcut to enable/disable mirroring.
  • Added safer 'Assume last saved settings are valid' option as default instead of startup DDC read (or restore).
  • Streamlined preference panes, 'Show advanced settings' now affect all tabs. This leads to a better and safer first timer experience (especially because of the influx of many new features).
  • Added a Quit button to Preferences if menu is hidden (it was not passible to quit the application until this time in this mode only by re-enabling the menu).
  • Lowered default first-run volume DDC default from 75% to 15% if read is not possible or disabled to prevent unexpectedly loud sound.
  • Added slider skew setting on a per control basis to have the ability to manipulate DDC slider balance and OSD scale if display control is not linear.
  • Added the ability to set min. and max. DDC bounds on a per display, per control basis.
  • Audio device name override option for a display (manually assign a specific audio device to a display).
  • Advanced setting to invert DDC control range (some displays have the scale reversed).
  • Advanced setting to remap DDC control code (some displays have contrast and brightness mixed up).
  • Ability to mark a DDC control as available or unavailable in advanced settings under Displays.
  • Ability to automatically hide menu icon if there is no slider present in the menu.
  • Option to show slider percentage for more precision.
  • Option to set combined or separate OSD scale when combined hardware+software brightness is used.
  • Apple like smooth brightness change (both for software, hardware, mixed and DisplayServices).
  • Added support for DisplayLink, AirPlay, Sidecar, screen sharing etc. using window shades (this is an inferior technique to the existing software implementation - gamma control - but still better than nothing). Disabled for any kind of mirroring setups. [^1]
  • Brightness change synchronisation from Built-In and Apple displays to other displays. This makes Touch Bar, Ambient light sensor, Control Center and System Preferences induced changes affect all displays. Synchronisation uses a sophisticated indirect delta method + the user can intervene and adjust individual screen brightness at any time to easily compensate mismatching native brightness levels.
  • Preferences pane tab selector has a simpler look on Catalina.
  • All menu sliders are now scrollable using a magic mouse/trackpad swipes or mouse wheel.
  • Added option for menu to show only items that are relevant to display which shows the menu currently.
  • Added option to enable combined sliders (note: this option combined with enabled Apple/built-in display syncing and enabled 'change all' keyboard settings finally provides full synchronised control of all displays).
  • Combined sliders can now display multiple displays when keyboard and brightness syncing is not enabled. [^1]
  • Redesigned sliders to look like Big Sur/Monterey Control Center's sliders. [^1]
  • Quit and Preferences... are now icons for a much cleaner look. [^1]
  • Added option to change additional menu options style or hide them. [^1]
  • Multiple displays are now in nice Big Sur styled blocks - no more ugly separators. [^1]
  • Added customisable gamma/ddc switchover point for combined brightness in the advanced section of Displays.
  • Added comma separated list for control code override to enable edge cases like controlling Brightness and Contrast at the same time (use VCP list entry 10, 12 for that)
  • Contrast can now be controlled from keyboard via control + option + command + brightness up/down.
  • Custom keyboard shortcuts for brightness, contrast, volume and mute

Other under the hood changes and bug fixes

  • Standardised internal scale among various displays and DDC ranges for ranged controls.
  • Uses the new internal scale for combined hardware-software brightness mode.
  • Migrated scales to internal float representation to prevent loss of fine detail on transformations.
  • Fixed double sound when muting multiple external displays at the same time.
  • Fixed lack of initial volume configuration if slider is not shown in menu.
  • Fixed wrong settings being applied to a display when replaced on Apple Silicon (UserDefaults preferences are now tied to specific display strings instead of CGDirectDisplayID - which is no longer semi-unique on arm64).
  • A lot of refactoring, streamlining and general optimisations.

Known issues with this release

Note: these issues are already fixed in the master branch and will be fixed in the upcoming version.

  • Translations to languages other than English are incomplete.
  • Displays tab in Preferences might have graphical corruptions with certain languages.
  • Custom brightness shortcut record intrface may appear misaligned.
  • 'Quit application' button has wrong spelling when the Quit menu option is not visible.
  • Register DDC command touched status. When write on startup enabled, apply only touched command values.
    Disengage custom shortcut keyboard after 100 key repeat to prevent possibly endless loop if keyUp event never arrives due to any circumstance.
  • External display brightness control keyboard shortcut is incorrectly displayed as control+option+brightness key instead of control+command+ brightness key.
  • Cumulative darkening happens when toggling 'Disable dimming as fallback' if software dimming is engage. You need to restart the app to rectify this.
  • Custom key shortcuts may go runaway when menu is opened during a custom shortcut key-repeat streak.
  • When Apply last saved values to the display is enabled, a DDC contrast of 100% will be applied erroneously if the user never changed the contrast setting before.

Notes

  • This is a beta release. If you encounter any issues, you can try the last stable release v3.1.1.
  • Once again, @waydabber did a fantastic job on this release!
  • Because of the sheer size of the update, translations need to be updated again, please help out here if you can!
  • If you discover issues, make sure to report them in the linked release discussion.
  • Happy testing ๐Ÿ˜„

[^1]: Only on Big Sur and above

MonitorControl - MonitorControl v3.1.1

Published by JoniVR about 3 years ago

The new v4.0.0 version is available with a huge amount of new features. We encourage you to try the new version instead of this one and give your feedback! Thank you!

Bug fixes

  • Change Alternate brightness keys setting default to true for new users. (#624)
  • Note: If you're an existing user using MX Keys or any other keyboard where brightness keys stopped working after v3.1.0, enable the Enable F14 / 15 keys for Brightness Control setting in the General Preferences tab.

Notes

  • Thanks to everyone who helped testing, contributed and donated! It really helps a lot!
MonitorControl - MonitorControl v3.1.0

Published by JoniVR about 3 years ago

Enhancements

  • Add a setting to control the function of F14 / F15 keys, this defines if they should be used as alternate brightness keys or not (Thanks to @vtns, @koyama-tadayoshi) (#602)
  • Updated/Added French, Italian, Japanese, German, Chinese, Dutch translations
    (Thanks to @matteo-pupa, @Xilorole, @kaeferfreund, @womeimingzi11, @stijneikelboom, @ww24)

Notes

  • This is a smaller, stable release, v4.0.0 is already in development (see #596), with another huge amount of features. We're going to be starting another round of beta releases in the future to make sure v4.0.0 is stable and easy-to-use before fully releasing it.
  • Thanks to everyone who helped testing, contributed and donated! It really helps a lot!
MonitorControl - MonitorControl v3.0.0

Published by JoniVR about 3 years ago

Full release notes for 3.0.0

Enhancements

  • Added support for Apple Silicon
  • Updated application icon.
  • Replaced menu bar slider titles with icons (only on macOS Big Sur and above).
  • New Big Sur style menu on Big Sur and above
  • Added an "About" tab.
  • New "Displays" tab in preferences (this combines the functions of the old "Display" and "Advanced" tab).
  • Enable software dimming if required, this is enabled by default.
  • Hide OSD function hides the mac volume OSD instead of trying to suppress LG display overlay.
  • Show an OSD lock symbol when keyboard change is not allowed for a few seconds after sleep or display reconfiguration.
  • Keyboard controls now works when menu is open.
  • Active screen is now determined solely by the location of the mouse cursor (no need to click or anything). This also solves the issue regarding full screen apps which in the past resulted in the wrong screen being detected as active.
  • Added "Enable Mute DDC command" to handle displays that do or do not support this command (Thanks to @robertbressi)
  • In Settings/Display the 'DDC' checkbox can now be unchecked - this combined with 'Enable software control...' will let misbehaving displays be controlled via software dimming. This might also be a better alternative for OLED or microLED displays.
  • Full compatibility with custom expert ColorSync Display Calibration Profiles.
  • Subtle OSD effect when using 'Further lower brightness via software shading'
  • Upon configuration change, when previously saved software dimming values are restored, a subtle OSD effect will give a hint to the user that MonitorControl is doing this.
  • Upon configuration change, restoring software dimming is smoothed out to be less disruptive.
  • Moved "Change Brightness/Volume for all screens" under Keyboard in Settings.
  • Added software darkening option in place of โ€˜lower contrast after brightnessโ€™.
  • Added software brightness control as a fallback if DDC is not available.
  • Added Hide Menu Icon option.
  • Displays that has mirrored screens are controlled along with mirror master.
  • OSD is shown on the mirror master screen when a controllable display is shadowed by an uncontrollable display.
  • Display naming reflects mirroring better.
  • Better handling of rapid configuration changes (when user closes/opens lid or plugs in and out displays rapidly).
  • Submenu mode looks better now and is activated only with 3 or more displays.
  • Proper support for (future) Apple Silicon Macs with multiple external display support.
  • Better handling of runtime changes in display configuration.
  • Added option to disable volume slider.
  • DisplayServices framework bridging instead of existing Swift workaround.
  • Major refactoring, moved most arm64 related stuff to a single self-contained utility class.
  • Lazy display update (upon configuration changes the OS sent 4-8 notifications to the app which made updating the display configuration costly - the app now waits 2 seconds until things settle).
  • Better handling of mirrors (displays that are mirror targets are now detected by the app).
  • Fixed Display and system sleep issues.
  • MonitorControl now disengages from media keys when there is no external display connected.
  • Better handling of virtual screens (AirPlay, Sidecar).
  • Display naming changes (now consistent with System Preferences).
  • Detection and blocking of M1 Mac Mini (Macmini9,1) HDMI port to prevent issues.
  • Updated/Added Russian, Chinese-Simplified, Chinese-Taiwan, Dutch, German, Polish, Spanish, Turkish, Polish, Hungarian and Korean localisations
    (Thanks to everyone helping to translate!)

Bug Fixes

  • Fixed Intel DDC Swift optimisation issue (#562)
  • Fixed not working after sleep mode for some on Apple Silicon (#530)
  • Fixed some LG and Samsung displays having problems with Mute (improved 'Enable Mute DDC command') - (#170)
  • Fixed app not working with multiple identical monitors on Intel (#49)
  • Fix to 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.

Notes

  • We're still looking for some updated translations, if you can help out, please do!
  • Thanks to everyone who helped testing, contributed and donated! It really helps a lot!
  • Special thanks to @waydabber for making this absolutely amazing release happen! ๐Ÿ”ฅ ๐Ÿ”ฅ ๐Ÿš€
MonitorControl - MonitorControl v2.1.0

Published by JoniVR about 4 years ago

What's new

  • Added open sound/brightness preferences from media keys using option + volume/brightness key. (Thanks to @paphonb) (#168)
  • Added None option to keys to listen for preference. This will also disable the permission prompt on every launch. (#237)
  • Added Japanese translation. (Thanks to @Takuro-Ito) (#200)

Bug fixes

  • Fixed non-standard volume/brightness scales not working properly. (Thanks to @victorchabbert) (#245)
  • Fixed MonitorControl shortcuts not working in certain situations, for example when the internal display was focussed or during mirrored display mode. (#237)
  • Improved string consistency. (Thanks to @tgz) (#263)

Apple Silicon support

For Apple Silicon support, check out the newer releases. This version is the last Intel only release, with support for MacOS Sierra and High Sierra.

MonitorControl - MonitorControl v2.0.0

Published by JoniVR over 4 years ago

With v2.0.0 the biggest new feature is support for controlling internal displays!
Some parts of the underlying codebase had to be rewritten for this.

What's new

  • Added support for using ctrl + brightness keys for controlling internal display only. (#175)
  • Internal display will now show in the displays list and will respect the enabled setting. You can control its brightness together with your external displays. (#175)
  • Updated Chinese (simplified) translation. (Thanks to @womeimingzi11) (#155)

Bug fixes

  • Fixed Issue detecting the output device (#187)
  • Fixed keyRepeatTimer issue with multiple displays while holding down a MediaKey (#175)
MonitorControl - MonitorControl v1.7.1

Published by JoniVR almost 5 years ago

What's new

  • Performance enhancements for media key shortcuts, repeated keys (Thanks to @scorpiondev) #134
  • Improved handling of OSD chicklet filling for more consistency. (Thanks to @scorpiondev) #116
  • Added Russian translation. (Thanks to @Toxblh) #126
  • Updated Ukrainian translation. (Thanks to @kikiwora) #138
  • Updated German translation. (Thanks to @FabioTacke) #144

Bug fixes

  • Fixed issue where using the "true" mute command on unsupported monitors would cause the mute/unmute key to do nothing. (Thanks to @scorpiondev) #116
  • Fixed issue where โ€œ0โ€ chiclets would be shown when the step value was less than the value of one filled chiclet but greater than 0. (Thanks to @scorpiondev) #116
  • Fixed contrast after brightness not working properly (Thanks to @scorpiondev) #133
  • Fixed Italian translation not working. #146
MonitorControl - MonitorControl v1.7.0

Published by JoniVR about 5 years ago

What's new

  • Added Advanced Preferences panel #97
    • See the Wiki for more info
  • Added Chinese Simplified translation (thanks to @womeimingzi11) #104
  • Added Italian translation (thanks to @picov) #115

Bug fixes

MonitorControl - MonitorControl v1.6.0

Published by the0neyouseek over 5 years ago

What's new

  • Improved permission handling #77
  • Added Ukrainian translation (thanks to @kikiwora) #103
  • Handle smaller increments with shift + alt modifiers

Bug fixes

  • Mute now uses ddc mute command instead of setting volume to zero #96
  • Builtin displays should now correctly appear as disabled
MonitorControl - MonitorControl v1.5.2

Published by the0neyouseek over 5 years ago

What's new

  • Added vendor and model to display list
  • Add "Display Name" to the display list to customize the name in the interface (double click on the cell to edit) #89 (Thanks @JTango18)
  • The maximum value can now differ from 100 for brightness, volume and contrast
  • Add sound feedback (if enabled in system prefs) #91
  • Decreased amount of polling to reduce CPU usage

Bug fixes

  • Updated DDC.swift (should fix some issue with monitor not detected)
  • Fix for some translations
MonitorControl - MonitorControl v1.5.0

Published by reitermarkus over 5 years ago

What's new

  • Added German translation ๐Ÿ‡ฉ๐Ÿ‡ช
  • The menu layout as been simplified
  • Better support for the LG Ultrawide display (LG 38UC99-W)
    • Use a longer delay
    • Hide the display's built-in OSD

Bug fixes

  • Fixed the launch at login helper.
MonitorControl - MonitorControl v1.4.0

Published by the0neyouseek over 5 years ago

What's new

  • Big update thanks to @JoniVR & @reitermarkus
  • Migration to Swift 5
  • Updated MediaKeyTap from upstream
  • See the commit history for more infos

โš ๏ธ Warning โš ๏ธ

I've got no time at all to work and maintain this project but I'm open to pull request and will make a new release from time to time if required.

Installation

Open the .dmg file and drop MonitorControl into your Applications folder. Launch by double clicking on the app.

MonitorControl - MonitorControl v1.3.0

Published by the0neyouseek over 6 years ago

What's new

  • Function keys should work correctly now (fixed by @reitermarkus)

Installation

Open the .dmg file and drop MonitorControl into your Applications folder. Launch by double clicking on the app.