macOS Big Sur changed drive eject notifications from banners to alerts, and boy howdy is it round mouse levels of annoying. CircuitPython users are greeted by these notifications every time a board is unplugged or the reset button is tapped, and they no longer vanish after a few seconds…each must be manually dismissed, and the slow fade-in of the UI controls is maddening.
A common mistake I see in UI work is fades/transitions taking too long. UI should work in "game time", not "cinematic time". A transition should happen as fast as an impatient user can button mash — a small-integer number of frames.
— John Carmack (@ID_AA_Carmack) March 15, 2021
I’ve cooked up a workaround, but must caution it’s not extensively tested, use at your own risk. If you were the sort of person to noodle around with ResEdit back in the day, well this is right up your alley. I’d recommend starting by making a backup copy of your existing Notification Center preferences, via Terminal window:
cp ~/Library/Preferences/com.apple.ncprefs.plist ~/Desktop
I couldn’t figure out a method with the usual defaults
tool, so a Python script makes the necessary changes to the preferences file. You can fetch this script from Github with the following command:
curl https://gist.githubusercontent.com/PaintYourDragon/a229f7c5f1992943a34ce1a5c7cb527c/raw/c12745c4cde36ac667b8ede16a8a707554f1072c/ejectfix.py > ejectfix.py
Then run the script using python3:
python3 ejectfix.py
If nothing happens, no error messages…fantastic, that means it did its job. Try it out! Plug in a CircuitPython board and then unplug it after a few seconds. You’ll still get a notification in the corner, but in a few seconds this scoots out of the way, as things were in macOS Catalina and prior.
Thank you for this fix, praise be to PB! How on earth you figured this out, I have no idea.