- Fix naming of wakeNotification()
- Fix for failing to update Advanced Settings checkbox on Preferences Reset.
- Better handling of known dummy displays.
- Small change of wording under Displays to reflect the fact that software dimming is not always gamma now
- Fixed an unneeded box control title leaking into localization files.
- Updated Italian Localization - thanks to @picov
- Fix: virtual displays are now properly ignored in gamma interference detection.
- Fix for too long display names looking bad in menu
- Fix for log errors about unneeded missing outlet connection errors
- Improved reset for virtual and Apple displays.
- Fixed menu showing blank space for display with no controls.
- Made brightness availability changeable for built-in and virtual displays.
- Updated french localization - thanks to @the0neyouseek
- Software brightness changes are reapplied upon startup when 'Apply last saved values to the display' is selected under 'Upon startup or wake'.
- On some rare occasions, macOS does not reset gamma tables upon display reconfiguration which caused an erroneus baseline and double dimming in software and combined mode. Now there is a manual reset upon receiving a reconfiguration request as a safety measure to avoid this.
- Some minor tweaks regarding how software dimming and gamma table manipulation behaves.
- (also I fixed my name in About.)
- Added Check for Updates to About
- Removed untranslated languages (as we promised for final release)
- Enabled Javascript for Sparkle release notes
- os_log levels were all over the place, changed all to .info
- Keyboard preferences still did not fit to a 1280x800 screen if custom shortcuts were enabled. I did some redesign to fix that.
- Updated dutch translation
* Compile three DDC startup options into one popup menu.
* Combine multiple displays radio buttons into a popup menu
* Changed record shortcut box to a more logical layout + needs less space
* Further tweaks in keyboard preferences pane
* Update Chinese (Traditional, Taiwan) translation.
* Translate strings in Main.strings to Chinese (Traditional, Taiwan) and tweak translations in Localizable.strings.
* Make the translation (Traditional Chinese, Taiwan) more concise and easier to read.
- Reorganized 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.
- Don't relinquish control over brightness keys with no external display connected if fine brightness OSD scale is active
- Register DDC command touched status. When write on startup enabled, apply only touched command values.
- Fixed custom key shortcuts going runaway when menu was opened during a keyrepeat streak.
* Change icon order
* Added option for minimum brightness, fixed text for external display brightness control (+ updated all translations)
* Fix cumulative darkening issue upon toggling Disable dimming as fallback when software brightness is not 100%
* Further improvement.
* New 'Avoid gammatable manipulation' option for coexistence with f.lux in software mode.
* Fix some translation errors
* Fix signing
* Make sure that key repeat speed for custom shortcuts do not go below a certain threshold.
- Fixes clipping English text when gamma control is forced.
- Fixes clipping view in Displays with Chinese text.
- 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).
- Gearshape icon is used for preferences + stands a little bit apart to help user focus.
- Make preferences more spacious + more room for verbose languages
- Fixed dutch version clipping issues
- Added beta channel update backend
* Update Chinese (Traditional, Taiwan) translation.
* Translate strings in Main.strings to Chinese (Traditional, Taiwan) and tweak translations in Localizable.strings.
* Make the translation (Traditional Chinese, Taiwan) more concise and easier to read.
* Update Chinese (Traditional, Taiwan) translation.
* Translate strings in Main.strings to Chinese (Traditional, Taiwan) and tweak translations in Localizable.strings.
### Added/improved functionality
- 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.
- Ctrl+Command+Brightness now controls external displays only (Ctrl+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. _(Only on Big Sur and above)_
- 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. _(Only on Big Sur and above)_
- Redesigned sliders to look like Big Sur/Monterey Control Center's sliders. _(Only on Big Sur and above)_
- Quit and Preferences... are now icons for a much cleaner look. _(Only on Big Sur and above)_
- Added option to change additional menu options style or hide them. _(Only on Big Sur and above)_
- Multiple displays are now in nice Big Sur styled blocks - no more ugly separators. _(Only on Big Sur and above)_
- 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 <kbd>control</kbd> + <kbd>option</kbd> + <kbd>command</kbd> + brightness up/down.
- Custom keyboard shortcuts for brightness, contrast, volume and mute
- Added automatic update.
### 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.