One of the persistently lesser-known symptoms of ADHD is hyperfocus. It is sometimes quasi-accurately described as a “superpower”1 2, which it can be. In the right conditions, hyperfocus is the ability to effortlessly maintain a singular locus of attention for far longer than a neurotypical person would be able to.
However, as a general rule, it would be more accurate to characterize hyperfocus not as an “ability to focus on X” but rather as “an inability to focus on anything other than X”. Sometimes hyperfocus comes on and it just digs its claws into you and won’t let go until you can achieve some kind of closure.
Recently, the X I could absolutely not stop focusing on — for days at a time — was this extremely annoying picture:
Which lead to me writing the silliest computer program I have written in quite some time.
You see, for some reason, macOS seems to prefer YUV422 chroma subsampling3 on external displays, even when the bitrate of the connection and selected refresh rate support RGB.4 Lots of people have been trying to address this for a literal decade5 6 7 8 9 10 11, and the problem has gotten worse with Apple Silicon, where the operating system no longer even supports the EDID-override functionality available on every other PC operating system that supports plugging in a monitor.
In brief, this means that every time I unplug my MacBook from its dock and plug it back in more than 5 minutes later, its color accuracy is destroyed and red or blue text on certain backgrounds looks like that mangled mess in the picture above. Worse, while the color distinction is definitely noticeable, it’s so subtle that it’s like my display is constantly gaslighting me. I can almost hear it taunting me:
Magenta? Yeah, magenta always looked like this. Maybe it’s the ambient lighting in this room. You don’t even have a monitor hood. Remember how you had to use one of those for print design validation? Why would you expect it to always look the same without one?
Still, I’m one of the luckier people with this problem, because I can seem to force RGB / 444 color format on my display just by leaving the display at 120Hz rather than 144, then toggling HDR on and then off again. At least I don’t need to plug in the display via multiple HDMI and displayport cables and go into the OSD every time. However, there is no API to adjust, or even discover the chroma format of your connected display’s link, and even the accessibility features that supposedly let you drive GUIs are broken in the system settings “Displays” panel12, so you have to do it by sending synthetic keystrokes and hoping you can tab-focus your way to the right place.
Anyway, this is a program which will be useless to anyone else as-is, but if someone else is struggling with the absolute inability to stop fiddling with the OS to try and get colors to look correct on a particular external display, by default, all the time, maybe you could do something to hack on this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
and the linked desubsample
is this atrocity, which I substantially cribbed
from this helpful
example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
This ridiculous little pair of programs does it automatically, so whenever I
reconnect my MacBook to my desktop dock at home, it faffs around with clicking
the HDR button for me every time. I am leaving it running in a background
tmux
session so — hopefully — I can finally stop thinking about this.
-
https://kids.frontiersin.org/articles/10.3389/frym.2021.625433 ↩
-
You can see this stack overflow question for all of the gory details. ↩
-
https://forums.macrumors.com/threads/why-is-getting-4k-ycbcr444-even-60hz-so-difficult.2282601/ ↩
-
https://forums.macrumors.com/threads/is-chroma-4-4-4-working.2146335/ ↩
-
https://www.mathewinkson.com/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor/ ↩
-
https://www.reddit.com/r/mac/comments/nh3rxp/m1_mac_external_monitordisplay_force_switch_from/ ↩
-
Thanks, SwiftUI System Preferences rewrite. System Settings is the biggest possible advertisement to developers for the idea that you should just stick with Cocoa if you want your Mac users to have a good time. ↩