Table of Contents

Name

gv - a PostScript and PDF previewer

Synopsis


gv [ filename ]
   [-monochrome] [-grayscale] [-color]
   [-[no]safer] [-[no]quiet] [-arguments <arguments>]
   [-page <label>] [-[no]center]
   [-media <media>]
   [-portrait] [-landscape] [-upsidedown] [-seascape]
   [-scale <n>] [-scalebase <n>]
   [-swap] [-noswap]
   [-antialias] [-noantialias]
   [-dsc] [-nodsc]
   [-eof] [-noeof]
   [-pixmap] [-nopixmap]
   [-watch] [-nowatch]
   [-?] [-h] [-help] [-v]
   [-resize] [-noresize]
   [-geometry [<width>][x<height>][{+-}<xoffset>{+-}<yoffset>]
   [-ad <resource file>]
   [-style <resource file>]
   [-spartan]
   [<other toolkit options>]

Description

gv allows to view and navigate through PostScript and PDF documents on an X display by providing a user interface for the ghostscript interpreter. Please note that gv is derived from Tim Theisen's ghostview 1.5.

Options

filename
The name of the file to be displayed. The file ending .ps may be omitted. filename may point to a compressed file (gzipped, zipped or compressed). Viewing PDF files requires at least ghostscript version 4.x.
-ad <resource file>
Read and use additional resources from the file <resource file>. These resources have higher priority than those provided in the context of the -style <resource file> option.
-antialias, -noantialias
Whether to use antialiasing.
-arguments <arguments>
Start ghostscript with additional options as specified by the string <arguments>.
-center, -nocenter
Whether the page should be centered automatically.
-dsc, -nodsc
Determines if document structuring convention (DSC) comments should be respected or ignored. If -nodsc is used gv will not attempt to examine the structure of the document but will pass the file to the ghostscript interpreter as a whole. In this case no page numbers are shown and freely moving around in the document is not possible. This option may help when viewing files not conforming to the document structuring conventions.
-eof, -noeof
Defines the behaviour of the postscript scanner used to examine the structure of the document. If -noeof is used the scanner will ignore end of file (EOF) comments. This may help when viewing documents which import other documents without enclosing them within the proper "BeginDocument" and "EndDocument" comments. If -eof is used, the scanner treats an EOF comment as marking the end of the file.
-pixmap, -nopixmap
If -pixmap is used gv tries to maintain off-screen regions of the displayed page by allocating a sufficiently large pixmap. If -nopixmap is used the X Server is responsible for maintaining obscured portions of the displayed page (see also the useBackingPixmap resource).
-v
Print the version number of gv to standard output and exit.
-h, -?
Display a short help message and exit.
-help
Display a more explicit help message and exit.
-scale <n>
Selects the scale entry <n> relative to the scale 1.0. <n> must be an integer.
-scalebase <n>
Selects the scale base <n>.
-monochrome, -grayscale, -color
Sets the color palette to be used.
-media <media>
Selects the paper size to be used. Valid values are names of paper sizes that appear in the list of page medias as given by the medias resource.
-page <label>
Display the page with label <label> first.
-portrait, -landscape, -seascape, -upsidedown
Sets the orientation.
-quiet, -noquiet
Whether to start ghostscript with the -dQUIET option.
-resize, -noresize
Whether gv is allowed to automatically fit the size of its window to the size of the displayed page.
-safer, -nosafer
Whether to start ghostscript with the -dSAFER option.
-spartan
This is a shortcut for -style gv_spartan.dat.
-style <resource file>
Read and use additional resources from the file <resource file>. These resources have lower priority than those provided in the context of the -ad <resource file> option.
-swap, -noswap
Whether to interchange the meaning of the orientations landscape and seascape.
-watch, -nowatch
The -watch option causes gv to check the document periodically. If changes are detected gv will automatically display the newer version of the file. The document is by default checked once every second. This can be changed via the watchFileFrequency resource. Note that sending gv the SIGHUP signal also causes an update of the displayed document. This method may be used by document creators to trigger gv remotely.

Resources

Resource files In general gv does not depend on any external resource files. However, when starting gv, preferences are read from a system specific resource file. The name of this file is as described by the XFILESEARCHPATH environment variable, or, if this variable is not defined, implementation dependant. In most cases it is /usr/X11/lib/X11/app-defaults/GV. Administrators may want to modify this file in order to set up gv according to the local needs of their system. a user specific resource file. The name of this file is either ~/.gv or as described by the XUSERFILESEARCHPATH environment variable. The files gv_user.ad and gv_system.ad (located in the library directory of gv, which is most probably either /usr/local/lib/gv/ or /usr/lib/gv/ may serve as a basis for constructing the user and system specific resource files. Note that the user and system specific resource files are not the only sources of preferences taken into account when gv is started. However, in practice these are the most important. Resources of gv The following describes some of the resources of gv. The precise syntax of some of the resource values may be inferred from the appended default system specific resource file.

antialias
Whether antialiasing should be used. Valid values are True and False.
autoCenter
Whether the displayed page should automatically be centered (for instance when opening a new file). Valid values are True and False.
autoResize
Whether gv is allowed to resize the main window according to the size of the current page. Valid values are True and False.
confirmPrint
Whether printing requires an extra confirmation. Valid values are True and False.
confirmQuit
Whether leaving gv requires extra confirmation. Valid values are 0 (Never), 1 (When processing) and 2 (Always). The default value is 1, which causes a confirmation request when trying to leave gv in the presence of pending PDF to Postscript conversions.
scrollingEyeGuide
If this resource is True scrolling via the keyboard causes a temporary border to be drawn around the previously visible area of the page. Allowed values are True and False.
ignoreEOF
Defines the behaviour of the postscript scanner as described in the Options section. Valid values are True and False.
respectDSC
Determines whether gv should attempt to respect document structuring comments. Valid values are True and False.
reverseScrolling
Defines the interpretation of directions when scrolling with the mouse. Valid values are True and False.
swapLandscape
Whether the meaning of landscape and seacape should be interchanged. Valid values are True and False.
scratchDir
Specifies a directory used to store temporary data.
defaultSaveDir
Specifies the default destination directory for files to be saved.
useBackingPixmap
If the value of this resource is False the X Server is advised that saving off-screen pixels of the displayed page would be beneficial (maintaining backing store). In this case gv does not actively maintain the contents of the page but relies on the X Server. The server is, however, always free to stop maintaining backing backing store. If the value of this resource is True the X Server is advised that maintaining backing store is not useful. In this case gv attempts to allocate a sufficiently large pixmap to store the contents of the displayed page.
watchFile
Whether the document should be checked periodically and updated automatically if changes are detected. Valid values are True and False.
watchFileFrequency
Defines the time in milliseconds elapsing between successive checks of the document when watchFile is set to True. Allowed values must be larger than 500.
printCommand
The command used for printing a file. The command may contain multiple '%s' wildcards which will be replaced by the name of the file to be printed.
gsInterpreter
The command used to start the ghostscript interpreter.
gsCmdScanPDF
The command used to extract document structuring comments from a PDF file.
gsCmdConvPDF
The command used to convert a PDF file to PostScript.
gsX11Device
The ghostscript command line option which activates the X11 device.
gsX11AlphaDevice
The ghostscript command line option which activates the X11 device with antialiasing enabled.
gsSafer
Determines whether ghostscript should be started with the -dSAFER command line option.
gsQuiet
Determines whether ghostscript should be started with the -dQUIET command line option.
gsArguments
May be used to provide additional command line options for the ghostscript interpreter. Starting gv with the -arguments <arguments> option will override this resource setting.
magMenu
Describes the menu that pops up when preparing to to zoom an area of the displayed page.
dirs
Defines a list of directories accessible via the Directories menu in the file selection window. The special value Home corresponds to the users home directory, the value Tmp corresponds to the scratch directory as defined by the scratchDir resource.
filter
Defines the default filter to be used when displaying a directory contents in the file selection window. A filter is specified according to the syntax


   <filter>    := [<filespecs>] [no <filespecs>]
   <filespecs> := <filespec> [<filespecs>]
   <filespec>  := filename possibly including wildcards '*'
                  which match any character.

Example: The filter


   GV*filter: *.ps *.pdf no .*

screens out all files with names starting with a dot and keeps of the remaining ones only those which end on .ps or .pdf.

filters
Defines a list of filters offered in the Filters menu of the file selection window. The filter None has a special meaning causing all files to be displayed when the corresponding menu entry is selected.
miscMenuEntries
Describes the menu that pops up when clicking with the third mouse button on the displayed page. The value of this resource is a list of menu entries. Allowed entries are update, redisplay, toggle_current, toggle_even, toggle_odd, unmark, stop, print_all, print_marked, save_all, save_marked and line.
showTitle
Whether the name of the displayed document should be shown in the title bar of the window. The name of gv's icon will also change accordingly if this resource is set to True.
maximumWidth, maximumHeight
When resizing gv will not attempt to exceed the size specified by these resources. These resources may be specified as a positive integer or as screen, optionally combined with a positive or negative offset. The default values listed above provide examples for this syntax. screen will automatically be replaced by the size of the screen.
minimumWidth, minimumHeight
Defines a minimum size for the main window. Valid values for both resources are positive integers larger than 200.
scale
Sets the initial scale. The value of this resource is the offset of the scale to be selected relative to the scale 1.0 in the the Scale menu.
scaleBase
Selects the initial scale base. The value of this resource should be a positive integer.
scales
Defines the available scales bases and scales in the Scale menu.
orientation
Sets the initial orientation. Valid values are portrait, landscape,seascape, upside-down and automatic. automatic causes gv to attempt to derive the correct orientation from document structuring comments.
fallbackOrientation
Defines the paper-size to be used when automatic orientation detetction fails. Valid values are portrait, landscape,seascape and upside-down.
medias
A list describing the page medias known to gv. List entries starting with ! or # will not appear in the Media menu but will still be used for automatic paper size detection.
pagemedia
Sets the paper size. Allowd values are as given in the above list of paper-sizes. Specifying automatic causes gv to attempt to derive the correct paper-size from document structuring comments.
fallbackPageMedia
Defines the paper-size to be used when automatic paper-size detetction fails. Valid values are as given in the above list of paper-sizes. The default user and system specific resource file


GV.pageMedia:           automatic
GV.orientation:         automatic
GV.fallbackOrientation: portrait
GV.swapLandscape:       False
GV.autoCenter:          True
GV.antialias:           False
GV.respectDSC:          True
GV.ignoreEOF:           True
GV.confirmPrint:        True
GV.reverseScrolling:    False
GV.scrollingEyeGuide:   True
GV.autoResize:          True
GV.maximumWidth:        screen-20
GV.maximumHeight:       screen-44
GV.minimumWidth:        400
GV.minimumHeight:       430
GV.confirmQuit:         1
GV.watchFile:           False
GV.watchFileFrequency:  1000
GV.showTitle:           True
GV.miscMenuEntries:     redisplay       \n\
                        # update        \n\
                        stop            \n\
                        line            \n\
                        toggle_current  \n\
                        toggle_even     \n\
                        toggle_odd      \n\
                        unmark          \n\
                        line            \n\
                        print_all       \n\
                        print_marked    \n\
                        save_all        \n\
                        save_marked
GV.scale:               0
GV.scaleBase:           1
GV.scales:              Natural size,   1.000,  screen  \n\
                        Pixel based,    1.000,  pixel   \n\
                        0.100,          0.100           \n\
                        0.125,          0.125           \n\
                        0.250,          0.250           \n\
                        0.500,          0.500           \n\
                        0.707,          0.707           \n\
                        1.000,          1.000           \n\
                        1.414,          1.414           \n\
                        2.000,          2.000           \n\
                        4.000,          4.000           \n\
                        8.000,          8.000           \n\
                        10.00,          10.00
GV.medias:              Letter,         612     792     \n\
                        # LetterSmall,  612     792     \n\
                        Legal,          612     1008    \n\
                        Statement,      396     612     \n\
                        Tabloid,                792     1224    \n\
                        Ledger,         1224    792     \n\
                        Folio,          612     936     \n\
                        Quarto,         610     780     \n\
                        # 7x9,          504     648     \n\
                        # 9x11,         648     792     \n\
                        # 9x12,         648     864     \n\
                        # 10x13,                720     936     \n\
                        10x14,          720     1008    \n\
                        Executive,      540     720     \n\
                        # A0,           2384    3370    \n\
                        # A1,           1684    2384    \n\
                        # A2,           1191    1684    \n\
                        A3,             842     1191    \n\
                        A4,             595     842     \n\
                        # A4Small,      595     842     \n\
                        A5,             420     595     \n\
                        # A6,           297     420     \n\
                        # A7,           210     297     \n\
                        # A8,           148     210     \n\
                        # A9,           105     148     \n\
                        # A10,          73      105     \n\
                        # B0,           2920    4127    \n\
                        # B1,           2064    2920    \n\
                        # B2,           1460    2064    \n\
                        # B3,           1032    1460    \n\
                        B4,             729     1032    \n\
                        B5,             516     729     \n\
                        # B6,           363     516     \n\
                        # B7,           258     363     \n\
                        # B8,           181     258     \n\
                        # B9,           127     181     \n\
                        # B10,          91      127     \n\
                        # ISOB0,                2835    4008    \n\
                        # ISOB1,                2004    2835    \n\
                        # ISOB2,                1417    2004    \n\
                        # ISOB3,                1001    1417    \n\
                        # ISOB4,                709     1001    \n\
                        # ISOB5,                499     709     \n\
                        # ISOB6,                354     499     \n\
                        # ISOB7,                249     354     \n\
                        # ISOB8,                176     249     \n\
                        # ISOB9,                125     176     \n\
                        # ISOB10,       88      125     \n\
                        # C0,           2599    3676    \n\
                        # C1,           1837    2599    \n\
                        # C2,           1298    1837    \n\
                        # C3,           918     1296    \n\
                        # C4,           649     918     \n\
                        # C5,           459     649     \n\
                        # C6,           323     459     \n\
                        # C7,           230     323     \n\
                        # DL,           312     624
GV.magMenu:             2,      2       \n\
                        4,      4       \n\
                        8,      8       \n\
                        16,     16      \n\
                        32,     32      \n\
                        64,     64
GV*Ghostview.background:                white
GV*Ghostview.foreground:                black
GV.gsInterpreter:       gs
GV.gsCmdScanPDF:        gs -dNODISPLAY -dQUIET -sPDFname=%s -sDSCname=%s pdf2dsc.ps
-c quit
GV.gsCmdConvPDF:        gs -dNODISPLAY -dQUIET  -dNOPAUSE -sPSFile=%s %s -c quit
GV.gsX11Device:         -sDEVICE=x11
GV.gsX11AlphaDevice:    -dNOPLATFONTS -sDEVICE=x11alpha
GV.gsSafer:             True
GV.gsQuiet:             True
GV.gsArguments:
GV.uncompressCommand:   gzip -d -c %s > %s
GV.printCommand:        lpr
GV.scratchDir:          ~/
GV.defaultSaveDir:      ~/
GV.fallbackPageMedia:   a4
GV.useBackingPixmap:    True
GV*dirs:                Home\n\
                        Tmp\n\
                        /usr/share/doc\n\
                        /usr/local/share/doc
GV*filter:              no .*
GV*filters:             None\n\
                        *.*ps* *.pdf*  no  .*\n\
                        *.*ps*   no  .*\n\
                        *.pdf*  no  .*\n\
                        no  .*

Mouse and key bindings

Mouse bindings in the Main and the Zoom window
The following mouse events are defined when the mouse pointer is either on the displayed page or on a zoomed area:
- press button 1, move mouse, release button 1
Scrolls the displayed page 'proportionally'.
- press button 3, move mouse, release button 3
Scrolls the displayed page 'absolutely'.
- double-click with button 1
In the main window this displays the previous/next page if the double-click occured in the left/right half of the window. In a zoom window it does nothing.
- press button 2, release button 2
Pops up a small menu which allows to choose a magnification for a certain area around the current mouse position. After selecting a magnification a zoom window pops up displaying the area at the chosen scale.
- press button 2, move mouse, release button 2
This draws and thereby defines a rectangular region which can be displayed in a zoom window. The magnification for the area can be selected by means of a popup menu which appears after releasing button 2.
- press button 1, press button 2
Redisplays the current page. This event sequence works only in the main window.
- press button 3, release button 3
Pops up a small menu which offers a few standard actions like 'Redisplay', 'Mark Page', etc.
Mouse bindings in the File Selection popup
The following mouse events are defined when the mouse pointer is in the window of either a file or a directory list:
- press button 1, move mouse, release button 1
Scrolls a file or directory list 'proportionally'.
- press button 2, move mouse, release button 2
Scrolls a file or directory list 'absolutely'.
- press button 2, release button 2
Scrolls a file or directory list one page up/down if the button was pressed in the upper/lower half of the list.
- double-click with button 1 on a filename
Selects the file and closes the File Selection popup.
- click with button 1 on a directory name
Causes the contents of this directory to be displayed.
Mouse bindings in the Table of Contents
The following mouse events are defined when the mouse pointer is in the window showing a list of page numbers of the current file (table of contents):
- press button 1, move mouse, release button 1
Scrolls the table of contents.
- press button 1 on a page number
Go to this page.
- press button 2 on a page number
Mark this page if it is unmarked, but unmark it if it is marked.
- press button 2, move mouse, release button 2
Marks/unmarks all unmarked/marked pages in the region crossed by the mouse pointer during the movement.
Mouse bindings in the Panner widget
The Panner widget is the rectangular region located close to the left edge of the main window. It indicates the size and the position of the visible area of the current page relative to the total page. The following mouse events are defined when the mouse pointer is in this region:
- press button 1, move mouse
Scrolls the displayed page.
- press button 2
Display the previous page.
- press button 3
Display the next page.
Mouse bindings in the
The ">>" and "<<" buttons are used to move to another page. The following mouse events are defined:
- press button 1
Move 1 page forward/backwards.
- press button 2
Move 5 pages forward/backwards.
- press button 3
Move 10 pages forward/backwards.
Key Bindings
The following key events are defined in the main window. Those bindings scrolling the page are also defined in zoom popups.


=== Notation:
s-X          means press "Shift"           and key "X"
c-X          means press "Ctrl"            and key "X"
sc-X         means press "Shift" or "Ctrl" and key "X"
=== Miscellaneous keys:
A            Toggle antialiasing on and off
O            Open a new file
Q            Quit gv
R            Toggle gv's resizing behaviour
I            Respect/Ignore document structuring
W            Watch file / Don't watch file
S            Save the marked pages
sc-S         Save the current file
P            Print the marked pages
sc-P         Print the current file
c-L          Redisplay the current page
.            Redisplay the current page
sc-.         Reopen the current file
M            Mark the current page
N            Unmark the current page
=== Orientation:
7            Orientation portrait
8            Orientation landscape
9            Orientation upside-down
0            Orientation seascape
=== Magnification:
sc-6         Select the scale entry -6 relative to the scale 1.0
sc-5         Select the scale entry -5 relative to the scale 1.0
sc-4         Select the scale entry -4 relative to the scale 1.0
sc-3         Select the scale entry -3 relative to the scale 1.0
sc-2         Select the scale entry -2 relative to the scale 1.0
sc-1         Select the scale entry -1 relative to the scale 1.0
^            Select the scale 1.0 (for german keyboard layout)
`            Select the scale 1.0
1            Select the scale entry 1 relative to the scale 1.0
2            Select the scale entry 2 relative to the scale 1.0
3            Select the scale entry 3 relative to the scale 1.0
4            Select the scale entry 4 relative to the scale 1.0
5            Select the scale entry 5 relative to the scale 1.0
6            Select the scale entry 6 relative to the scale 1.0
+            Select the next scale entry
=            Select the next scale entry
-            Select the previous scale entry
=== Navigating:
Arrow        Scroll in the direction of the arrow
s-Up         Scroll columns up   or jump -1 pages
s-Down       Scroll columns down or jump  1 pages
s-Left       Scroll rows left    or jump -1 pages
s-Right      Scroll rows right   or jump  1 pages
c-Up         Jump -1 pages (to top/left corner)
c-Down       Jump  1 pages (to top/left corner)
c-Left       Jump -5 pages (to top/left corner)
c-Right      Jump  5 pages (to top/left corner)
D,X,Z,Y,C    Identical to arrow up,down,left,left,right
V            Center the page
sc-Space     Scroll columns up   or jump -1 pages
Space        Scroll columns down or jump  1 pages
BackSpace    Scroll columns up   or jump -1 pages
Insert       Jump  -5 pages
Delete       Jump   5 pages
Home         Go to the first page
End          Go to the last page
Prior        Jump  -1 pages
Next         Jump   1 pages
Keypad 0-9   Highlight a page number
Keypad -     Highlight previous page number
Keypad +     Highlight next page number
Keypad Enter Jump to the highlighted page
c-Enter      Jump  -1 pages
s-Enter      Jump  -1 pages
Enter        Jump   1 pages
B            Jump  -1 pages
F            Jump   1 pages

Comments about the user interface

Scales
The Scale menu which allows to view the document at different sizes is divided into two parts. The first part shows a list of available scale bases, the second part, separated by a line, lists the relative scales which are applied with respect to the selected scale base. By default two scales bases are available, the Natural size and the Pixel based base. When choosing the Pixel based scale base a relative scale of 1.0 causes one postscript point to correspond to one pixel on the screen. When viewing a document at a relative scale of 1.0 using the Natural size base the page should appear in its real size, as if printed on paper. For the Natural size base to work properly gv has to know the correct size of the root window. Automatic detection of this size unfortunately only provides approximate results, therefore it is best if it is provided by the user. To do so the resource


   GV.screenSize:  <width> x <height>

should be added to the SCREEN_RESOURCES property of the screen the document is viewed on, with <width> and <height> describing the width and height of the root window in units of millimeters. For instance by using the command


   echo "GV.screenSize: 396 x 291" | xrdb -override -screen

a width of 346 mm and a height of 291 mm will be used for the Natural size scale base. Alternatively the resource


   GV.screenSize_<machine>_<disp>_<scr>:  <width> x <height>

may be added to a resource file read by gv. Here <machine> ,<disp> and ANGLED) describe the display on which gv displays the document. For instance, if the display is set to tic.tac.toe.wo:0.1 the resource should be specified as


   GV.screenSize_tic_0_1: 396 x 291

Note that this method doesn't work on VMS. As a last alternative the resource


   GV.screenSize:  <width> x <height>

may be added to one of the resource files. However, for obvious reasons this method should be used only on single user machines.

Scrolling
It is probably a de facto standard for user interfaces that windows are supposed to be scrolled by means of scrollbars attached to their sides. However, for various reasons the use of scrollbars has been minimized in gv. Instead, in all windows with obscured data, scrolling may be performed by pressing button1, moving the mouse, then releasing button1 directly in the window. This includes the displayed page, zoom popups, the table of contents and the file and directory lists displayed in the file selection popup.
Displaying new versions of a document
During document creation it is usually desirable to always display the newest version of the document in work. Instead of explicitly loading it via the file selection popup the most recent version can be displayed by pressing the Redisplay button in the main window (VMS users should use the Update File entry in the File menu). Choosing the Redisplay entry in the menu that pops up when clicking with the third mouse button anywhere on the displayed page certainly has the same effect. More comfortable is the "Watch File" feature which may be switched on by selecting the corresponding entry in the State menu. If activated gv will check every now and then if a new version of the displayed file exists. If so it will be displayed automatically. By default the file is checked about once every second. Finally it may also be left to the document creating program to trigger gv to update its display. To do so the program should send the SIGHUP signal to gv. For instance at the end of a shell script generating a postscript file from latex sources the line


   kill -SIGHUP <gv_pid>

may be added (here CR<gv_pid> is the process id of gv). Executing the script and thereby creating a new version of the document will then also cause the result to be displayed instantaneously. Please note that this feature is available only on X11 R6 based systems.

Availability

The source code of the most recent version of gv may be obtained from the following sources:

World Wide Web:
http://wwwthep.physik.uni-mainz.de/~plass/gv/
Anonymous ftp:
ftp://thep.physik.uni-mainz.de/pub/gv/

Authors


Johannes Plass             plass@thep.physik.uni-mainz.de
                           Department of Physics
                           Johannes Gutenberg University
                           Mainz, Germany
gv is derived from GhostView 1.5, created by
          Tim Theisen      Systems Programmer
Internet: tim@cs.wisc.edu  Department of Computer Sciences
    UUCP: uwvax!tim        University of Wisconsin-Madison
   Phone: (608)262-0438    1210 West Dayton Street
     FAX: (608)262-9777    Madison, WI   53706

Suggestions and bug reports

Please send suggestions or bug reports to plass@thep.physik.uni-mainz.de.


Table of Contents