During a brief discussion about PliimPRO, a menubar app to quickly set your Mac to a “safe” presentation mode, I learned that you can turn off desktop notifications by simply
Option-clicking on the Notification Center icon on the menubar, without even having to open it first:
But that’s not all. Meandering even further along those lines, I realized that it would be trivial to build an Automator workflow to write a “presentation mode toggle” via AppleScript, and here it is for future reference:
if (do shell script "defaults read com.apple.finder CreateDesktop") is "1" then -- Get open apps tell application "System Events" to set openApps to name of every application process whose background only is false -- Do this for every open app repeat with processName in openApps tell application "System Events" to tell process processName set visible to false end tell end repeat -- Mute audio set volume with output muted -- Hide desktop icons do shell script "defaults write com.apple.finder CreateDesktop -bool false; killall -HUP Finder" -- Enable Do Not Disturb do shell script "defaults -currentHost write com.apple.notificationcenterui doNotDisturb -bool yes; defaults -currentHost write com.apple.notificationcenterui doNotDisturbDate -date \"`date -u +'%Y-%m-%d %H:%M:%S+0000'`\"; killall NotificationCenter" else -- Unmute audio set volume without output muted -- Show desktop icons do shell script "defaults write com.apple.finder CreateDesktop -bool true; killall -HUP Finder" -- Disable Do Not Disturb do shell script "defaults -currentHost write com.apple.notificationcenterui doNotDisturb -bool no; killall NotificationCenter" end if
And yes, this is a trifle gauche and overly liberal in its use of
killall because it’s 2020 and Apple has let AppleScript degrade to such a point that most modern functionality is impossible to script directly without side effects (and also
NotificationCenter seems to ignore
SIGHUP, but that’s another matter entirely).
For good measure, you may want to add a “Change System Appearance” toggle after this script in your Automator workflow (you can pick
This obviously doesn’t switch wallpapers or do “smart” stuff like restoring hidden applications (I’d rather restore them myself, honestly), but is a pretty quick way to clear your desktop (and I used it to record the GIF above using Claquette, a great little utility I love and that I recently found via Michael Tsai).
Update: A little while after writing the above, I found the Pliim author has a public
gistwith a slightly different technique, and that the original app is on GitHub.