Commit Diff


commit - 2fb0c4447ef493da81703dd20090676ed8cae834
commit + c0cc7cc4da05b5e0c20937a2e1097d4ec200b996
blob - d3208027819e4557f4557debaaf9dbe801080ed0
blob + 9064df0ef5907368178a63c5d4cd2b462c594783
--- man/man1/page.1
+++ man/man1/page.1
@@ -1,6 +1,6 @@
 .TH PAGE 1
 .SH NAME
-img, psv \- view 
+page \- view 
 FAX, 
 image, graphic, PostScript, PDF, and
 typesetter output
@@ -8,67 +8,265 @@ files
 .SH SYNOPSIS
 .B page
 [
+.B -abirPRvVw
+]
+[
+.B -p
+.I ppi
+]
+[
 .IR file ...
 ]
+.SH DESCRIPTION
+.I Page
+is a general purpose document viewer.
+It can be used to display the individual pages
+of a
+PostScript,
+PDF,
+or 
+.IR troff (1)
+or 
+Unix's \fItex\fR(1)
+device-independent output
+file.
+.I Troff
+or 
+.I tex
+output is simply converted to PostScript in order to be viewed.
+It can also be used to view any number of
+graphics files
+(such as a 
+FAX
+page, 
+a Plan 9
+.IR image (7)
+file, an Inferno bitmap file, or other common format).
+.I Page
+displays these
+in sequence.
+In the absence of named files,
+.I page
+reads one from standard input.
 .PP
-.B img
-.I file.bit
+By default,
+.I page
+runs in the window in which it is started
+and leaves the window unchanged.
+The 
+.B -R
+option causes 
+.I page 
+to grow the window if necessary
+to display the page being viewed.
+The
+.B -w
+option causes 
+.I page 
+to create a new window for itself.
+The newly created window will grow as under the
+.B -R
+option.
+If being used to display 
+multipage documents,
+only one file may be specified on the command line.
 .PP
-.B psv
-.I file.ps
+The 
+.B -p 
+option sets the resolution for PostScript and PDF
+files, in pixels per inch.
+The default is 100 ppi.
+The
+.B -r
+option reverses the order in which pages are displayed.
 .PP
-.B psv
-.I file.pdf
-.SH DESCRIPTION
-Plan 9's
-.IR page (1)
-is not ported.
-Instead, 
+When viewing a document,
 .I page
-is a script that invokes
-.IR qiv (1)
-to view graphic files
-or
-.I psv
-to view PostScript and PDF.
-On Mac OS X,
+will try to guess the true bounding box, usually rounding up from
+the file's bounding box to
+8½×11 or A4 size.
+The 
+.B -b
+option causes it to respect the bounding box given in the file.
+As a more general problem,
+some PostScript files claim to conform to Adobe's
+Document Structuring Conventions but do not.
+The 
+.B -P
+option enables a slightly slower and slightly more
+skeptical version of the PostScript processing code.
+Unfortunately, there are PostScript documents
+that can only be viewed with the
+.B -P
+option, and there are PostScript documents that
+can only be viewed without it.
+.PP
+When viewing images with 
+.IR page ,
+it listens to the 
+.B image
+plumbing channel
+(see 
+.IR plumber (4))
+for more images to display.
+The 
+.B -i
+option causes 
 .I page
-invokes Preview to handle all files.
+to not load any graphics files nor to read 
+from standard input but rather to listen
+for ones to load from the plumbing channel.
 .PP
-.I Img
-is a simple image viewer for Plan 9 images
-(see
-.IR image (7)).
+The 
+.B -v
+option turns on extra debugging output, and
+the
+.B -V
+option turns on even more debugging output.
+The 
+.B -a
+option causes 
+.I page
+to call
+Unix's \fIabort\fR(3)
+rather than exit cleanly on errors,
+to facilitate debugging.
 .PP
-.I Psv
-is a PostScript and PDF viewer.
-It is a streamlined interface to
-.IR gv (1).
+Pressing and holding button 1 permits panning about the page.
 .PP
