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?

5 Answers5

24

Changing the prefix part of the names

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

Changing the format of the names

UPDATE: by 2021, the location of ScreenCapture.strings has moved from English.lproj (older macOS) to en.lproj (today's macOS).

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.

Lri
  • 105,117
  • 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. – yurisich 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 02 '15 at 09:37
  • I was not able to find <key>%@ %@ at %@</key> in the ScreenCapture.strings file with today's macOS, should I add this lines instead? And during sudo cp $f2 $f I am getting following error cp: cannot create regular : Operation not permitted . PS: sorry for commenting on 10 year old answer – alper Apr 20 '23 at 12:36
2

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

AlanJC
  • 3,003
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.

daviesgeek
  • 38,901
  • 52
  • 159
  • 203
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).

Troy
  • 474
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