screencapture
This subchapter looks at screencaptures, a Mac OS X-only command.
screencapture creates an image of the screen or a portion of the screen.
from the graphic user interface
The normal method for obtaining a screen capture is through the graphic user interface. Command-Shift-3 takes a screenshot of the screen and saves it as a file to the desktop under the name of Picture 1 (or next available number if there are already screenshots saved there).
If you have multiple monitors connected, each monitor is saved as a separate picture, named Picture 1, Picture 1(2), Picture 1(3), etc.
With Mac OS X 10.6 (Snow Leopard) the default name changes to Screen shot YYYY-MM-DD at HH.MM.SS XM, where YYY=year, MM=month, DD=day, HH=hour, MM=minute, SS=second, and XM = either AM or PM.
The basic screen capture options:
- Command-Shift-3: Take a screenshot of the entire screen and save it as a file on the desktop.
- Command-Shift-4, then select an area: Take a screenshot of an area and save it as a file on the desktop.
- Command-Shift-4, then space, then click on a window: Take a screenshot of a selected window and save it as a file on the desktop.
- Command-Control-Shift-3: Take a screenshot of the screen and save it to the clipboard.
- Command-Control-Shift-4, then select an area: Take a screenshot of an area and save it to the clipboard.
- Command-Control-Shift-4, then space, then click on a window: Take a screenshot of a selected window and save it to the clipboard.
In Mac OS X 5 (Leopard) or more recent, the following keys can be held down when selecting an area (with either Command-Shift-4 or Command-Control-Shift-4):
- Space: Used to lock the size of the selected region and move the selected region as the mouse moves.
- Shift: Used to resize only one edge of the slected region.
- Option: Used to resize the selected region with its center as the anchor point.
Different versions of Mac OS X have different default file formats for saving the screenshot:
- Mac OS X 10.2 (Jaguar): jpg
- Mac OS X 10.3 (Panther): pdf
- Mac OS X 10.4 (Tiger): png
changing defaults
The following methods use Terminal to change the default file format and location where the screenshot is saved from the graphic user interface.
In Mac S X 10.4 (Tiger) or more recent, the default screencapture format can be changed in Terminal by using the defaults command. In Mac S X 10.4 (Tiger), the new default does not take effect until you logout and log back in (from the entire computer, not just from Terminal a full restart will also work) unless you also use the killall command.
$ defaults write com.apple.screencapture type ImageFormat
$ killall SystemUIServer
The ImageFormat can be png (Portable Network Graphic), pdf (Portable Document Format), tiff (Tagged Image File Format), jpg or jpeg (Joint Photographic Experts Group), pict (Macintosh QuickDraw Picture), bmp (Microsoft Windows Bitmap), gif (Graphics Interchange Format), psd (Adobe Photoshop Document), sgi (Silicon Graphics File Format), or tga (Truevision Targe File Format).
JPGs are saved at quality 60%.
To change the default location where the screenshot file is saved (the default is Desktop), use the following Terminal command (where PathName is the full path to a directory.
$ defaults write com.apple.screencapture location PathName
$ killall SystemUIServer
The normal default location would be reset with the following command (where UserName is the current accounts user name.
$ defaults write com.apple.screencapture location /Users/UserName/Desktop
$ killall SystemUIServer
command line screenshots
You can also take screenshots from Terminal.
I needed a screenshot of the CONTROL-TAB selection of a program, but in the graphic user interface, I couldn't simultaneously run Command-Tab and Command-Shift-4, so I used the following command in Terminal to set a 10 second delay and save the screenshot selection:
$ screencapture -T 10 -t png controltab.png
You can add this command to your Mac OS X scripts.
The format is screencapture options filenames. List more than one file name if you have more than one monitor. You can use the options in any combination.
You can use the filename to change the file name from the normal default and to set a relative path to a directory/folder of your choice.
$ screencapture [-icMPmwsWxSCUt] [files]
The basic use, which takes an immediate screenshot in the default format and stores it with the designated filename (in this case Picture1) in the users home directory (not the desktop).
$ screencapture Picture1
Force the screenshot to go to the clipboard (the equivalent of the Command-Shift-Control- choices).
$ screencapture -c [files]
Capture the cursor as well as the screen. This applies only in non-interactive modes (such as a script).
$ screencapture -C [files]
Display errors to the user graphically.
$ screencapture -d [files]
Capture the screenshot interactively by either selection or window (the equivalent of Command-Shift-4). Use the CONTROL key to cause the screenshot to go to the clipboard. Use the SPACE key to toggle between mouse selection and window selection modes. Use the ESCAPE key to cancel the interactive screen shot.
$ screencapture -i [file]
Use the -m option to only capture the main monitor. This does not work if the -i option is also set.
$ screencapture -m [file]
Send the screenshot to a new Mail message.
$ screencapture -M [files]
Use the -o option in window capture mode to only capture the window and to not capture the shadow of the window.
$ screencapture - o [file]
After savng the screenshot, open the screen capture output in Preview.
$ screencapture -P [files]
Use -s to only allow mouse selection mode.
$ screencapture -s [files]
Use -w to only allow window selection mode.
$ screencapture -w [file]
Use -W to start interaction in the window selection mode.
$ screencapture -W [file]
Use the -S option in window capture mode to capture the screen rather than the window.
$ screencapture -S [files]
Set the format with the -t option. The Format can be png (Portable Network Graphic), pdf (Portable Document Format), tiff (Tagged Image File Format), jpg or jpeg (Joint Photographic Experts Group), pict (Macintosh QuickDraw Picture), bmp (Microsoft Windows Bitmap), gif (Graphics Interchange Format), psd (Adobe Photoshop Document), sgi (Silicon Graphics File Format), or tga (Truevision Targe File Format)
$ screencapture -tFormat [files]
Set a delay time in seconds. The default is five seconds.
$ screencapture -TSeconds [files]
Prevent the playing of sounds (no camera click sound).
$ screencapture -x [files]
comments, suggestions, corrections, criticisms
free music player coding example
Coding example: I am making heavily documented and explained open source code for a method to play music for free almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).
View music player in action: www.musicinpublic.com/.
Create your own copy from the original source code/ (presented for learning programming).
Because I no longer have the computer and software to make PDFs, the book is available as an HTML file, which you can convert into a PDF.
Names and logos of various OSs are trademarks of their respective owners.