The Shape of Everything
A website mostly about Mac stuff, written by August "Gus" Mueller
» Acorn
» Retrobatch
» Mastodon
» Instagram
» Github
» Maybe Pizza?
» Archives
» Feed
» Micro feed
May 4, 2023

Someone on the Flying Meat Forums managed to accidently nerd snipe me this morning with regards to taking timed screenshots:

"One missing feature is a timer to e.g. capture after 10 seconds. This would allow for capturing when hitting the keyboard shortcut isn’t always practical, e.g. when dragging something or holding down a menu."

My first thought was "oh, this should be done via AppleScript obviously". And then after implementing that with various options I thought "duh, folks are going to want Shortcuts support for this too", so I did that as well. And then finally the easiest thing was to just hold down the option key when using the New Image from Layered Screenshot menu item, and Acorn will wait 10 seconds.

I'm slightly amused that my brain went from the most non-obvious way, to slightly less non-obvious, and finally to maybe this is the obvious way to implement a feature. (My very first thought was "use Retrobatch", but then I saw the utility of it in Acorn).

A test build is up on the latest builds page, and here are the notes for it:

# New Screenshot Stuff.

  • Delayed layered screenshot: Hold down the option key when choosing the Image ▸ New Image from Layered Screenshot menu item and Acorn will wait an extra 10 seconds before taking the screenshot. This is awesome if you want to quickly switch to another app and open up a menu item.
  • New Shortcuts action to take screenshots. Layered or not, with or without shadows, only for a certain app, and even with a little delay. MacOS 11+ only.
  • New AppleScript command "screenshot" which you can use to take a layered screenshot, with various options including an option to only capture a specific app. Here's an example: tell application "Acorn" to screenshot app "Mail" delay 4 with layers and hiding shadows. You can also use "bundle identifier" instead of "app" to target a specific app name.