Post

Replies

Boosts

Views

Activity

Reply to CGSetDisplayTransferByTable is broken on macOS Tahoe 26.4 RC (and 26.3.1) with MacBook M5 Pro, Max and Neo
An other, related issue with CGSetDisplayTransferByTable() - this is probably not the best place to note this, but since macOS Tahoe there is an inconsistency in how the API works. The 26.4 RC is also affected. Before macOS Tahoe CGSetDisplayTransferByTable() redefined the color table of the SDR range and clipped the HDR range (much like custom color profiles in macOS usually do the same). In macOS Tahoe it does the same thing for most displays – except for the built-in XDR displays, when auto brightness is enabled and the display is in EDR mode (meaning: there is some HDR content on screen). When this happens (XDR + auto brightness + EDR mode), the contents of the CGSetDisplayTransferByTable is being used to multiply the entire EDR (SDR+HDR) gamma range instead of overwriting the SDR range and clipping the HDR range. This might be a blessing in disguise for some apps (that use this feature for color adjustments or brightness upscaling like BetterDisplay - as this allows avoiding HDR clipping when a custom color table is being used for image adjustments), but since the behavior is inconsistent (with auto brightness disabled the very same function does affect only the SDR range and clips the enitre HDR range at 1.0 - peak SDR - luminance level as it used to do pre-Tahoe), this is probably just a bug, not a feature. Additionally, when a custom color table is applied to a built-in XDR display while in EDR mode is active, when the user turns of auto-brightness, the color table usually ends up in an inconsistent state (and the screen looks permanently bad until the user changes presets or do something similarly drastic) even after the app using CGSetDisplayTransferByTable() is terminated. I do not have an FB filed for this one as honestly I saw very low chance of it reaching the appropriate engineers (being such an edge-case) - just wanted this to be out in case somebody in the team working on these things can do something about it. :)
Topic: Graphics & Games SubTopic: General Tags:
Mar ’26
Reply to macOS 26.3 RC breaks all borderless window interactions
This is about the same issue - Apple confirmed the problem. https://developer.apple.com/forums/thread/814798?answerId=875058022#875058022
Topic: UI Frameworks SubTopic: AppKit
Replies
Boosts
Views
Activity
Feb ’26
Reply to Custom NSWindow styleMask behavior changed/broken resulting in unresizable or non-responsive windows in macOS Tahoe 26.3 RC
Yes, fixed! Nice!
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Reply to CGSetDisplayTransferByTable no longer working on macOS Tahoe
Once again, CGSetDisplayTransferByTable appears to be broken, but specifically for the latest Macs - the Neo, the M5 Pro and M5 Max. Happens on 26.3 and 26.4 beta4. Received multiple reports about this. Involved Macs were tested with multiple apps that rely on this, like BetterDisplay, MonitorControl and f.lux.
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to CGSetDisplayTransferByTable is broken on macOS Tahoe 26.4 RC (and 26.3.1) with MacBook M5 Pro, Max and Neo
An other, related issue with CGSetDisplayTransferByTable() - this is probably not the best place to note this, but since macOS Tahoe there is an inconsistency in how the API works. The 26.4 RC is also affected. Before macOS Tahoe CGSetDisplayTransferByTable() redefined the color table of the SDR range and clipped the HDR range (much like custom color profiles in macOS usually do the same). In macOS Tahoe it does the same thing for most displays – except for the built-in XDR displays, when auto brightness is enabled and the display is in EDR mode (meaning: there is some HDR content on screen). When this happens (XDR + auto brightness + EDR mode), the contents of the CGSetDisplayTransferByTable is being used to multiply the entire EDR (SDR+HDR) gamma range instead of overwriting the SDR range and clipping the HDR range. This might be a blessing in disguise for some apps (that use this feature for color adjustments or brightness upscaling like BetterDisplay - as this allows avoiding HDR clipping when a custom color table is being used for image adjustments), but since the behavior is inconsistent (with auto brightness disabled the very same function does affect only the SDR range and clips the enitre HDR range at 1.0 - peak SDR - luminance level as it used to do pre-Tahoe), this is probably just a bug, not a feature. Additionally, when a custom color table is applied to a built-in XDR display while in EDR mode is active, when the user turns of auto-brightness, the color table usually ends up in an inconsistent state (and the screen looks permanently bad until the user changes presets or do something similarly drastic) even after the app using CGSetDisplayTransferByTable() is terminated. I do not have an FB filed for this one as honestly I saw very low chance of it reaching the appropriate engineers (being such an edge-case) - just wanted this to be out in case somebody in the team working on these things can do something about it. :)
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Mar ’26
Reply to Icon Composer: Any way to add icons to the app bundle for older macOS versions?
No solution afaik. I am still on Xcode 26.0.1 because of this. My plan is to simply drop pre-Tahoe (and Intel) support for newer versions of my stuff when macOS 27 lands and leave all this mess behind. :)
Replies
Boosts
Views
Activity
2w
Reply to Icon Composer: Any way to add icons to the app bundle for older macOS versions?
No, it does not seem to be possible. It would be great to have design elements or rendering options depend on macOS version (legacy vs 26+) in Icon Composer - this would eliminate all problems of course. But this feature is missing and by this time it is very unlikely Apple will improve the functionality in this regard.
Replies
Boosts
Views
Activity
2w