Skip to content

Releases: waydabber/BetterDisplay

v2.3.4

27 May 09:55
5948d56
Compare
Choose a tag to compare
App icon

About this version

This update contains various enhancements and important bug fixes.

As a major new feature, display groups now have layout protection. Layout protections lets you define the position of a display relative to an other display (multiple displays can be chained up). Instead of using fixed coordinates, displays are lined up at anchor points which makes it possible for the arrangement to adapt even when resolutions change or new displays are added and removed. The feature works best with UI scale matching enabled - this way you can line up your displays in a way that the mouse and windows seamlessly and naturally move among multiple displays.

Enhancements

  • Display layout protection to Display Groups - #1836
  • Add option only synchronize brightness changes triggered externally - #2969
  • Add option to reapply DDC settings on wake for displays that forget DDC settings - #2962
  • Add advanced option to override configuration delay - #2976
  • Add advanced option to override wake delay - #2977
  • Quick mode-switch for Intel - #2998
  • Add option to skip checksum validation during DDC read (this helps with some displays) - #2990
  • Enhance slider based resolution change with combined UI sync and layout protection + fade control (for Intel) - #3002
  • On-screen marker for layout protection anchor offset configuration - #3007

Fixed

  • Long press resolution slider favorite selection cycle might be triggered inadvertently - #2954
  • App changes the brightness level of Apple displays on first start or when a display is newly detected - #2964
  • Display list is not updated under Settings/Groups upon configuration change when that tab is open - #2971
  • Entering clamshell mode reduces the brightness of external screens unexpectedly when brightness syncing is on with syncing external changes is enabled and auto brightness is also enabled - #2970
  • When Fully dim display on disconnect is enabled for Intel, the full dimming on disconnect can sync to other displays as well - #2972
  • Delta syncing skips some steps when syncing externally induced brightness changes on Apple displays - #2973
  • EDR is not turned off in some scenarios when it should be turned off with Continuous XDR upscaling readiness set to disabled - #2974
  • The Invert Colors option does not fully reset on Reset Color Adjustments - #2993
  • Disconnected Sidecar display turns up as a third party "Generic Display" among off-line displays + the option to keep the Sidecar display in the app menu does not work - #3001

Note: the version is currently available via auto-update to pre-release subscribers. Will be reclassified as stable if no issues found.

Localizations included in this release

You can change the app language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization...

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.3.3

03 May 20:13
c1c53b7
Compare
Choose a tag to compare
App icon

About this version

This update contains various enhancements, performance and UI improvements and important bug fixes. The (still experimental) display group related features are expanded with UI scale matching among display group members (works best for displays with flexible scaling enabled).

Enhancements

  • Scale matching: equalize GUI size among display group members - #661
  • Add feature to match UI sizes when resolution change is externally induced and/or upon display connect - #2926
  • Add option to override/specify display dimensions in mm - #2895
  • Speed up display configuration and break up configuration code to be less monolithic - #2520
  • Detect and handle Sonoma's per display accessibility zoom for improved color table adjustment commit - #2885
  • Sidecar display's productName property should be the sidecar display's sidecar name, not "Sidecar Display" - #2882
  • Change identical display name suffix format from (x) to simply x to avoid confustion with similar but independent System Settings suffixes - #2880
  • Virtual screens created by the wizard should not contain display name suffixes when there are multiple identically named displays - #2881
  • Forced app quit after alternate EDID + restart permanently renders EDID alternate identity handling unusable - #2914
  • Improve detection and execution logic for Reinitialize external displays with flexible scaling if needed - #2935
  • Some improvements to Move Display - #2912
  • BetterDisplay Settings/About animation should respond to reduce motion accessibility setting - #2877
  • Unify/finetune Settings UI animations, fix some uneven spacing issues - #2886
  • Animate some menu style changes when configuring app appearance under Settings > Menu - #2887
  • Make display and display group scrollable selection header bar additions, removal, reordering, selection nicer and animated - #2888
  • Show some feedback on click in Move Display menu (usability) - #2908
  • Add a brief accent color to action buttons in the app menu for user feedback about the activity registering - #2910
  • Add the option to show off-line displays to a more prominent place - #2925

