1PINFO(1) General Commands Manual PINFO(1)
2
3
4
6 pinfo - is user-friendly, console-based viewer for Info documents
7
9 pinfo [options] [infopage]
10
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
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
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
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
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
551 This program is distributed under the terms of GPL.
552
553
555 Please send bug reports to the author.
556
557
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
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)