1PINFO(1)                    General Commands Manual                   PINFO(1)
2
3
4

NAME

6       pinfo - is user-friendly, console-based viewer for Info documents
7

SYNTAX

9       pinfo [options] [infopage]
10

DESCRIPTION

12       This  is  a  program for viewing info files. You specify which page you
13       want to read by passing it an infopage argument. This argument contains
14       the  name of an info page (i.e. 'bash').  The program will then (by de‐
15       fault)  search  for  it  in  the  current  directory,  /usr/share/info,
16       /usr/info, /usr/local/share/info, /usr/local/info.  and /opt/info.  The
17       search path can be adjusted by INFOPATH environment variable or in  the
18       configuration  file.  Pinfo  will  also  automatically  add  the suffix
19       '-info', '-info.Z', '-info.gz', or '-info.bz2'.
20
21       When the search for info pages fails, man is called with  the  infopage
22       argument,  and  its output is parsed by pinfo. This means that when you
23       don't have the appropriate info page, but have a man page instead;  the
24       man page will be viewed.
25
26       When no infopage is specified, the default `dir' page is shown.
27
28       Supported options are
29
30       -h, --help - print help information and exit.
31
32       -v, --version - print version information and exit.
33
34       -m,  --manual  - uses manual page instead of info by default. (pinfo -m
35       could be used as a manual pager). Warning: Everything what follows this
36       option  is  passed to the `man' program. Don't be confused if pinfo op‐
37       tions, which followed `-m' don't work. When using  this  option,  pinfo
38       does  not  parse  the info options as usual! It invokes the man part of
39       program.
40
41       You can also call the man function of pinfo in another way. When  pinfo
42       is  called  with an argv[0] (the program file name), which contains the
43       word 'man' in its name, the man functions are enabled automatically.
44
45       Previously there was a symlink to pinfo, called pman, but I had to  re‐
46       move it from the distribution, since its name was in conflict with some
47       other utility. Anyway, you can feel free to create such a link  if  you
48       wish.
49
50       -r, --raw-filename - uses a raw filename first (i.e. the name which you
51       specified as infopage is considered to be a real file in the  specified
52       location).
53
54       -f, --file synonym for -r.
55
56       -a,  --apropos  - if this is set, apropos is called when no man or info
57       page could be found.
58
59       -p, --plain-apropos - if this is set, call only apropos.
60
61       -c, --cut-man-headers - if this is set, man parsing code  will  try  to
62       cut out the repeated man headers. Use with care. ;)
63
64       -s, --squeeze-lines- cut empty lines from manual pages. This option en‐
65       ables auto cutting of every repeated newline in a manual page.
66
67       -d, --dont-handle-without-tag-table - don't display texinfo pages with‐
68       out tag table.
69
70       -t,  --force-manual-tag-table-  forces  manual  detection of tag table.
71       This allows you to view info pages, which may be  corrupted.  (as  i.e.
72       version  of  jed's pages, shipped with RH5.0). The tag table corruption
73       usually appears in that the info links, which you follow, move  you  to
74       quite unexpected nodes.
75
76       --node=nodename,  --node  nodename-  Go  to the node `nodename' of info
77       file. Since 0.6.7 it is also possible to specify nodes as in standalone
78       info via file names, like `(gcc)Introduction'.
79
80       --rcfile=filename, --rcfile filename- Use alternate configuration file.
81
82       --long-manual-links,  -l-  Use long link names in manuals. On some sys‐
83       tems the manual hierarchy is divided into subsections like  `3ncurses',
84       etc,  while on other systems all belongs to section `3'. If this option
85       is what your system is like, feel free to use it.
86
87       --clear-at-exit, -x- Clear screen at exit.
88
89       The options are handled by GNU getopt, so you can  here  (as  in  other
90       programs)  abbreviate the option names to the minimal number of charac‐
91       ters by which the options differ.
92
93       Warning! If you do not have getopt, these options will not work!
94

DEFAULT KEYS WHEN BROWSING INFO FILE

96       Just take a look at the example configuration file (below), and at  the
97       key descriptions. Keys available in manual viewer differ a bit from the
98       keys available in info viewer.
99

ENVIRONMENT

101       There is a variable $INFOPATH,  which  can  specify  the  paths  to  be
102       searched  for  info  files. It's format is similar to that of the $PATH
103       variable. An example setting could look like:
104
105       /usr/info:/usr/somewhere/info:/not/even/in/usr/info
106
107       etc. Directories are separated by colons.
108
109

COLOR AND KEY DEFINITIONS

111       There are configuration files called ~/.pinforc  and  [prefix]/etc/pin‐
112       forc, for local and global configuration (where prefix is the prefix of
113       the directory, where  pinfo  is  installed,  i.e.  /usr/local,  or  /).
114       Here's an example of such a file; we'll discuss the contents below:
115
116       # Here are some color setting.
117       # Whitespace between the entries is optional.
118       COL_NORMAL = COLOR_WHITE, COLOR_BLACK, NO_BOLD, NO_BLINK
119       COL_MENUSELECTED = COLOR_RED, COLOR_BLACK, BOLD, NO_BLINK
120       COL_MENU=COLOR_BLUE,COLOR_BLACK,BOLD, NO_BLINK
121       COL_NOTESELECTED=COLOR_RED,COLOR_BLACK,BOLD, NO_BLINK
122       COL_NOTE=COLOR_GREEN,COLOR_BLACK,BOLD, NO_BLINK
123       COL_TOPLINE=COLOR_YELLOW,COLOR_BLUE,BOLD, NO_BLINK
124       COL_BOTTOMLINE=COLOR_YELLOW,COLOR_BLUE,BOLD, NO_BLINK
125       COL_MANUALBOLD=COLOR_WHITE,COLOR_BLACK,BOLD, NO_BLINK
126       COL_MANUALITALIC=COLOR_WHITE,COLOR_BLACK,BOLD, NO_BLINK
127       COL_URL=COLOR_MAGENTA,COLOR_BLACK,BOLD, NO_BLINK
128       COL_URLSELECTED=COLOR_RED,COLOR_BLACK,NO_BOLD, NO_BLINK
129       COL_INFOHIGHLIGHT=COLOR_WHITE,COLOR_BLACK,BOLD, NO_BLINK
130       #
131       # Here are some keybindings as well...
132       #
133       KEY_TOTALSEARCH_1 = 's'
134       KEY_TOTALSEARCH_2 = 'S'
135       KEY_SEARCH_1 = '/'
136       KEY_SEARCH_2 = '.'
137       KEY_GOTO_1='g'
138       KEY_GOTO_2='m'
139       KEY_HOME_1='h'
140       KEY_HOME_2='H'
141       KEY_PREVNODE_1='p'
142       KEY_PREVNODE_2='P'
143       KEY_NEXTNODE_1='n'
144       KEY_NEXTNODE_2='N'
145       KEY_UP_1=KEY_UP
146       KEY_UP_2='u'
147       KEY_END_1=
148       KEY_END_2='e'
149       KEY_PGDN_1=KEY_NPAGE
150       KEY_PGDN_2=' '
151       KEY_PGDN_AUTO_1=0
152       KEY_PGDN_AUTO_2=' '
153       KEY_PGUP_1=KEY_PPAGE
154       KEY_PGUP_2='b'
155       KEY_PGUP_AUTO_1=0
156       KEY_PGUP_AUTO_2='b'
157       KEY_DOWN_1=KEY_DOWN
158       KEY_DOWN_2='d'
159       KEY_TOP_1=KEY_HOME
160       KEY_TOP_2='t'
161       KEY_BACK_1=KEY_LEFT
162       KEY_BACK_2='l'
163       KEY_FOLLOWLINK_1=KEY_RIGHT
164       KEY_FOLLOWLINK_2='0
165       # 12 is a code for ctrl+l
166       KEY_REFRESH_1=12
167       KEY_REFRESH_2='~'
168       KEY_SHELLFEED_1='!'
169       KEY_SHELLFEED_2='1'
170       KEY_QUIT_1='q'
171       KEY_QUIT_2='Q'
172       KEY_DIRPAGE_1='d'
173       KEY_DIRPAGE_2='D'
174       KEY_GOLINE_1='l'
175       KEY_GOLINE_2=0
176       KEY_PRINT_1=']'
177       KEY_PRINT_2=0
178       #
179       # Some options, explained in the man page
180       #
181       MANUAL=false
182       CUT-MAN-HEADERS=true
183       CUT-EMPTY-MAN-LINES=true
184       RAW-FILENAME=false
185       APROPOS=false
186       DONT-HANDLE-WITHOUT-TAG-TABLE=false
187       LONG-MANUAL-LINKS=false
188       FILTER-0xB7=true
189       QUIT-CONFIRMATION=false
190       QUIT-CONFIRM-DEFAULT=no
191       CLEAR-SCREEN-AT-EXIT=true
192       STDERR-REDIRECTION="2> /dev/null"
193       HTTPVIEWER=lynx
194       FTPVIEWER=lynx
195       MAILEDITOR=pine
196       MANLINKS=1:8:2:3:4:5:6:7:9:n:p:o:3X11:3Xt
197       INFOPATH=/usr/info:/usr/share/info:/usr/local/info
198       HIGHLIGHTREGEXP=Bash.*has
199       SAFE-USER=nobody
200       SAFE-GROUP=nobody
201
202       As you can see, the format is simple. First I'll explain the color def‐
203       initions. First you must enter a color name (all available color  names
204       are  present  in  the  example,  and they're self explanatory, I think.
205       There is also a special color COLOR_DEFAULT, which stands for transpar‐
206       ency).  Then  you enter the foreground color, and the background color.
207       The BOLD attribute means that we want the foreground color to be  high‐
208       lighted. (i.e.  light blue, light green). BLINK attribute is the blink‐
209       ing attribute, or highlighted background in some other configurations.
210
211       Now let's move to the key definitions. Here we first  put  a  key  name
212       (again all keys are present in the example); then we enter its value --
213       either surrounded by apostrophes, or a keycode number (like in  KEY_RE‐
214       FRESH_1),  or its mnemonic code name if its a special key (like i.e. in
215       KEY_FOLLOWLINK_1).
216
217       If you wish to specify key by code  value,  use  the  supplied  program
218       'testkey'  to obtain the needed value. It mainly is a feature, when you
219       want to add some CTRL+letter keybindings, and similar.
220
221       For each function you can bind two keys, i.e. you could bind both Enter
222       and Cursor Right to the FollowLink-function.  As you can see in the ex‐
223       ample above, the  two  key  names  are  KEY_FOLLOWLINK_1  and  KEY_FOL‐
224       LOWLINK_2.
225
226       Here's an explanation of the key names:
227
228
229              KEY_TOTALSEARCH_1
230                        Key for searching through all nodes of info file.
231
232              KEY_TOTALSEARCH_2
233                        Alternate  key for searching through all nodes of info
234                        file.
235
236              KEY_SEARCH_1
237                        Key for searching through current node (or manual).
238
239              KEY_SEARCH_2
240                        Alternate key for searching through current  node  (or
241                        manual).
242
243              KEY_SEARCH_AGAIN_1
244                        Key for repeating the last search.
245
246              KEY_SEARCH_AGAIN_2
247                        Alternate key for repeating the last search.
248
249              KEY_GOTO_1
250                        Key  for explicitly going to a node (by specifying its
251                        name).
252
253              KEY_GOTO_2
254                        Alternate key for explicitly going to a node (by spec‐
255                        ifying its name).
256
257              KEY_PREVNODE_1
258                        Key  for  going  to  a  node  marked  as 'Prev' in the
259                        header. In man page viewer this goes to  the  previous
260                        man section.
261
262              KEY_PREVNODE_2
263                        Alternate  key for going to a node marked as 'Prev' in
264                        the header. In man page viewer this goes to the previ‐
265                        ous man section.
266
267              KEY_NEXTNODE_1
268                        Key  for  going  to  a  node  marked  as 'Next' in the
269                        header. In man page viewer this goes to the  next  man
270                        section.
271
272              KEY_NEXTNODE_2
273                        Alternate  key for going to a node marked as 'Next' in
274                        the header. In man page viewer this goes to  the  next
275                        man section.
276
277              KEY_UP_1  Key for scrolling text one line up.
278
279              KEY_UP_2  Alternate key for scrolling text one line up.
280
281              KEY_END_1 Key for going to the end of the node.
282
283              KEY_END_2 Alternate key for going to the end of the node.
284
285              KEY_PGDN_1
286                        Key for going one page down in the viewed node.
287
288              KEY_PGDN_2
289                        Alternate  key  for  going one page down in the viewed
290                        node.
291
292              KEY_PGDN_AUTO_1
293                        Key for going to the next node when you're at the  end
294                        of node (default is zero -- turned off).
295
296              KEY_PGDN_AUTO_2
297                        Alternate  key  for going to the next node when you're
298                        at the end of node (default is space, as for pgdn_2).
299
300              KEY_HOME_1
301                        Key for going to the beginning of the node.
302
303              KEY_HOME_2
304                        Alternate key for going to the beginning of the node.
305
306              KEY_PGUP_1
307                        Key for going one page up in the viewed node.
308
309              KEY_PGUP_2
310                        Alternate key for going one  page  up  in  the  viewed
311                        node.
312
313              KEY_PGUP_AUTO_1
314                        Key  for going to the `up' node, when being at the top
315                        of node. (Default value is zero -- turned off).
316
317              KEY_PGUP_AUTO_2
318                        Alternate key for going to the `up' node,  when  being
319                        at  the  top  of  node.  (Default value is `-', as for
320                        pgup_2).
321
322              KEY_DOWN_1
323                        Key for scrolling the text down one line.
324
325              KEY_DOWN_2
326                        Alternate key for scrolling the text down one line.
327
328              KEY_TOP_1 Key for going to the top (first) node.
329
330              KEY_TOP_2 Alternate key for going to the top (first) node.
331
332              KEY_BACK_1
333                        Key for going back (in the history of viewed nodes).
334
335              KEY_BACK_2
336                        Alternate key for going back (in the history of viewed
337                        nodes).
338
339              KEY_FOLLOWLINK_1
340                        Key for following a hypertext link.
341
342              KEY_FOLLOWLINK_2
343                        Alternate key for following a hypertext link.
344
345              KEY_REFRESH_1
346                        Key  for  refreshing  the screen (hard coded is the ^L
347                        value).
348
349              KEY_REFRESH_2
350                        Alternate key for refreshing the screen.
351
352              KEY_SHELLFEED_1
353                        Key for calling  a  shell  command,  and  passing  the
354                        viewed node to the stdin of that command.
355
356              KEY_SHELLFEED_2
357                        Alternate key for calling a shell command, and passing
358                        the viewed node to the stdin of that command.
359
360              KEY_QUIT_1
361                        Key for exiting the program.
362
363              KEY_QUIT_2
364                        Alternate key for exiting the program.
365
366              KEY_GOLINE_1
367                        Key for going to a specified line in file.
368
369              KEY_GOLINE_2
370                        Alternate key for going to a specified line in file.
371
372              KEY_PRINT_1
373                        Key for printing viewed node or man page.
374
375              KEY_PRINT_2
376                        Alternate key for printing viewed node or man page.
377
378
379       The special mnemonics for keys (which are defined at present) are:
380
381
382              KEY_BREAK
383
384              KEY_DOWN
385
386              KEY_UP
387
388              KEY_LEFT
389
390              KEY_RIGHT
391
392              KEY_DOWN
393
394              KEY_HOME
395
396              KEY_BACKSPACE
397
398              KEY_NPAGE
399
400              KEY_PPAGE
401
402              KEY_END [Note: this works probably ONLY with Linux ncurses]
403
404              KEY_F(x)
405
406              KEY_CTRL('c')
407                        - this assigns the key value to a ctrl+c  combination.
408                        c may be any letter you wish.
409
410              KEY_ALT('c')
411                        - this assigns the key value to a alt+c combination. c
412                        may be any letter you wish. If alt key won't work, you
413                        may use ESC+key combination.
414
415              'c'       -  this  means  a printable character c. The syntax is
416                        just like in C/C++ ;).
417
418              [number]  - you can also specify key as its code number.  It  is
419                        useful  e.g.  when  specifying  control keys, and some
420                        nonstandard keys.  A numerical  value  of  zero  turns
421                        given key binding off.
422
423       See manual page for curs_getch (3x) for description of their meaning.
424
425       Warning! Try not to create some serious key binding conflicts!
426
427       The  options  in the last part of the example configuration file should
428       be fairly self-explanatory.  The variables that can be set to  true  or
429       false  do  the  same things as the command line arguments with the same
430       names.
431
432
433              MANUAL    If this is set to true the default is to  first  check
434                        for a man page, instead of a texinfo file.
435
436              CUT-MAN-HEADERS
437                        If  set  to  true, then pinfo tries to cut off the re‐
438                        peated headers throughout man pages.
439
440              CUT-EMPTY-MAN-LINES
441                        If set to true, then pinfo tries to cut  off  the  re‐
442                        peated newlines (i.e. it will shorten each set of con‐
443                        secutive newlines to one newline).
444
445              RAW-FILENAME
446                        If set to true, the file argument is taken to  be  the
447                        name  of a file in the current working directory, i.e.
448                        the directories in INFOPATH will only be searched if a
449                        file with this name is not in the working directory.
450
451              APROPOS   If  set  to  true, apropos is called if no info or man
452                        page is found.
453
454              DONT-HANDLE-WITHOUT-TAG-TABLE
455                        If set to true , pinfo will  not  attempt  to  display
456                        texinfo pages without tag tables.
457
458              HTTPVIEWER
459                        Set this to the program you want to use to follow http
460                        links in documents.
461
462              FTPVIEWER Set this to the program you want to use to follow  ftp
463                        links in documents.
464
465              MAILEDITOR
466                        Set  this  to your favorite email program, and it will
467                        be started if you follow an email link in a document.
468
469              PRINTUTILITY
470                        Utility, which you use for printing.  I.e.  `lpr'.  If
471                        you  don't  use  any,  you may also try something like
472                        `cat >/dev/lp1', or sth. ;)
473
474              MANLINKS  This specifies the section names, which may be  refer‐
475                        enced in your man pages (i.e. Xtoolkit man pages match
476                        the section 3Xt  (see  for  example  XtVaCreateWidget)
477                        manpage), Xlib function pages match section 3X11, etc.
478                        Such extensions may not be recognized by  default,  so
479                        it is a good idea to add them).
480
481              INFOPATH  This  allows  you  to override the default search path
482                        for info pages.  The  paths  should  be  separated  by
483                        colons.
484
485              MAN-OPTIONS
486                        This  specifies the options, which should be passed to
487                        the `man' program.  (see  man(1)  for  description  of
488                        what they're like).
489
490              STDERR-REDIRECTION
491                        Pinfo  allows  you  to  redirect  the stderr output of
492                        called programs. For example if you don't want to  see
493                        man's error messages about manual page formatting, you
494                        can use STDER-REDIRECTION="2> /dev/null". This is  the
495                        default.
496
497              LONG-MANUAL-LINKS
498                        This  is  another  true/false  option,  which  decides
499                        whether  your  system  supports  long  manual  section
500                        names, or not. (i.e. "3ncurses" instead of "3").
501
502              FILTER-0xB7
503                        This  decides,  whether you want to convert 0xb7 chars
504                        to `o', or not. For example for iso-8859-2 fonts  this
505                        makes  man's list marks a bit nicer ;) (look for exam‐
506                        ple at perl's man page, to see how  those  marks  look
507                        like).
508
509              QUIT-CONFIRMATION
510                        This decides whether you want to use quit confirmation
511                        on exit, or not.
512
513              QUIT-CONFIRM-DEFAULT
514                        This yes/no option determines the  default  answer  to
515                        the  QUIT-CONFIRMATION dialog. (default answer is when
516                        you press a key, that does not match the  asked  ques‐
517                        tion).
518
519              CLEAR-SCREEN-AT-EXIT
520                        This  true/false option determines if you want to have
521                        your screen cleared at exit, or no.
522
523              CALL-READLINE-HISTORY
524                        This true/false option determines if you want to  have
525                        a  prompt of last history entry whenever calling read‐
526                        line wrapper, eg. in subsequent searches.
527
528              HIGHLIGHTREGEXP
529                        This is an option, through which you may pass to pinfo
530                        regexps, which should be highlighted when working with
531                        document. Warning! This may turn very slow if you  use
532                        it without care!
533
534              SAFE-USER This option is used to pass the name of user, to which
535                        suid when pinfo is run with root privileges.
536
537              SAFE-GROUP
538                        This option is used to pass  the  name  of  group,  to
539                        which suid when pinfo is run with root privileges.
540
541
542

INTERNATIONALIZATION SUPPORT

544       Pinfo  implements  general  features of gnu gettext library (the thing,
545       which you need to see national messages ;). But  it  is  not  the  end.
546       Pinfo  allows you to use national info pages! You only need to put them
547       to your info directory, into a subdirectory, which is called `$LANG'.
548
549

LICENSE

551       This program is distributed under the terms of GPL.
552
553

BUGS

555       Please send bug reports to the author.
556
557

AUTHOR

559       Przemek Borys <pborys@dione.ids.pl> Bas Zoetekouw <bas@debian.org>
560
561       There was also a lot of other people, who contributed to this code. See
562       the AUTHORS file.
563
564

COMMENTS

566       The  author  would like to read some comments and suggestions from you,
567       if any.
568
569
570
571
572                                  01 Dec 2001                         PINFO(1)
Impressum