Shortcuts on macOS: A review

Posted

This is an opinion piece on Shortcuts v5.0 (1144.2) for macOS Monterey v12.0.1. Readers of my blog know I use Automator, AppleScripts, and shell scripts to get stuff done. So I was curious to see if I could replace all these with just Shortcuts. TL;DR: no, no I can’t.

The pros:

  • is so much easier to use than Automator, which is rather unintuitive, even for programmers,
  • works across macOS, iOS, iPadOS and watchOS,
  • is easy to access via Quick Actions:
    • Pin in Menu Bar - love this, so I no longer need a Dock folder of Automator scripts,
    • supports global hotkeys, via a Services Menu Quick Action,
    • can be access via Finder and Touch Bar (RIP) Quick Actions,
  • sets Security & Privacy settings automatically and reliably - I often have challenges getting Automator or shell scripts to run reliably (requiring the access controls to be re-set / applications to be re-started / “hidden” applications to be allowed, etc.)
  • is very powerful when used in conjunction with AppleScript, JavaScript for Automation (JXA) and/or shell scripts - using Run AppleScript, Run JavaScript for Mac Automation and Run Shell Script respectively,

The cons:

  • quite buggy e.g. naming new Shortcuts, editing Menus, deleting actions, editing parameters vs selecting variables, and even crashes!
  • broken/borked functions e.g. Device Details screen width/height is always zero, using Current Date with a custom format in Set Variable does not work (but Format Current Date does)
  • hard to debug - no debugging step-through, and View Content Graph is sometimes blank and the window cannot be resized or scrolled,
  • mac specific actions are still very limited e.g. there is split screen for apps but no split screen for windows
  • actions that work on iOS do not work on mac e.g. backing up Shortcuts to a ZIP file
  • can be slow e.g. Find Windows
  • does not support application automation the way Automator, AppleScript or JXA do.
  • cannot copy and paste beween Shortcuts and dragging only copies the first action (and often gets the inputs wrong)
  • does not support Folder Actions which are still limited to AppleScript / Automator (run the Folder Actions Setup.app to try)

Folder Actions Setup

In fact, I realized my Shortcuts revert to Shell scripts too often. For example, I wanted a script to take a screenshot, and save a JPG and PNG version in a folder on my desktop. las:

  • the in-built Shortcuts action Take Screenshot, when used in Interactive mode on a Window, captures the window shadow - I hate that! Workaround:Run Shell Script with screencapture -coWx instead.
  • Save File cannot automatically save anywhere outside the iCloud Drive > Shortcuts folder (however, when Ask Where to Save is used, it can) - not ideal for a fully automatic Shortcut! Workaround: Run Shell Script cat - > /Users/user/Desktop/filename (or cp /dev/stdin /Users/user/Desktop/filename), making sure to select the correct Input variable and setting Pass Input to stdin.
  • Open App does allow input variables but only to macOs Applications (.app) but does not work with command line (CLI) programs nor does it allow input parameters: Workaround: Shell scripts... this is becoming a trend.

I figure that stringing together a sequence of actions with many Shell scripts in between is surely sub-optimal e.g. Run Shell Script screencapture > Convert Clipboard to JPG > Run Shell Script cat, when a single script would do, e.g. screencapture followed by sips.

For now, I still have Automator scripts and liberally use AppleScript or Shell Scripts in my shortcuts. More to learn... I do hope Shortcuts gets more capabilities and third party app support in the future. Of course, I expect bugs and issues to be fixed in upcoming update(s), get to it Apple!