23 September 2009 Tips Comments

Everything you need to know about customizing screen captures

Everything you need to know about customizing screen captures

This post is a response to comment I received about the new screen capture naming conventions in Snow Leopard.

In a recent post, a commenter wondered if there was any way to get screen shot filenames back to how they were in Leopard. After a lot of searching and digging through system folders to find the answer, I discovered a lot of stuff about screen captures.

First it should be known that the correct term (at least in the Mac world) is screen capture. When you take one, SystemUIServer, a background process that controls several aspects of the Mac OS X user interface runs a program located at /usr/sbin/screencapture which has several different options for taking pictures of your screen. For instance, it can take window shots with or without shadow or open the taken picture in Preview. The full list of options can be found on its man page in the Mac OS X Reference Library.

When SystemUIServer triggers a screen capture, it uses a default set of options. Shadows are turned on, the picture is saved to the Desktop in PNG format, etc. Some of these options can be changed by rewriting to screencapture’s default preferences in ~/Library/Preferences/com.apple.screencapture.plist.

To modify the default preferences for screencapture, paste the following commands in the Terminal.

After setting each property, you must logout or restart SystemUIServer for the changes to take effect. You can do this by entering the following command in Terminal and pressing Enter.

killall SystemUIServer

Disable/Enable window shadow

Window shadows are enabled by default. You can control this setting with the following property. This only applies when taking single-windows screen captures.

Disable

defaults write com.apple.screencapture disable-shadow -bool true

Enable

defaults write com.apple.screencapture disable-shadow -bool false

Change file format

defaults write com.apple.screencapture type <format>

Availible formats are :

  • png (default)
  • pdf
  • jpg
  • jp2 (JPG2000)
  • gif
  • tif (TIFF)
  • bmp
  • pict
  • tga

Change capture folder

The default location is ~/Desktop however, you may change it to any path.

defaults write com.apple.screencapture location <path>

Change the filename

This is where it gets tricky. You may change the name of the file with the property :

defaults write com.apple.screencapture name <string>

However, this only changes the first part of the filename. For example, changing the name to “Picture” will save screen captures as “Picture 2009-09-23 at 2.13.30 PM”. There seems to be no built-in way to revert back to the old screenshot filename although, anything can be achieved with Automator.

I’ve created a Automator folder action that will monitor the Desktop for screen capture files and rename them back to the old format. You can of course modify this to your own liking.

Rename Screen Captures with Automator

Installing the folder action

  • Download RenameScreenCaptures.zip and unzip the file
  • Place “Rename Screen Capture.workflow” in ~/Library/Workflows/Applications/Folder Actions/
  • Right-click on your Desktop folder in your Home directory and select Folder Actions Setup form the Services menu
  • When prompted to  Chose a Script to Attach popup, select Rename Screen Capture.workflowFolder Actions Setup

Now when you take a screen capture, Folder Actions will kick in and renames the file sequentially.

  • tangaw
    Great tip - just what I was looking for. I used to use a modified version of the existing system finder Applescript to rename "Picture" to whatever I wanted providing sequentially named files of whatever I was planning. This became impossible because of the changing file names in snow leopard.

    Top tip and tutorial in Automator.

    Thanks a million

    tangawk
  • Name
    I've attempted to use the Automator script to rename the files, yet I've run into a snag. When automator first renames the files, it does so flawlessly. If I then take additional screencaptures, the script runs into an error because it tries to rename the new Screen shot files to Picture 01/02/etc. again. These filesnames already exist, so the action fails. What can I do to make this script rename files starting with the lowest valid name (ie start with Picture 04 if it senses the presence of files named Picture 03, Picture 02, and Picture 01)?
  • i1pro
    The new naming convention in Snow really sucks.. The names are so long that I can't even ready Screenshot... If i wanted the dates before I just looked at the inspector. Seems to me like the typical bad idea of a marketing guy in apple.

    Anyway.. Thanks a lot for this workflow!!
blog comments powered by Disqus