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>]
gv allows to view and navigate through PostScript and PDF documents on an X display by providing a user interface for the ghostscript interpreter (see ghostscript for further information on ghostscript).
Please note that gv is derived from Tim Theisen's ghostview 1.5 (see ghostview for further information on ghostview 1.5).
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.
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.
Whether to use antialiasing.
Start ghostscript with additional options as specified by the string <arguments>.
Whether the page should be centered automatically.
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.
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.
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).
Print the version number of gv to standard output and exit.
Display a short help message and exit.
Display a more explicit help message and exit.
Selects the scale entry <n> relative to the scale 1.0. <n> must be an integer.
Selects the scale base <n>.
Sets the color palette to be used.
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.
Display the page with label <label> first.
Sets the orientation.
Whether to start ghostscript with the -dQUIET option.
Whether gv is allowed to automatically fit the size of its window to the size of the displayed page.
Whether to start ghostscript with the -dSAFER option.
This is a shortcut for "-style gv_spartan.dat".
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.
Whether to interchange the meaning of the orientations landscape and seascape.
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.
Resource files
In general gv does not depend on any external resource files. However, when starting gv, preferences are read from
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.
Whether antialiasing should be used. Valid values are "True" and "False".
Whether the displayed page should automatically be centered (for instance when opening a new file). Valid values are "True" and "False".
Whether gv is allowed to resize the main window according to the size of the current page. Valid values are "True" and "False".
Whether printing requires an extra confirmation. Valid values are "True" and "False".
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.
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".
Defines the behaviour of the postscript scanner as described in the Options section. Valid values are "True" and "False".
Determines whether gv should attempt to respect document structuring comments. Valid values are "True" and "False".
Defines the interpretation of directions when scrolling with the mouse. Valid values are "True" and "False".
Whether the meaning of "landscape" and "seacape" should be interchanged. Valid values are "True" and "False".
Specifies a directory used to store temporary data.
Specifies the default destination directory for files to be saved.
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.
Whether the document should be checked periodically and updated automatically if changes are detected. Valid values are "True" and "False".
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.
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.
The command used to start the ghostscript interpreter.
The command used to extract document structuring comments from a PDF file.
The command used to convert a PDF file to PostScript.
The ghostscript command line option which activates the "X11" device.
The ghostscript command line option which activates the "X11" device with antialiasing enabled.
Determines whether ghostscript should be started with the "-dSAFER" command line option.
Determines whether ghostscript should be started with the "-dQUIET" command line option.
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.
Describes the menu that pops up when preparing to to zoom an area of the displayed page.
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.
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".
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.
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".
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".
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.
Defines a minimum size for the main window. Valid values for both resources are positive integers larger than 200.
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.
Selects the initial scale base. The value of this resource should be a positive integer.
Defines the available scales bases and scales in the "Scale" menu.
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.
Defines the paper-size to be used when automatic orientation detetction fails. Valid values are "portrait", "landscape","seascape" and "upside-down".
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.
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.
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/doc\n\ /usr/local/doc GV*filter: no .* GV*filters: None\n\ *.*ps* *.pdf* no .*\n\ *.*ps* no .*\n\ *.pdf* no .*\n\ no .*
The following mouse events are defined when the mouse pointer is either on the displayed page or on a zoomed area:
Scrolls the displayed page 'proportionally'.
Scrolls the displayed page 'absolutely'.
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.
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.
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.
Redisplays the current page. This event sequence works only in the main window.
Pops up a small menu which offers a few standard actions like 'Redisplay', 'Mark Page', etc.
The following mouse events are defined when the mouse pointer is in the window of either a file or a directory list:
Scrolls a file or directory list 'proportionally'.
Scrolls a file or directory list 'absolutely'.
Scrolls a file or directory list one page up/down if the button was pressed in the upper/lower half of the list.
Selects the file and closes the File Selection popup.
Causes the contents of this directory to be displayed.
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):
Scrolls the table of contents.
Go to this page.
Mark this page if it is unmarked, but unmark it if it is marked.
Marks/unmarks all unmarked/marked pages in the region crossed by the mouse pointer during the movement.
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:
Scrolls the displayed page.
Display the previous page.
Display the next page.
The ">>" and "<<" buttons are used to move to another page. The following mouse events are defined:
Move 1 page forward/backwards.
Move 5 pages forward/backwards.
Move 10 pages forward/backwards.
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
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 -screena 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 291Note 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.
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 button1directly 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.
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
<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.
xdvi
).
Cannot get Window from ghostview
"
and then Ghostscript exits.
They have been removed in order to make more room for the image. The displayed portion of the image may be moved by dragging the image or the paner (panel between the Save Marked and << >> buttons) with the mouse. Alternatively, the cursor arrow keys can be used.
Use the "spartan" style by starting gv with the command
gv -spartanThis removes the Open, Print, Save, Redisplay, and page marking buttons (they are still available from the File and Page menus) and replaces them with the document attribute controls, which are normally along the top.
xdvi
).
Antialiasing can improve the display of bitmapped fonts
(eg. from TeX) when displayed on a colour or greyscale screen. The same
technique is used by xdvi
. Note that antialiasing requires
at least Ghostscript version 4.x.
Antialiasing can be turned on from the State menu, and can be made default by saving the setting in State | gv Options.... It is not on by default because it's slower.
There are two methods that can be used to save the contents of the window when it's not currently displayed: backing store and backing pixmap. Some X-servers seem to support only backing store (eg. VAXstations) and some only backing pixmap (eg. some X-terminals, including EWS).
In order to force gv to use one method or the other, use the State | Setup Options ... menu and toggle the Backing Pixmap button. When selected/highlighted (normally the default), gv will use backing pixmap; otherwise it will use backing store. Select Apply to use a new setting and Save to make it the new default.
This occurs on EWS X-terminals, which do not implement bitmap/pixmap displaying properly. To fix this you need a Ghostscript resource file containing the following line
Ghostscript*useXPutImage: falseOn Unix, put the above line into a file called
~/Ghostscript
.
On VMS, it should go into GHOSTSCRIPT.DAT
, which
should be placed in your home directory (i.e. where
you find yourself immediately after logging in) unless you have
redefined the logical name DECW$USER_DEFAULTS
, in which case it
should go in the directory specified by this logical name.
Cannot get Window from ghostview
" and then Ghostscript
exits.
Ghostscript reserves the environment
variable GHOSTVIEW
(logical
name or DCL symbol on VMS) for internal use, so it should not be used for
other purposes (eg. as a VMS command symbol for this program;
use GV
instead).
The source code of the most recent version of gv may be obtained from the following sources:
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
Copyright © 1992-1997 Johannes Plass, Timothy O. Theisen
gv is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
gv is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Please send suggestions or bug reports to plass@thep.physik.uni-mainz.de.
Tim Theisen created ghostview 1.5, which was the starting point of gv.
Peter Deutsch is the author of the ghostscript interpreter, without which gv would be not more than an empty hull.
Kaleb S.Keithley turned Xaw into the extremely nice Xaw3d widget set.
Keith Packard invented the Layout widget, the heart of gv's widget tree.
Finally I'd like to thank Jim Jennis (James_H_Jennis@mail.mmmg.com) for carefully testing all versions of gv. If there is something like the notion of a 'chief-beta-tester' he deserves this attribute for his careful and devoted work.
The ghostscript interpreter may be obtained via anonymous ftp from ftp.cs.wisc.edu.
gv is based on Tim Theisen's ghostview 1.5. ghostview 1.5 may be obtained via anonymous ftp from ftp.cs.wisc.edu.
The sources of Kaleb S. Keithley's modification of the Xaw widget set may be obtained via anonymous ftp from ftp.x.org.