Fixed

  • Default app menu transition speed value looks bad in Settings - #2878
  • The Additional settings…`` visibility toggle under a display's General Settings block is wired to the overview screen's Connection management settings…` subsection (illogical) - #2896
  • Sliders, header switches flickering unnecessarily on configuration changes - #2907
  • Enabling/disabling synchronization for a display group does not instantly cause re-evaluation of group activation - #2916
  • Pro Settings menu exclamation icon does not disappear instantly after checkout/activation - #2917
  • Hold Shift for multi-select message missing in Display Mode filter submenu when sub-720p and unsafe resolutions are shown - #2918
  • Some disconnected displays might not show up in the display list when listing of off-line displays are enabled - #2919
  • Display group syncing dependent activation does not take into account when a sync source/target display is soft-disconnected - #2920
  • App does not reclassify a non-natively connected display to natively connected one in some circumstances even though the connection style changes - #2936
  • The option Force support for color table adjustments does not take effect immediately (reconfiguration needed) - #2944 v2.3.3
  • Apple Silicon macOS Monterey and Ventura crash on startup with v2.3.2 (Intel or Apple Silicon with macOS Sonoma is fine) - #2942 v2.3.3

Localizations included in this release

You can change the app language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization...

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.3.2

02 May 14:09
24e0892
Compare
Choose a tag to compare
v2.3.2 Pre-release
Pre-release
App icon

About this version

This update contains various enhancements, UI refinements and important bug fixes. The (still experimental) display group related features are expanded with UI scale matching among display group members (works best for displays with flexible scaling enabled).

Important: due to an issue this version fails to launch on some macOS Ventura and Monterey installations. An updated version (v2.3.3) is now available.

Release notes are available under the updated v2.3.3 version.

v2.3.1

11 Apr 09:56
42a145d
Compare
Choose a tag to compare
App icon

About this version

This is a bug-fix release for the v2.3.0 version which added a number of new features and refinements - among them support for brightness & image adjustments synchronization. For more information about that release, please take a look at the v2.3.0 release notes.

This follow-up version addresses some compatibility and performance issues and fixes a major bug that prevented the app from launching properly when the menu bar icon is set to be hidden. Sorry about that!

Changes

  • Menu icon is showing in the top left corner of the main display after app startup when the menu bar icon is set to be hidden - #2871
  • Various sync configuration GUI issues - #2859
  • Menu bar icon turns white on menu press on white background - #2858
  • Improve throttling for external events (screen parameters change, Apple brightness change) - #2865
  • Add option to skip syncing to displays in HDR or reference XDR mode - #2860
  • Homebrew is offering an outaded version due to the confused version numbering of v2.3.0b - #2876
  • Various performance improvements for syncing

Note: Some changes in this version were already made available in the v2.3.0b hotfix release.

Localizations included in this release

You can change the app language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization...

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.3.0

08 Apr 19:10
ebb6e98
Compare
Choose a tag to compare
App icon

About this version

This version adds various new features, refinements, performance improvements and contains bug fixes. Some notable improvements include additional image controls, eye care features (like disabling temporal dithering on Apple Silicon), EDID write feature for dongles and some displays, improved Sidecar connection management.

As a major new feature this version introduces support for managing display groups and brightness & image adjustments synchronization. Features based on display groups are planned to be both refined and expanded in future releases (resolution syncing, display layout protection, presets, more syncing features and deeper UI/menu integration). Display groups and syncing are experimental features in this release.

Enhancements

  • Add proper Sidecar connect/disconnect feature - #2606
  • Add CLI features for Sidecar control (listing, connect, disconnect) - #2784
  • Add option to skip externally induced (touch bar, ambient sensor, control center) brightness synchronization - #2851
  • Sync built-in or Apple display brightness to external displays (+ add basic touch bar/control center control replication) - #1356
  • Make menu appearance/disappearance animation style more traditional - #2840
  • Add expert option to write (flash) EDID data to the display/dongle - #2778
  • Add some additional fine-tune options for EDID write - #2854
  • Make XDR upscaling persistent when the app restarts + add a somewhat better discoverability and more straightforward UI - #2852
  • Pressing ESC should close the app menu, command+, should open Settings - #2853
  • Add option to auto-connect an associated virtual screen when the associated display is not present - #2834
  • Some general performance optimizations, snappier UI - #2844
  • Add various sync source/target filters - #2843
  • Pre-render/cache app menu on startup for instant presentation later - #2842
  • Add sync option to exclude all app created virtual screens from source and target display list - #2824
  • Adjust brightness/color/volume for all screens at the same time via sliders - #849
  • Add CLI options to directly read/write bool and numeric framebuffer properties - #2773
  • Send a Notification Center message when config protection prevented some change - #2818
  • General support for display group management - #2463
  • Add toggle for uniformity correction on built-in displays (Apple Silicon) - #2815
  • Add option to enable/disable GPU side temporal dithering to help with eye strain + CLI - a method discovered by @aiaf - #2766
  • Enable EDID read/load for built-in displays on Apple Silicon Macs (note: not actually useful) - #2813
  • Add option (per display) to keep Sidecar device in the app menu for easy connect - #2795
  • Add color inversion to color table adjustments (that is compatible with software dimming) + CLI - #2006
  • Add connectAllDisplays CLI command - #2787
  • Add setting to keep app disconnected Sidecar displays in the display list - #2788
  • Show proper device name instead of "Sidecar Display" in the app menu - #2786
  • Show some Sidecar connection details under Display Information... - #2779
  • Add backend for Sidecar control features - #2785
  • Add quantization color filter (color table adjustments) + CLI - #2777
  • Show maximum supported horizontal resolution by the GPU for the connection under Display Information... - #2772
  • Add display configuration editing for alternate EDID identities - #2751
  • Add Grayscale and Inverted framebuffer configurations to Image Adjustments + CLI - #2745

Fixed

  • XDR screen was put to EDR mode even when upscaling is not needed - #2849
  • Menu bar highlight does not remain until the app menu is closed - #2846
  • When the menu icon is hidden but the app menu is revealed from the Settings link the menu might start flickering on multi-screen configuration when the main display is not the leftmost - #2841
  • Some app animations do not take reduce motion accessibility settings into account - #2839
  • When the last menu block is collapsed the bottom button row feels too close (a bit more space should be there) - #2819
  • When Main Status protection is enabled for a display, setting an other display as Main using the app menu results in an unexpected behavior (it switches main status then switches back - the app should turn the protection off instead) - #2816
  • Edited system display name is overriden with the current name if no value is given - #2817
  • Virtual screen creation view custom aspect ratio does value not get registered unless pressing Enter after specifying a value - #2808
  • Stream/Integer Scaling icon does not show under Monterey, Ventura - #2805
  • Settings menu item line-break issue on some localizations - #2803
  • System display name change not reflected in the app menu (as the EDID product name has priority for identification reasons) - #2759
  • Some display identifiers might not get updated on a hardware change or Mac migration - #2746

Localizations included in this release

You can change the app language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization...

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.2.6

09 Mar 17:54
ebb6e98
Compare
Choose a tag to compare
App icon

About this version

This compatibility update adds support for the new M3 MacBook Airs and fixes an issue that prevented flexible scaling and display configuration changes taking effect for built-in screens on certain models after using Migration Assistant to transfer user information.

Changes

  • Fixed an issue which caused flexible scaling and configuration editing not working properly for the built-in display when an user was migrated to a new M3 MacBook (other Mac models might have been affected as well) - #2736
  • Improved support for M3 MacBook Airs - #2737
  • Show/utilize alternate display product ID for displays reporting mismatched identifiers - #2739

Localizations included in this release

You can change the app language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization...

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.2.5

06 Mar 10:25
ebb6e98
Compare
Choose a tag to compare
App icon

About this version

This minor update contains some new features, bug fixes.

Enhancements

  • Restore previous combined/software brightness upscaling levels upon display reconnect or app startup - #2711
  • Add option to make an absolute level PIP window unmovable - #2717
  • Add option to make unmovable, transparent PIP window click-through - #2718
  • Implement toggle CLI command for pip and stream bool parameters - #2719

Fixed

  • The Show display modes marked as unsafe or invalid setting does not affect Display Mode menu - #2710
  • Restore combined/software brightness upscaling upon display reconnect or app startup - #2711
  • Resolution slider favorite dots are always rendered in blue instead of system accent color - #2713
  • Pro only keyboard shortcuts are not allowed to be removed after trial expiry - #2720
  • The target display is misidentified or nothing happens when stream target display is modified via CLI when the stream is already running - #2722
  • When Switch to native mode for full screen stream target is enabled, the display mode might not be switched back on stopping the stream - #2723
  • PIP and stream CLI zoom, streamUnderscan, alpha changes are net reflected in the value of corresponding sliders in the app menu - #2724
  • Zoom level not restored upon starting PIP window (while slider slows last value) - #2725

Localizations included in this release

You can change the app language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization...

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.2.4

26 Feb 11:49
ebb6e98
Compare
Choose a tag to compare
App icon

About this version

With this update every app menu feature (and more) is now fully accessible via supported integration methods (command line, betterdisplaycli, HTTP, custom URL, notification dispatch). The release contains some bug fixes and performance improvements as well.

Enhancements

  • Added "Integer Scaling" option for streaming and PIP - #2696
  • Honor "Reduce Motion" system accessibility setting and remove menu animations when needed - #2681
  • CLI option to configure screen mirroring - #2666
  • CLI features to configure screen streaming - #2667
  • CLI features to configure Picture in Picture - #2668
  • CLI for relative display placement ("Move Display") feature (alongside the existing placement CLI) - #2669
  • CLI for display config protection (protect current or turn protection off) - #2670
  • Various performance improvements

Fixed

  • Spelling error in Application -> Notification and Dock section of menu. 'turend' - #2672
  • Crash: rare "attempting to set illegal NSView geometry: x is NaN" when using resolution slider - #2687
  • Bounds issue might cause rare crash when extracting information from EDID on Intel - #2699
  • Potential crash caused by adding an empty value as refresh rate for a virtual screen - #2700

Localizations included in this release

You can change the app's language under System Settings > General > Language & Region > Applications.

Info on how to help with a localization

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.2.3

15 Feb 18:53
ebb6e98
Compare
Choose a tag to compare
App icon

About this version

This version contains important bug fixes, stability, compatibility and performance improvements and some new CLI/integration features.

Enhancements

  • Add CLI options to get, set and list XDR Preset options for a display - #2634
  • Add CLI options to get, set and list color profile options for a display - #2633
  • Add CLI commands to get, set, list display modes (resolution, refresh rate, color depth) - #2646
  • Add CLI command to get and set a display's coordinate in the display layout's global coordinate system - #2647
  • Shortcuts: send a DDC command with a custom value to a display - #2635
  • Shortcuts: get a DDC value from a display - #2636
  • Shortcuts: get value of an image adjustment feature - #2637
  • Don't turn off "Disconnect built-in display when an external display is connected" option when the built-in display is manually connected - #2638
  • CLI help clarification for both single and double hyphen parameter style - #2654
  • HTTP/custom URL scheme: accept %20 as space in URLs - #2648
  • Replace no-choice popup alerts with Notification Center notifications - #2639
  • Add detection of VMM7100 device presence - #2629
  • Update VM7100 reset procedure (Swift rewrite + reliability improvements) - #2630
  • Add UI options for reinitialization after wake or unlock + add VMM7100 reset option tied to these - #2632
  • Set up app auto-start on first launch - #2640
  • Stability and compatibility improvements, performance optimizations.

Fixed

  • Tab key does not move between custom aspect ratio fields or pressing tab causes the app to hang (virtual screen creation) - #2275
  • Native XDR upscaling is allowed for external Pro Display XDR displays (with which the feature does not work) - #2641
  • Editing/removing a custom resolution under "Edit system configuration" causes a crash - #2649
  • Editing/removing a custom resolution on the virtual screen configuration pane might cause a crash - #2650
  • Brightness change may cause crash in rare circumstances - #2651
  • HiDPI resolutions might not be enabled on some Intel systems when applying Smooth Scaling - #2653
  • CLI issue - toggle operation does nothing for connected and hiDPI features - #2656

Localizations included in this release

You can change the app's language under System Settings > General > Language & Region > Applications.

Information on how to participate in the localization effort

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.

v2.2.2

06 Feb 19:34
ebb6e98
Compare
Choose a tag to compare
App icon

About this version

This version contains updates to the CLI/integration features, adds initial App Intents (macOS Shortcuts) support, some additional software image adjustment controls and contains various bug fixes and improvements to existing features, including the recently introduced native XDR upscaling.

Enhancements

  • For CLI access you can now use betterdisplaycli as well (follow install instructions in the provided link).
  • Added r/g/b gain controls for software control (both for color table and Metal overlay) - #2610
  • Added gain slider for Metal overlay - #2587
  • Added color temperature slider for Metal overlay - #2556
  • Added integration commands to query pro features availability + toggle some integration and OSD features (allows MediaMate to better configure BetterDisplay) - #2532
  • Added value normalization feature for integration when using controls (+allow mediaMate to more easily send control values) - #2537
  • Added CLI command to list displays and virtual screens with identifiers - #2601
  • Added CLI features to manage virtual screens - #2521
  • Added r/g/b gain controls to CLI - #2613
  • Added CLI deviceType option to filter displays and virtual screens - #2614
  • General Shortcuts (macOS) support with App Intents - #1395
  • Added App Intents (Shortcuts app) to change brightness for individual and all displays - #2617
  • Added App Intent (Shortcuts app) to change DDC volume for a specified display - #2618
  • Added App Intent (Shortcuts app) to change any of the additional software and hardware ranged controls for a specified display - #2619
  • Added App Intent (Shortcuts app) to change any of the additional software and hardware ranged control offset value for a specified display - #2620
  • Make the role of BetterDisplay XDR option under XDR Preset menu a bit more obvious by adding some explanation - #2576
  • Added a toggle to always use Metal for some image adjustments when color table adjustments are not supported - #2591
  • Disable the "Detected Some Interference" popup by default (can be re-enabled for troubleshooting) - #2586
  • VMM7100 HDMI dongle no signal workaround (note: needs Terminal activation, see details in the linked issue) - #2609
  • Improved support for M3 MacBooks - #2597
  • General efficiency and licence management improvements

Fixed

  • Overriding lower and upper bound of native XDR upscaling does not work properly until an app restart - #2575
  • BetterDisplay XDR profile can be "untoggled" with a repeated click under XDR Profile (does nothing though) - #2577
  • Display association does not show the associated display's name - #2582
  • If a display is set to be forgotten, virtual screen display associations are not updated - #2583
  • Various unlocalizable texts are still present in the app - #2596
  • CLI provides wrong exit code (failure instead of success) even for working operations when there is no return payload. - #2598

Localizations included in this release

You can change the app's language under System Settings > General > Language & Region > Applications.

Information on how to participate in the localization effort

Download for macOS

For changes in previous versions take a look at the GitHub Releases page.