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 Answers
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
.
-
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 thenkillall 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 LuomaJun 15, 2012 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.– yurisichJun 17, 2015 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 iOct 2, 2015 at 9:37 -
I was not able to find
<key>%@ %@ at %@</key>
in theScreenCapture.strings
file with today's macOS, should I add this lines instead? And duringsudo cp $f2 $f
I am getting following errorcp: cannot create regular : Operation not permitted
. PS: sorry for commenting on 10 year old answer– alperApr 20 at 12:36
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.
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 LuomaJun 15, 2012 at 10:17
You can configure Better Touch Tool to open a window like the following after taking a screenshot:
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).