18

When I save a screenshot I want to be able to specify any name I want (and maybe destination directory). Sharpshooter for mac does this, but it's a ridiculous $15. Cheaper alternatives?

22

Changing the prefix part of the names

defaults write com.apple.screencapture name "My Screenshot"
killall SystemUIServer

Changing the format of the names

f=/System/Library/CoreServices/SystemUIServer.app/Contents/Resources/English.lproj/ScreenCapture.strings
f2=~/Desktop/ScreenCapture.strings
sudo cp $f $f2
sudo chown $USER $f2
plutil -convert xml1 $f2
open $f2 -a TextEdit

Change

<key>%@ %@ at %@</key>
<string>%@ %@ at %@</string>

To something like

<key>%@ %@ at %@</key>
<string>My %@ %@ at %@</string>

(The default format is currently something like Screen Shot 2012-06-12 at 8.02.40 AM depending on the locale settings.)

sudo chown root $f2
sudo cp $f2 $f
killall SystemUIServer

Changing the default location

defaults write com.apple.screencapture location ~/Pictures/
killall SystemUIServer

Using custom scripts

I've disabled the default shortcuts and have assigned shortcuts to scripts like screencapture -i ~/Desktop/`date '+%y%m%d%H%M%S'`.png.

  • I would never ever ever recommend editing a file in /System/. You can change the prefix of new screen captures via defaults, e.g. defaults write com.apple.screencapture name "Foo Bar" and then killall SystemUIServer You will still get the date/time information at the end of the filename, but I think that's a feature. You've provided a great answer. It was just that one part that was dubious, IMO. – TJ Luoma Jun 15 '12 at 10:20
  • "depending on the locale settings" -- this is useful for people who are looking to get 24-hour time strings into their screenshots so they sort properly on your desktop! Change your date and time settings in system preferences to do this. – Droogans Jun 17 '15 at 18:44
  • I tried setting my screen capture location to a remote filesystem which is not always connected. Initially it worked. Then when I disconnected the filesystem it started using the desktop. When I reconnect to the filesystem, I need to do killall SystemUIServer again otherwise it keeps using the desktop. – P i Oct 2 '15 at 9:37
2

Skitch lets you do this, as well as online sharing, annotation, and drawing, and it's free.

  • Skitch is the cheapest and easiest solution, by far. If you don't already have it, I highly recommend that you take a look at it. – TJ Luoma Jun 15 '12 at 10:19
1

A much easier way than Laurie's answer is to use a free application called Deeper. It is really easy to use. Just enter in the name of that you want in the screenshot name field (under the General tab):

Click "Apply" and you are done. A nice feature of Deeper is the ability to restore all the default settings. If you've made a change to the settings that is causing your system to act up, no problem! At the bottom of each tab is a button that says "Restore Defaults". Deeper will fix up all your settings. I highly recommend this app, as it is free and adds a great deal of customization that OS X doesn't provide.

  • Is there a specific format to follow for the "Name:" field? – victor Feb 6 at 4:49
0

LittleSnapper does this and more. It's $40, but worth every penny.

  • It's also frequently available as part of Mac software 'bundles' where you can get 10 apps for $50, so keep an eyes out for that. – TJ Luoma Jun 15 '12 at 10:17
0

You can configure Better Touch Tool to open a window like the following after taking a screenshot:

enter image description here

where you can edit/annotate your screenshot and then save it with whatever name you like, or save it to the cloud.

It's a pay-what-you-want model (minimum $3). Best purchase I've ever made (for screenshot-ability and for many other reasons).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .