Releases: waydabber/BetterDisplay
v3.3.4
About this version
This release focuses on enhanced localization support, improved macOS 15.3 compatibility, and various bug fixes.
Localization Improvements
- A new language selection feature has been added to the Settings window (bottom-left corner) for easy language switching. - #3972
- Incomplete localizations (below 90% completion) have been removed to ensure a consistent user experience. - #3977
Bug Fixes
- Resolved an issue where some text appeared unlocalized regardless of settings - #3980
- Corrected various typos in the base language text - #3975
- Fixed an animation issue with the Brightness Upscaling menu item in the application menu - #3962
- Addressed a problem where VRR was ineffective when color table adjustments were enabled - #3968
- Corrected an issue where residual cursor images could remain on the mirrored virtual screen with high mouse velocities - #3969
- Fixed a bug where the keyboard shortcut for toggling the built-in display or using Connect All Displays did not temporarily deactivate auto-off for the built-in display when an external screen was connected - #3974
- Resolved an issue where the Color Mode menu could appear empty for a disconnected display in the application menu after repeatedly toggling the connection - #3978
Included Localizations
This release includes the following localizations, with thanks to our contributors:
- British English (@PuzzledUser)
- Chinese, Simplified (@BingoKingo, @shindgewongxj, @hshsilver, @jacktechstudio)
- Chinese, Traditional (@old-cookie)
- French (@Kcraft059)
- German (@mickimnet, @dotWee, @niklasbogensperger)
- Hungarian (@sup3rb3ar)
- Italian (@MapleLeaf14)
- Japanese (@SakiPapa)
- Korean (@hw0603, @chihuahua-experience)
- Portuguese, Brazil (@gpnunes75, @giulianopires)
- Slovenian (@DrRoglaa)
- Spanish (@stonkol, @cfuentea, @maximsenterprise)
- Swedish (@yeager)
- Vietnamese (@andrwmai)
Thank you to all contributors!
Developed by @waydabber. For previous release notes, please visit the GitHub Releases page.
v3.3.3
About this version
This is an updated re-release of version 3.3.2, with all reported issues resolved. See the combined change log for details.
Enhancements
- Improved mouse cursor responsiveness with mirrored virtual screens (thanks to @dave-fl) - #807
- Add display identification method based on hardware port to better handle identical displays (Apple Silicon) - #3938
v3.3.2
- Provide a nicer check for update experience for Settings and the app menu - #2811
- Add option to automatically download and install updates - #3906
- Add new update available indicators to the menubar bottom bar and Settings menu bar (next to About) - #3923
- Show update availability in the app status menu icon - #3925
- New app update should show Dock icon (if enabled) with an update badge - #3926
- Show notification in the notification center about an app update - #3927
- Implement a less intrusive way to show new updates after scheduled background checks - #1459
- Rolling Pro activation (automatically deactivate oldest activation when the user runs out of license seats) - #3893
- Add UI feature to deactivate all and all other Pro activations - #3895, #3900
- Show the number of activations for a license key under the Pro tab - #3897
- Add
manageLicense -activationsJSON
command for app binary CLI to get the list of Pro activations in a proper JSON format - #3918 - Show a clear license issue error on the Pro tab when the Pro license is remotely deactivated or hardware identifiers have changed (for example due to using Migration Assistant) - #3929
- Keyboard shortcut to toggle brightness upscaling for a display - #3888
- Update default menu bar icon with a vector based variant - #3924
- Make the native brightness upscaling nits counter inflating effect optional - #3928
- Add silent option to disable spinning ring on cursor on screen stream when the mouse is hovering over the stream - #3912
- Various minor UI tweaks - #3940
v3.3.2
- A slightly less aggressive-looking "update available" menu bar icon compared to v3.3.1 - #3945
v3.3.2
Fixed
- Paddle manage license sheet may show Pro as activated even when it is not - #3892
- An unneeded closing bracket is added to the
-identifier=name
CLI query result - #3905 - Menu bar icon moves to leftmost position after app restart - #3932
- Mirrored to built-in displays do not properly update brightness level on change with native brightness control - #3931
- Some rounded button icons look oversized - #3939
v3.3.2
- Scrollbar margins for the Display Mode, Color Profile, XDR Presets menus look bad with non-Apple (touch-enabled) pointing devices - #3953
v3.3.3
- Accessibility Configuration Required prompt triangle looks bad on Ventura - #3954
v3.3.3
- Incorrect "Trial Days Left" icon size in the app menu button row - #3955
v3.3.3
- Brightness upscaling should not be presented in the app menu on Intel in HDR mode when color table adjustments are enabled (as it is available only in Metal overlay mode) - #3956
v3.3.3
- Remote deactivation behaves unreliably, intermittently disabling Pro features and showing license issue without a proper way to dismiss it - #3957
v3.3.3
- Opening app update installer hides app menu when it is detached - #3958
v3.3.3
Localizations included in this release
- British English (100%) - @PuzzledUser
- Chinese, Simplified (100%) - @BingoKingo, @shindgewongxj, @hshsilver, @jacktechstudio
- Chinese, Traditional (100%) - @old-cookie
- French (100%) - @Kcraft059
- German (100%) - @mickimnet, @dotWee, @niklasbogensperger
- Hungarian (100%) - @sup3rb3ar
- Japanese (100%) - @SakiPapa
- Korean (100%) - @hw0603, @chihuahua-experience
- Spanish (100%) - @stonkol, @cfuentea, @maximsenterprise
- Portuguese (Brazil) (87%) - @gpnunes75, @giulianopires
- Romanian (85%) - @mikevic18
- Vietnamese (81%) - @andrwmai
- Italian (70%) - @MapleLeaf14
- Ukrainian (69%) - @JulyIghor
- Portuguese (Portugal) (65%) - @nunoebarros, @0rangeFox
- Swedish (48%) - @yeager
- Polish (41%) - @marcinkardas, @MStankiewiczOfficial, @enormous-rat
- Russian (40%) - @dimaitre, @sprainbrains
- Turkish (29%) - @MazlumSerbest, @ibrayd
- Hindi (3%) - @hkunamtata
Localizations are sorted by completion level first and then alphabetically. Contribute to have the app fully localized in your language!
App language under can be changed under System Settings > General > Language & Region > Applications
.
An app by @waydabber. For changes in previous versions take a look at the GitHub Releases page.
v3.3.2
About this version
This release version contains various improvements and bug fixes.
Note
For a detailed list of changes take a look at the release notes of the v3.3.3 version which fixes some minor issues reported for this version.
For changes in previous versions take a look at the GitHub Releases page.
v3.3.1
About this version
This pre-release version contains various improvements and bug fixes.
Note
For a detailed list of changes take a look at the release notes of the v3.3.2 stable version - all changes not marked with the v3.3.2
tag in the release notes were originally introduced in this pre-release.
For changes in previous versions take a look at the GitHub Releases page.
v3.3.0
About this version
This version contains various improvements and bug fixes.
Note: brightness upscaling is now turned off by default (based on user feedback) - use the new toggle in the app menu to turn it on!
Enhancements
- Added duplicate display groups feature - #3744
- Disable system sleep when my Mac connects to a certain display and enable it when it is disconnected - #3682
- Show coffee cup as app menu icon when a display is configured to prevent sleep - #3813
- Brightness upscaling should be disabled by default - #3849
- Brightness upscaling toggle (native and software) should be added to the app menu - #3850
- Add CLI commands to toggle brightness upscaling - #3851
- Added 'Manage Display' menu (similar to Manage Virtual Screen) - #3748
- 'Identify this display' feature in the menu to quickly identify which display is which - #1759
- Option+click on the display menu header and Settings display list to visually identify a display - #3747
- Option+click on any display name in any display listing in Settings or the app menu should trigger a visual display identification - #3775
- Added option to hide the menubar icon when only the specified displays are connected - #3807
- Added feature to visually identify display in Settings - #3769
- Added option to quickly apply and deapply custom EDID from the app menu - #3749
- Added 'Reinitialize display' option to Manage Display menu - #3750
- Added an option to bring the PIP window to the screen with the mouse (for situations when the PIP window is strandled on a virtual screen) - #3736
- Added option to opt-out a display from "disconnect built-in display when an external display is connected" - #3795
- Ability to get additional details via the CLI for "displayWithFocus" and "displayWithMouse" - #3617
- Added support for "main" and "secondary" as nicknames for addressing a display using CLI - #3622
- Skip enforcing configuration protections when the app is started in safe mode - #3733
- Make Swap Position compatible with Layout Protection - #3758
- Add a Load Custom EDID shortcut to the Manage Display menu - #3764
- Use the hash of the EDID as a display identification option - #3757
- Added 'toggle internal display' with a keyboard shortcut feature - #3510
- Added option to change the order of virtual screens in the app menu - #3826
- Maintain focus of currently active window when opening BD Menu - #3828
- Make sliders animated (in line with the Sequoia control center slider animation) - #3833
- Added a brief delay before the resolution change using the resolution slider takes effect - #3837
- Animate PIP and screen stream slider controlled transitions - #3834
- Added option to move the app menu's Toggles section under Manage Display to tidy up the app menu - #3855
- Auto warp mouse to stream or PIP source screen when entering streamed content (unexposed setting) - #3569
- Option to hide percentage/resolution popup on PIP Resize (unexposed setting) - #3870
- Update dark mode, true tone, night shift icons to match current macOS style - #3864
- Some refactoring and optimizations for better performance - #3838
- Various minor UI tweaks - #3873
Fixed
- Some CLI device identification parameters won't filter out mismatching virtual screens from addressing - #3702
- Connected virtual screen UUID appears as UNKNOWN with cli get identifiers - #3708
- Color Mode Configuration Protection menu item is missing when Pro is disabled - #3714
- Refresh rate configuration protection option disabled for mirror target screens even when allow resolution change for mirror targets is enabled - #3729
- Color Mode Configuration Protection might not take effect on app startup - #3730
- Crash on streaming when stream subview geometry is not normal - #3734
- When a non-HDR (virtual or real) screen is being mirrored to a display in HDR mode, DDC control is unavailable and the display is detected as a display with Apple control in macOS Sequoia - #3742
- The Current display role value under Configuration Editing might be misleading - #3761
- Display icons missing in associate virtual screen list under virtual screen configuration (UI inconsistency) - #3770
- When changing the UUID-producing identifiers of a virtual screen (serial, model, vendor), an orphaned zombie screen is retained in the app configuration store - #3786
- PIP and Stream left running or on autostart after trial or Pro expiration cannot be stopped or turned off - #3790
- Hidden app menu icon is not shown when started up in safe mode - #3817
- The 'disconnect built-in display when an external display is connected feature' is mistakenly triggered by a connected virtual screen - #3818
- Disconnect built-in display when external display is connected may not take effect on reboot - #3824
- App menu closes needlessly when switching XDR preset - #3854
Localizations included in this release
- British English (100%) - @PuzzledUser
- French (100%) - @Kcraft059
- Hungarian (100%) - @sup3rb3ar
- Japanese (100%) - @SakiPapa
- Chinese, Simplified (98%) - @BingoKingo, @shindgewongxj, @hshsilver, @jacktechstudio
- Chinese, Traditional (98%) - @old-cookie
- Spanish (98%) - @stonkol, @cfuentea, @maximsenterprise
- Korean (98%) - @hw0603, @chihuahua-experience
- German (97%) - @mickimnet, @dotWee, @niklasbogensperger
- Portuguese (Brazil) (88%) - @gpnunes75, @giulianopires
- Romanian (86%) - @mikevic18
- Vietnamese (81%) - @andrwmai
- Italian (71%) - @MapleLeaf14
- Ukrainian (70%) - @JulyIghor
- Portuguese (Portugal) (65%) - @nunoebarros, @0rangeFox
- Polish (41%) - @marcinkardas, @MStankiewiczOfficial, @enormous-rat
- Russian (41%) - @dimaitre, @sprainbrains
- Swedish (39%) - @yeager
- Turkish (30%) - @MazlumSerbest, @ibrayd
Localizations are sorted by completion level first and then alphabetically. Contribute to have the app fully localized in your language!
App language under can be changed under System Settings > General > Language & Region > Applications
.
An app by @waydabber. For changes in previous versions take a look at the GitHub Releases page.
v3.2.1
About this version
This version includes various enhancements for the Picture-in-Picture and local screen streaming features, along with some other improvements, localization refinements and bug fixes.
Enhancements
- Right clicking on a PIP window should bring up a context menu with settings and mouse warp - #1547
- Warp mouse cursor on Command + click in a PIP window - #612
- Add warp-back keyboard shortcut feature that intelligently selects the PIP window or stream - #3673
- PIP window should show percentage during resize relative to the source display resolution - #1548
- Add permanent boundary marker option for crop area for PIP window - #2660
- Lock PIP Window Size - #2503
- PIP window should snap to sizes of significance (25%, 50%, 75%, 100% etc) - #3603
- On screen crop-area drawer for PIP should show origin point and dimensions - #3612
- Always provide Window Shadow, Mouse Click-through options in the PIP menu/context menu with explanation regarding availability - #3601
- Make "Unmovable Window" option generally available in the PIP window - #3602
- Add color options for PIP crop boundary marker - #3633
- Right clicking on a full screen stream target should bring up a context menu with settings and mouse warp - #3665
- Add permanent boundary marker option for crop area for screen streaming - #3659
- Add a brief explanation about what is happening when the mouse hovering over the streamed content for screen streams - #3664
- Warp mouse cursor on Command + click on a stream target display - #3668
- Add a hover indicator (animated dashed circle) around the mouse pointer on a stream garget display to indicate the fact that the mouse is not part of the streamed content - #3670
- Improve support for protection of unexposed refresh rate in Configuration Protection - #3567
- Improve non-DDC brightness change dampening smoothness on Apple Silicon - #3465
- Add option to limit lowest brightness for software dimming - #2983
- Add M4 horizontal width pipe limit values to
Display Information…
- #3636 - Make version text selectable in Settings/About - #3639
- Make the contents of
Display Information…
under Settings/Displays exportable - #3640 - Enforce resolution, refresh rate configuration protection for mirror targets when
Allow resolution change for mirror target displays
is enabled - #3501
Fixed
- The PIP window may forget its location in some circumstances and jumps to the corner of the screen when starting - #3621
- Refresh rate menu and configuration protection might get confused when mismatching low level refresh rate is activated - #3637
- Some higher refresh rates has moved to new "unexposed" list in the Refresh Rate menu - #3489
- App menu tends to move around in unexpected ways when the resolution is changed using the Display Mode menu - #3499
- Various typos needed fixing - #3554
- M3 (and M4) iMacs are not properly recognized as iMacs by the app - #3570
- Configuration Protection cannot be turned off or altered after trial expires - #3646
- Resolution and refresh rate Configuration Protection tends to get too creative with alternative resolutions when not finding a perfectly matching resolution option instead of simply failing - #3658
- NSInternalInconsistencyException with native upscaling nits counter on macOS Ventura - #3660
- DDC read may cause a crash if read value is outside of the configured min/max DDC value range - #3661
- Remove a virtual screen custom refresh rate entry or custom resolutions for virtual screens and display configuration editing while editing the field at the same time causes the app to crash - #3662
- Rare crash after applying a display system configuration change - #3663
-Display ID overflow crash on some macOS versions - #3685v3.2.1
- Snap to 25% Size Increments option's icon is missing on macOS Ventura - #3691
v3.2.1
- Mouse hover indicator circle remains on screen after warp on Ventura - #3692
v3.2.1
- Stream warp mouse cursor context menu item warps mouse to wrong location right after adjusting the stream geometry - #3695
v3.2.1
- When opening the context menu using control+click the mouse warp menu item works erratically - #3696
v3.2.1
Localizations included in this release
- British English (100%) - @PuzzledUser
- Chinese, Simplified (100%) - @BingoKingo, @shindgewongxj, @hshsilver, @jacktechstudio
- Chinese, Traditional (100%) - @old-cookie
- French (100%) - @Kcraft059
- Hungarian (100%) - @sup3rb3ar
- Japanese (100%) - @SakiPapa
- Spanish (100%) - @stonkol, @cfuentea, @maximsenterprise
- German (99%) - @mickimnet, @dotWee, @niklasbogensperger
- Korean (98%) - @hw0603, @chihuahua-experience
- Portuguese (Brazil) (89%) - @gpnunes75, @giulianopires
- Romanian (87%) - @mikevic18
- Vietnamese (82%) - @andrwmai
- Italian (72%) - @MapleLeaf14
- Ukrainian (71%) - @JulyIghor
- Portuguese (Portugal) (66%) - @nunoebarros, @0rangeFox
- Polish (42%) - @marcinkardas, @MStankiewiczOfficial, @enormous-rat
- Russian (41%) - @dimaitre, @sprainbrains
- Swedish (40%) - @yeager
- Turkish (30%) - @MazlumSerbest, @ibrayd
Localizations are sorted by completion level first and then alphabetically. Contribute to have the app fully localized in your language!
App language under can be changed under System Settings > General > Language & Region > Applications
.
An app by @waydabber. For changes in previous versions take a look at the GitHub Releases page.
v3.2.0
About this version
This pre-release version is designed to gather feedback on the latest updates. It includes significant usability and feature enhancements for Picture-in-Picture and local screen streaming, along with various other improvements, localization refinements and bug fixes.
Note
For a detailed list of changes take a look at the release notes of the v3.2.1 stable version - all changes not marked with the v3.2.1
tag in the release notes were originally introduced in this pre-release.
For changes in previous versions take a look at the GitHub Releases page.
v3.1.2
About this version
This release contains various improvements, fixes and localization updates.
Enhancements
- Add a simple option to the Display Mode menu to list all modes (Show All) - #3452
v3.1.1
- Make custom scaled resolutions easier to find under Display Mode - #2386
v3.1.1
- Save last set Display Mode filter and other settings so the user does not have to re-set everything starting from default all the time - #3453
v3.1.1
- Display Mode tag selection should update the list immediately - no need for separate Apply Filter button - #3461
v3.1.1
- Added NTSC (x/1001) refresh options (for example 59.94 for the 60Hz display mode) normally unavailable/hidden by modern macOS versions - Apple Silicon only - #3251
- Added note if more color modes are available for different refresh rates under Color Mode menu - #3358
- Refresh rate options that are not compatible with native resolution (if the current resolution is a scaled native resolution) should be omitted by default form Refresh Rate menu - Apple Silicon only - #3304
- Update refreshRate and and refreshRateList CLI parameters to get/set refresh rates including unexposed ones on Apple Silicon - #3382
- Holding SHIFT when opening the refresh rate menu should list only low level refresh rate switch even when proper mode switch is available (allows refresh rate switch without mode switch) on Apple Silicon - #3426
- Prevent (as much as possible) system sleep during display configuration resulting in temporary signal loss - #3370
- Added a built-in refresh-rate checker to see if a refresh rate is really working - #3376
- Added some explanation to the single 8-bit connection mode option for built-in panels to avoid anxiety - #3378
- Dolby Full and Limited (Low Latency) is not properly differentiated in the Color Mode menu - #3386
- Added option to show max nits levels in OSD when Native XDR upscaling is enabled - #2578
- Added option to enforce Layout Protection on app startup (otherwise layout protection is enforced on configuration change only while the app is already running) - #3159
- Added configuration protection for mirroring settings - #3363
- Stylish nits animation for native upscaling brightness OSD - #3409
- App should check for running instances when app binary is directly used as CLI interface with wrong arguments and give a notification about multiple running instances - #3424
- Properly identify Apple Vision Pro when used as Sidecar display - #3416
- Added current display mode information under the 'Display Infromation…' block - #3425
- Improve how configuration protection details are shown (make sure it's not cropped) - #3433
- Hide the tools toggle if all tool menu options are set to hidden - #3438
- Add option to hide settings icon in the button bar (+ the ability to hide the button row entirely) - #3439
- Gather OSD related settings to one place in the Settings - #3441
- Add some feedback to the Settings/Keyboard pane so it can be checked whether the app (thinks it) assumed control over native brightness/volume/mute keys or not - #3445
- Hide currently disconnected displays from virtual screen association list + provide button to reveal them - #3448
Fixed
- App might not release power management assertions in some circumstances - #3486
v3.1.2
- Mute OSD is not hidden when Show macOS volume OSD with keyboard control is disabled - #3481
v3.1.1
- App submenu is not properly positioned when expanding menus are disabled and the menu is too close to the edge of the screen - #3372
- Various display settings configuration numeric fields do not save without explicitly pressing enter or tab which might be confusing - #3374
- Settings menu bar may look bad when the window is set to minimum height and the display configuration prompt shown - #3375
- Virtual screen creation custom aspect ratio field can be somewhat unergonomic to edit - #3379
- When the virtual screen menu header toggle fails to connect the screen, toggle state is not updated to reflect disconnected state - #3380
- Resolution config protection option should not take effect on mirror targets - #3437
- App assumes control over native audio keys even if the display is uncontrollable when assume method is set to Current audio device matches a controllable display's name - #3444
Note: this version is the re-release of v3.1.1, with a fix to a power management issue. The release notes lists the combined changes of v3.1.0-v3.1.2.
Localizations included in this release
- British English (100%) - @PuzzledUser
- Hungarian (100%) - @sup3rb3ar
- Japanese (100%) - @SakiPapa
- Korean (100%) - @hw0603, @chihuahua-experience
- French (99%) - @Kcraft059
- Chinese, Simplified (95%) - @BingoKingo, @shindgewongxj, @hshsilver, @jacktechstudio
- Chinese, Traditional (95%) - @old-cookie
- Portuguese (Brazil) (90%) - @gpnunes75, @giulianopires
- Romanian (88%) - @mikevic18
- Vietnamese (83%) - @andrwmai
- Italian (73%) - @MapleLeaf14
- Ukrainian (72%) - @JulyIghor
- German (68%) - @mickimnet, @dotWee
- Portuguese (Portugal) (67%) - @nunoebarros, @0rangeFox
- Spanish (44%) - @stonkol
- Russian (42%) - @dimaitre, @sprainbrains
- Swedish (40%) - @yeager
- Polish (43%) - @marcinkardas, @MStankiewiczOfficial, @enormous-rat
- Turkish (31%) - @MazlumSerbest, @ibrayd
Localizations are sorted by completion level first and then alphabetically. Contribute to have the app fully localized in your language!
App language under can be changed under System Settings > General > Language & Region > Applications
.
For changes in previous versions take a look at the GitHub Releases page.
v3.1.1
About this version
This update contains various improvements and bug fixes.
Note
This version has a minor power management related issue - it is recommended to skip this update in favor of v3.1.2. For a detailed list of changes in v3.1.0 and v3.1.1, take a look at the detailed release notes of the v3.1.2 version.
For changes in previous versions take a look at the GitHub Releases page.
v3.1.0
About this version
This pre-release version contains various improvements and bug fixes. The goal of this pre-release is to gather some feedback before releasing the next stable version.
Note
For a detailed list of changes take a look at the release notes of the v3.1.2 stable version - all changes not marked with the v3.1.1
or v3.1.2
were originally introduced in this pre-release.
For changes in previous versions take a look at the GitHub Releases page.