Skip to main content
Center for Biomolecular NMR Spectroscopy
HomeUser GuidelinesSpectrometersSchedulingFeesUNIX Software InformationEducation and USER BASELinksContact Us

Bar Break

snapshot - save a portion of the screen in an image file

/usr/sbin/snapshot [-b]

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 ALT+F7.

Leftmouse functionality

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 of interest.

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 it.

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 image.

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 action.

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 will reappear.

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 menu.

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.
Bar Break

Home  -  Getting Started  -  Spectrometers  -  Scheduling  -  Fees  -  UNIX Information  -  Technical Resources  -  Links  -  Contact
UTHSCSA  -  Center for Biomolecular Structure Analysis  -  Department of Biochemistry  -  Disclaimer  -  Copyright

Last updated on July 17, 2003