So, at the moment, BD provides some excellent debugging information that's hard to obtain any other way. However, getting at that information, especially when 'which information is going to help diagnose the issue' is a horrible pain in the ass.
At the moment, I'm using my own scripting to enumerate the betterdisplaycli help output, parse out supported keys (I'm not kidding lol), then serially invoke it over and over, requesting the value of those keys. It's extremely slow.
I was about to patch betterdisplaycli with a --all (repeat given command for every attached display), --dump (repeat *all commands for given display), and --dump --all flags; but I realized that while this helps me avoid shell-invocation round-trips and stays Swift-native, it's still unoptimized for the absolute ocean of details that any given display doesn't have.
BetterDisplay itself is the only thing that has a (fast) methodology of actually knowing which properties it can meaningfully extract for a given connected display.
So,
- would you be willing to implement full detailed dump/enumeration in BD itself (currently impossible afaict), or if not,
- would you accept a small PR to at least have bdcli mechanize BD? (=
So, at the moment, BD provides some excellent debugging information that's hard to obtain any other way. However, getting at that information, especially when 'which information is going to help diagnose the issue' is a horrible pain in the ass.
At the moment, I'm using my own scripting to enumerate the
betterdisplaycli helpoutput, parse out supported keys (I'm not kidding lol), then serially invoke it over and over, requesting the value of those keys. It's extremely slow.I was about to patch
betterdisplaycliwith a--all(repeat given command for every attached display),--dump(repeat *all commands for given display), and--dump --allflags; but I realized that while this helps me avoid shell-invocation round-trips and stays Swift-native, it's still unoptimized for the absolute ocean of details that any given display doesn't have.BetterDisplay itself is the only thing that has a (fast) methodology of actually knowing which properties it can meaningfully extract for a given connected display.
So,