snapshot - save a portion of the screen in an image file
snapshot reads an area of the screen specified by the user, and saves it
in an image file. To use snapshot, place the snapshot button window
someplace other than where you wish to grab. Then, with the input focus
attached (i.e. the mouse is inside the snapshot window), hold down a
modifier key (shift, ctrl) on the keyboard to maintain the input focus,
and move the mouse to one of the four corners of the section of the
screen you wish to save. Now press left mouse and continue holding it
down while you stretch out a red rubberband to the opposite corner of the
area of interest. To tell snapshot to make the image file, go back to
the snapshot window, press the right mouse and choose one of the two
"Save" menu items. You can repeat this sequence in various ways until
such time as you wish to exit. At this point, you can choose one of the
two exit menu items with the right mouse. To move the snapshot window
itself, use your favorite window manager accelerator functions, such as
The left mouse button stretches, reshapes, moves or starts an entirely
new rubberband for you. The cursor is the constant visual indicator of
what will happen if you press left mouse. As long as your input focus is
directed to snapshot you will see one of 4 different cursor types
depending on the location of the mouse:
camera cursor - will appear when you are on top of any area of the
console screen other than on the sides or inside of the rubberband area
corner cursor - will appear when you are in the immediate vicinity of one
of the 4 corners of the currently placed rubberband.
horizontal/vertical cursor - will appear when you are in the immediate
vicinity of one of the 4 sides of the currently placed rubberband.
move cursor - will appear when you are fully inside the rubberband area.
When your cursor is anywhere other than on top of the snapshot window,
whichever of the four cursors you see will tell you what will happen at
that point if you press the left mouse button: if you see the camera
cursor this means that by pressing the left mouse, you will start
creating a new rubberband that you can stretch out in any direction which
will stop when you let go of the mouse button; when you see either the
horizontal, vertical, or corner cursors this means that pressing left
mouse at this time will enable you to stretch the corner or side of
interest and continue doing so until you release the mouse button; when
the move cursor is visible (while inside of the rubberband), pressing
left mouse at this point enables you to move the entire rubberband in its
current shape and size until you let go of the mouse. When you see the
move cursor, you may also press middle mouse to move the rubberband.
To pop the snapshot button window, press down the left mouse button while
your cursor is on top of the window, and release it without moving more
than one pixel in any direction.
Pop-up Menu options
Snapshot uses the gl command fullscrn() which has some "humorous" side
effects. One of them is that unless the cursor is on top of the actual
window for the graphics program (in this case, the snapshot button
window), pressing right mouse will NOT bring up that program's menu.
Thus, to access the pop-up menu options, you must always bring the cursor
back on top of the snapshot button window before pressing right mouse to
access snapshot's pop-menu.
The pop-up menu currently has five items defined:
o The first item reads Save scrn as snap.rgb if you have just started
up snapshot and have not yet swept out a rubberband. This will
create an image file of the entire console screen (notice that at
this point there is a red rubberband that encloses the entire
console screen). Or else it will read Save as snap.rgb indicating
that a rubberband area of interest currently exists.
o The second item--New file name--will throw up a squat rudimentary
textport prompting you to input a new output image file name. If,
after having called up the textport, you decide you don't want to
change the output image file name, simply pressing carriage with an
empty string will exit the textport and not change the filename.
o The third item--Ipaste snap.rgb--allows you to paste up the image
you have most recently made. Notice that after you have swept out
some sub-section of the screen with the red rubberband, but before
you have yet selected Save as snap.rgb, the Ipaste entry shows up as
a grey color instead of the solid black of the other menu items.
This is because you have not yet created the actual image file--
hence there is nothing for ipaste to lock on to out in the IRIS
universe. Once you have chosen Save as snap.rgb, then when you
pop-up the menu again, you will see that the Ipaste menu item is now
solid black indicating that ipaste now has a fix on the currently
saved image file you have created. The same thing will happen after
you have selected New file name but before you save an image into
Notice that ipaste(1G) now recognizes the Esc key as a short-cut to
closing the ipaste image window. This is especially useful when
ipaste is called with the -n option--as snapshot uses it--since
there is no border to specify a call to exit from.
o The fourth item--Redraw Rubberband--will redraw the rubberband. This
is usefull for when something else erases the rubberband.
o The fifth item--Save and Exit--will save whatever you currently have
selected, and then exit the program.
o The sixth item--Exit--will simply exit the program without saving
anything that may be currently defined to be snapshoted.
There is a window constraint that affects ipaste(1G) which users of
snapshot will run into: under 4Dwm, the minimum ipaste window width is
now constrained to be 88 pixels. See the ipaste(1G) man page for more
details about why this is so.
On machines having less than 24 bits available for RGB display, the
displayed image may appeared to have lost some quality. This occurs when
the image that was saved was in colormap mode. The pixel color index is
expanded into the full RGB information. When redisplayed, the RGB
information is dithered on these machines to approximate the original
When you have selected the Save ... as ... pop-up menu item and snapshot
is busy reading pixels, the cursor will change to an hourglass until this
proces s is finished. Another visual cue (in case you move the cursor
elsewhere and let go of the input focus) is that the word "Snapshot" that
is written on top of the snapshot button window--which is normally
WHITE--turns to RED for the duration of the pixel reading/image file
building sequence. It reverts to WHITE when the image file is completed.
The -b option includes a bell-ringing audio cue which will then ringbell
with a short duration upon completion of every Save operation. The text
string "snapshot" which appears in the snapshot button window will always
turn RED when an image file is being created, and return to WHITE when
finished, but the -b ring-the-bell option was included for those wishing
to be more forcefully appraised that snapshot is ready for more input
Regarding what is actually saved into your image file, the pixels that
are underneath the red rubberband are NOT grabbed by snapshot. This means
that where specific pixel boundaries are critical, you must be sure that
what you want to make into an image file is exactly inside the red
rubberband--but not underneath these red border lines. The one exception
to this is when the program is first invoked. As mentioned above,
snapshot starts up with the default red rubberband set to the full
console screen. In this case, if you select Save scrn as snap.rgb, the
red rubberband will first disappear, then an image file of size
XMAXSCREEN by YMAXSCREEN will be created, and finally the red rubberband
It is possible under extreme circumstances to get fragments of the red
outline to remain on the screen. If this happens, place the red
rubberband over the fragments and then move the rubberband again.
snapshot makes use of the fullscrn() GL command which, as the Reference
Manual warns, must be used "with caution or a sense of humor." In this
case, caution is advised: when wishing to access the pop-up menu, not
only must your cursor be moved back on top of the snapshot button window,
but to work as intended, you must release whichever key on the keyboard
you have been holding down to maintain the input focus while the cursor
has been outside of this button window. Not releasing said keyboard
button will produce "humor[ous]" results when playing with the pop-up
Another side effect of using fullscrn() while drawing the rubberband in
the overlay or popup planes is collision with other utilities also using
the overlay or popup planes. To restore the snaphot rubberband, select
"Redraw Rubberband" from the popup menu.
snapshot is not yet smart enough to make sure there is enough free space
on the disk partition from where snapshot itself was originally executed,
before it blindly goes off and attempts to allocate enough memory to
build an image file of the area you specify. Hence, if you find that an
image that you paste up on the screen looks "funny", run DF(1) to first
confirm that the disk partition that snapshot is running on has not had
all of its "avail" space used up.