Capturing good screenshots in Mac OS X
requires some experimentation. If you simply want to capture the
screen for reference later on, you can do it easily with the built-in
screen-capture tool. However, if you are a professional writer or a
student preparing that term paper and need great-looking screen
shots, you have to spend a little more time exploring your options.
These screen capture tips provide built-in and add-on solutions to
just about anything you might wish to snap.
Mac OS X
Jaguar comes with a built-in
capability for capturing screenshots. To capture the entire screen,
simply press command-Shift-3 and a PDF grab of your current
view will appear on your desktop. Screenshots are numbered
sequentially, such as Picture 1.pdf,
Picture 2.pdf, and so on.
To capture a particular region of the screen, type
command-Shift-4 and highlight — using
click-and-drag — whatever portion of the screen
Figure 1. Capturing a portion of the screen
An extension to region grabbing is snagging a picture of a particular
window or dialog box. Press command-Shift-4, then the spacebar;
any window you run your mouse over will be highlighted. Click to
capture it. You can toggle back and forth between region and window
modes by pressing the spacebar.
To change your mind and cancel screen capture, press the Escape (Esc)
key on your keyboard.
While the built-in screen-capture tool is good enough for just about
all purposes, it has a couple of drawbacks. It
doesn't capture the mouse pointer in any of the
screenshots — not even optionally. This is a bust for technical writers
explaining the operation of menus, buttons, and so forth. Second,
while PDF is the be-all and end-all of all things GUI under Mac OS X,
I need my screenshots in PNG or TIFF. Sure, I can convert them using
Preview or the like [Hack #21],
but that's an extra step I simply
shouldn't have to take.
Figure 2. The cursor is not captured using screen capture
Mac OS X bundles a little utility called
(Applications → Utilities
→ Grab) which supports three
modes of screen capture: screen, selection (a.k.a. region), and timed
screen (captures the entire screen after a specific time interval).
Unlike its built-in counterpart, Grab saves to TIFF format and
optionally includes mouse pointers in its captures; it
even allows you to specify a preferred pointer (Grab →
Figure 3. Using the timed screen mode to capture action, mouse pointer included
There is one problem that I noticed with the selection capture. In
order to capture an active window using the selection mode, you need
to switch to Grab first. Yet doing so makes the window inactive and
fall to the background. Now, when I do a selection grab, I want to
capture the window in its active state.
The selection grab will also display the size of the image you are
capturing at the bottom right corner of the selection region. This is
useful if you need to capture images of an exact size. One gripe
though: you can't create a region of a particular
size and then move it about.
Oddly, while Capture → Window is listed,
it's grayed out and doesn't appear
to be functional.
Using Snapz Pro X
The ultimate screen-capture utility is
Snapz Pro X ($29, $49 with movie-capture support; 30-day demo
available) from Ambrosia Software Inc. (http://www.ambrosiasw.com/utilities/snapzprox/).
It sports customizability and multiple output formats, and it grabs
the screen as you see it, including or excluding that pesky mouse
arrow, at will.
Set up your shot and press command-Shift-3 (customizable) to
freeze the screen and take care of the details. You can choose the entire screen, objects
(windows or icons), or a region, even during Quicktime and DVD movie
playback (the built-in screen capture featrure is disabled while DVD
Player is active).
Figure 4. Taking care of SnapZ Pro X screenshot details
Selection capture, coming after you've set up your
screen just the way you like it,
allows you to take your time to mark out and alter the region before
double-clicking it to take the final shot.
Figure 5. Capturing a portion of the screen
Snapz Pro X can even capture the drop-shadows beneath a window.
Simply change the Border option under Image Options to Drop Shadow.
Prior to Snapz Pro X, I'd always have to switch the
background to white to capture the nice shadow around the window
without including a slice of my desktop image.
There's so much more to Snapz Pro X — like
recording screen activities as a QuickTime movie for purposes such as
product demos — that it's difficult to do it
justice in this quick overview. Download the 30-day trial and give it
a whirl yourself.
Screen Capture with Terminal
Terminal [Hack #48]
comes with a command-line version of the built-in
screen-capture utility, aptly named
screencapture. For usage instructions,
simply invoke it on the command line:
screencapture: illegal usage, file required if not going to clipboard
usage: screencapture [-icmwsWx] [file] [cursor]
-i capture screen interactively, by selection or window
control key - causes screen shot to go to clipboard
space key - toggle between mouse selection and
window selection modes
escape key - cancels interactive screen shot
-c force screen capture to go to the clipboard
-m only capture the main monitor, undefined if -i is set
-w only allow window selection mode
-s only allow mouse selection mode
-W start interaction in window selection mode
-x do not play sounds
file where to save the screen capture
To capture the entire screen, type screencapture
~/Desktop/image.pdf is the path and filename to
which you wish it saved. To capture the screen interactively in
regional or window mode, use screencapture -i
Figure 6. Using screencapture on the command line
If you prefer the output to go right to the clipboard rather than an
image file, use screencapture -c. Of course, you
can use these various command-line options in tandem;
screencapture -ic, for example, is an interactive
screen-capture session, sending the result to the clipboard.
You can grab a screenshot of a remote Mac's desktop
— or even the login screen — thanks to
screencapture and some not-so-fancy remote access
footwork [Hack #71]. Simply log in to the other Mac
remotely, run screencapture on the command line,
and copy the resulting screenshots back over to your local Mac.