-To view troff output, use
-.IR proof (1).
+Button 2 raises a menu of operations on the current image or the
+entire set.  The image transformations are non-destructive and are
+valid only for the currently displayed image.  They are lost as soon
+as another image is displayed.
+The button 2 menu operations are:
+.TF Resize
+.TP
+.B Orig size
+Restores the image to the original. All modifications are lost.
+.TP
+.B Zoom
+Prompts the user to sweep a rectangle on the image which is 
+expanded proportionally to the rectangle.
+.TP
+.B Fit window
+Resizes the image so that it fits in the current window.
+.TP
+.B Rotate 90
+Rotates the image 90 degrees clockwise
+.TP
+.B Upside down
+Toggles whether images are displayed upside-down.
+.TP
+.B Next
+Displays the next page.
+.TP
+.B Prev
+Displays the previous page.
+.TP
+.B Zerox
+Displays the current image in a new page window. 
+Useful for selecting important pages from large documents.
+.TP
+.B Reverse
+Reverses the order in which pages are displayed.
+.TP
+.B Write
+Writes the image to file.
+.PD
+.PP
+Button 3 raises a menu of the
+pages
+to be selected for viewing in any order.
+.PP
+Typing a
+.B q
+or
+control-D exits the program.
+Typing a
+.B u
+toggles whether images are displayed upside-down.
+(This is useful in the common case of mistransmitted upside-down faxes).
+Typing a
+.B r
+reverses the order in which pages are displayed.
+Typing a 
+.B w
+will write the currently viewed page to a new file as a compressed
+.IR image (7)
+file.
+When possible, the filename is of the form
+.IR basename . pagenum . bit .
+Typing a 
+.B d
+removes an image from the working set.
+.PP
+To go to a specific page, one can type its number followed by enter.
+Typing left arrow, backspace, or minus displays the previous page.
+Typing right arrow, space, or enter displays the next page.
+The up and down arrow pan up and down one half screen height,
+changing pages when panning off the top or bottom of the page.
+.PP
+.I Page
+calls
+Unix's \fIgs\fR(1)
+to draw each page of PostScript
+and
+PDF
+.IR files .
+It also calls a variety of conversion programs, such as those described in
+.IR jpg (1),
+to convert the various raster graphics formats
+into Inferno bitmap files.
+Pages are converted ``on the fly,'' as needed.
+.SH EXAMPLES
+.TP
+.L
+page /sys/src/cmd/gs/examples/tiger.eps
+Display a color PostScript file.
+.TP
+.L
+page /usr/inferno/icons/*.bit
+Browse the Inferno bitmap library.
+.TP
+.L
+man -t page | page -w
+Preview this manual in a new window.
 .SH "SEE ALSO
 .IR gs (1),
-.IR gv (1),
 .IR jpg (1),
 .IR proof (1),
 .IR tex (1),
 .IR troff (1)
 .SH SOURCE
-.B \*9/src/cmd/draw/img.c
-.br
-.B \*9/bin/psv
+.B \*9/src/cmd/page
+.SH DIAGNOSTICS
+The mouse cursor changes to an arrow and ellipsis
+when
+.I page
+is reading or writing a file.
 .SH BUGS
-When using Preview on Mac OS X,
+.I Page
+supports reading of only one document
+file at a time, and
+the user interface is clumsy when viewing very large documents.
+.PP
+When viewing multipage PostScript files that do not contain
+.RB `` %%Page ''
+comments, the button 3 menu only contains
+``this page'' and ``next page'':
+correctly determining 
+page boundaries in Postscript code is not computable
+in the general case.
+.PP
+If
 .I page
-leaves temporary files in
-.BR /var/tmp ,
-since it has no way to know when the viewer has exited.
+has trouble viewing a Postscript file,
+it might not be exactly conforming: try viewing it with the 
+.B -P
+option.
 .PP
-.I Page
-does not handle
-Plan 9 
-.IR image (7)
-files; use
-.I img
-explicitly.
+The interface to the plumber is unsatisfactory.  In particular,
+document references cannot be sent 
+via plumbing messages.
+.PP
+There are too many keyboard commands and menu items.