Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
PINFO(1)		     General Commands Manual			PINFO(1)

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

SYNTAX
     pinfo [options] [infopage]

DESCRIPTION
     This  is  a program for viewing info files. You specify which page you want
     to read by passing it an infopage argument. This argument contains the name
     of an info page (i.e. 'bash').  The program will then (by	default)  search
     for  it  in  the  current	directory,  /usr/share/info, /usr/info, /usr/lo-
     cal/share/info, /usr/local/info.  and /opt/info.  The search  path  can  be
     adjusted  by  INFOPATH  environment  variable or in the configuration file.
     Pinfo  will  also	automatically  add  the   suffix   '-info',   '-info.Z',
     '-info.gz', or '-info.bz2'.

     When the search for info pages fails, man is called with the infopage argu-
     ment,  and  its  output  is parsed by pinfo. This means that when you don't
     have the appropriate info page, but have a man page instead; the  man  page
     will be viewed.

     When no infopage is specified, the default `dir' page is shown.

     Supported options are

     -h, --help - print help information and exit.

     -v, --version - print version information and exit.

     -m, --manual - uses manual page instead of info by default. (pinfo -m could
     be used as a manual pager). Warning: Everything what follows this option is
     passed to the `man' program. Don't be confused if pinfo options, which fol-
     lowed  `-m'  don't  work.	When using this option, pinfo does not parse the
     info options as usual! It invokes the man part of program.

     You can also call the man function of pinfo in another way. When  pinfo  is
     called  with  an  argv[0]	(the program file name), which contains the word
     'man' in its name, the man functions are enabled automatically.

     Previously there was a symlink to pinfo, called pman, but I had  to  remove
     it  from  the  distribution, since its name was in conflict with some other
     utility. Anyway, you can feel free to create such a link if you wish.

     -r, --raw-filename - uses a raw filename first (i.e.  the	name  which  you
     specified	as infopage is considered to be a real file in the specified lo-
     cation).

     -f, --file synonym for -r.

     -a, --apropos - if this is set, apropos is called when no man or info  page
     could be found.

     -c,  --cut-man-headers  -	if this is set, man parsing code will try to cut
     out the repeated man headers. Use with care. ;)

     -s, --squeeze-lines- cut empty lines from manual pages. This option enables
     auto cutting of every repeated newline in a manual page.

     -t, --force-manual-tag-table- forces manual detection of  tag  table.  This
     allows  you to view info pages, which may be corrupted. (as i.e. version of
     jed's pages, shipped with RH5.0). The tag table corruption usually  appears
     in  that  the  info  links,  which you follow, move you to quite unexpected
     nodes.

     --node=nodename, --node nodename- Go to the node `nodename' of  info  file.
     Since  0.6.7 it is also possible to specify nodes as in standalone info via
     file names, like `(gcc)Introduction'.

     --rcfile=filename, --rcfile filename- Use alternate configuration file.

     --long-manual-links, -l- Use long link names in manuals.  On  some  systems
     the  manual  hierarchy  is  divided  into subsections like `3ncurses', etc,
     while on other systems all belongs to section `3'. If this option	is  what
     your system is like, feel free to use it.

     --clear-at-exit, -x- Clear screen at exit.

     The  options  are	handled by GNU getopt, so you can here (as in other pro-
     grams) abbreviate the option names to the minimal number of  characters  by
     which the options differ.

     Warning! If you do not have getopt, these options will not work!

DEFAULT KEYS WHEN BROWSING INFO FILE
     Just  take a look at the example configuration file (below), and at the key
     descriptions. Keys available in manual viewer differ a bit  from  the  keys
     available in info viewer.

ENVIRONMENT
     There  is	a variable $INFOPATH, which can specify the paths to be searched
     for info files. It's format is similar to that of the  $PATH  variable.  An
     example setting could look like:

     /usr/info:/usr/somewhere/info:/not/even/in/usr/info

     etc. Directories are separated by colons.

COLOR AND KEY DEFINITIONS
     There  are  configuration files called ~/.pinforc and [prefix]/etc/pinforc,
     for local and global configuration (where prefix is the prefix of	the  di-
     rectory, where pinfo is installed, i.e. /usr/local, or /).  Here's an exam-
     ple of such a file; we'll discuss the contents below:

     # Here are some color setting.
     # Whitespace between the entries is optional.
     COL_NORMAL = COLOR_WHITE, COLOR_BLACK, NO_BOLD, NO_BLINK
     COL_MENUSELECTED = COLOR_RED, COLOR_BLACK, BOLD, NO_BLINK
     COL_MENU=COLOR_BLUE,COLOR_BLACK,BOLD, NO_BLINK
     COL_NOTESELECTED=COLOR_RED,COLOR_BLACK,BOLD, NO_BLINK
     COL_NOTE=COLOR_GREEN,COLOR_BLACK,BOLD, NO_BLINK
     COL_TOPLINE=COLOR_YELLOW,COLOR_BLUE,BOLD, NO_BLINK
     COL_BOTTOMLINE=COLOR_YELLOW,COLOR_BLUE,BOLD, NO_BLINK
     COL_MANUALBOLD=COLOR_WHITE,COLOR_BLACK,BOLD, NO_BLINK
     COL_MANUALITALIC=COLOR_WHITE,COLOR_BLACK,BOLD, NO_BLINK
     COL_URL=COLOR_MAGENTA,COLOR_BLACK,BOLD, NO_BLINK
     COL_URLSELECTED=COLOR_RED,COLOR_BLACK,NO_BOLD, NO_BLINK
     COL_INFOHIGHLIGHT=COLOR_WHITE,COLOR_BLACK,BOLD, NO_BLINK
     #
     # Here are some keybindings as well...
     #
     KEY_TOTALSEARCH_1 = 's'
     KEY_TOTALSEARCH_2 = 'S'
     KEY_SEARCH_1 = '/'
     KEY_SEARCH_2 = '.'
     KEY_GOTO_1='g'
     KEY_GOTO_2='m'
     KEY_HOME_1='h'
     KEY_HOME_2='H'
     KEY_PREVNODE_1='p'
     KEY_PREVNODE_2='P'
     KEY_NEXTNODE_1='n'
     KEY_NEXTNODE_2='N'
     KEY_UP_1=KEY_UP
     KEY_UP_2='u'
     KEY_END_1=
     KEY_END_2='e'
     KEY_PGDN_1=KEY_NPAGE
     KEY_PGDN_2=' '
     KEY_PGDN_AUTO_1=0
     KEY_PGDN_AUTO_2=' '
     KEY_PGUP_1=KEY_PPAGE
     KEY_PGUP_2='b'
     KEY_PGUP_AUTO_1=0
     KEY_PGUP_AUTO_2='b'
     KEY_DOWN_1=KEY_DOWN
     KEY_DOWN_2='d'
     KEY_TOP_1=KEY_HOME
     KEY_TOP_2='t'
     KEY_BACK_1=KEY_LEFT
     KEY_BACK_2='l'
     KEY_FOLLOWLINK_1=KEY_RIGHT
     KEY_FOLLOWLINK_2='0
     # 12 is a code for ctrl+l
     KEY_REFRESH_1=12
     KEY_REFRESH_2='~'
     KEY_SHELLFEED_1='!'
     KEY_SHELLFEED_2='1'
     KEY_QUIT_1='q'
     KEY_QUIT_2='Q'
     KEY_DIRPAGE_1='d'
     KEY_DIRPAGE_2='D'
     KEY_GOLINE_1='l'
     KEY_GOLINE_2=0
     KEY_PRINT_1=']'
     KEY_PRINT_2=0
     #
     # Some options, explained in the man page
     #
     MANUAL=false
     CUT-MAN-HEADERS=true
     CUT-EMPTY-MAN-LINES=true
     RAW-FILENAME=false
     APROPOS=false
     DONT-HANDLE-WITHOUT-TAG-TABLE=false
     LONG-MANUAL-LINKS=false
     FILTER-0xB7=true
     QUIT-CONFIRMATION=false
     QUIT-CONFIRM-DEFAULT=no
     CLEAR-SCREEN-AT-EXIT=true
     STDERR-REDIRECTION="2> /dev/null"
     HTTPVIEWER=lynx
     FTPVIEWER=lynx
     MAILEDITOR=pine
     MANLINKS=1:8:2:3:4:5:6:7:9:n:p:o:3X11:3Xt
     INFOPATH=/usr/info:/usr/share/info:/usr/local/info
     HIGHLIGHTREGEXP=Bash.*has
     SAFE-USER=nobody
     SAFE-GROUP=nobody

     As  you can see, the format is simple. First I'll explain the color defini-
     tions. First you must enter a color name (all  available  color  names  are
     present  in  the  example,  and they're self explanatory, I think. There is
     also a special color COLOR_DEFAULT, which stands  for  transparency).  Then
     you  enter  the  foreground  color,  and the background color. The BOLD at-
     tribute means that we want the foreground color to  be  highlighted.  (i.e.
     light  blue,  light  green).  BLINK attribute is the blinking attribute, or
     highlighted background in some other configurations.

     Now let's move to the key definitions. Here we first put a key name  (again
     all  keys	are  present  in the example); then we enter its value -- either
     surrounded by apostrophes, or a keycode number (like in KEY_REFRESH_1),  or
     its  mnemonic  code  name	if  its  a  special  key  (like i.e. in KEY_FOL-
     LOWLINK_1).

     If you wish to  specify  key  by  code  value,  use  the  supplied  program
     'testkey' to obtain the needed value. It mainly is a feature, when you want
     to add some CTRL+letter keybindings, and similar.

     For each function you can bind two keys, i.e. you could bind both Enter and
     Cursor  Right  to	the  FollowLink-function.  As you can see in the example
     above, the two key names are KEY_FOLLOWLINK_1 and KEY_FOLLOWLINK_2.

     Here's an explanation of the key names:

	    KEY_TOTALSEARCH_1
		      Key for searching through all nodes of info file.

	    KEY_TOTALSEARCH_2
		      Alternate key for searching  through  all  nodes	of  info
		      file.

	    KEY_SEARCH_1
		      Key for searching through current node (or manual).

	    KEY_SEARCH_2
		      Alternate  key for searching through current node (or man-
		      ual).

	    KEY_SEARCH_AGAIN_1
		      Key for repeating the last search.

	    KEY_SEARCH_AGAIN_2
		      Alternate key for repeating the last search.

	    KEY_GOTO_1
		      Key for explicitly going to  a  node  (by  specifying  its
		      name).

	    KEY_GOTO_2
		      Alternate  key for explicitly going to a node (by specify-
		      ing its name).

	    KEY_PREVNODE_1
		      Key for going to a node marked as 'Prev' in the header. In
		      man page viewer this goes to the previous man section.

	    KEY_PREVNODE_2
		      Alternate key for going to a node marked as 'Prev' in  the
		      header.  In  man page viewer this goes to the previous man
		      section.

	    KEY_NEXTNODE_1
		      Key for going to a node marked as 'Next' in the header. In
		      man page viewer this goes to the next man section.

	    KEY_NEXTNODE_2
		      Alternate key for going to a node marked as 'Next' in  the
		      header.  In man page viewer this goes to the next man sec-
		      tion.

	    KEY_UP_1  Key for scrolling text one line up.

	    KEY_UP_2  Alternate key for scrolling text one line up.

	    KEY_END_1
		      Key for going to the end of the node.

	    KEY_END_2
		      Alternate key for going to the end of the node.

	    KEY_PGDN_1
		      Key for going one page down in the viewed node.

	    KEY_PGDN_2
		      Alternate key for going one page down in the viewed node.

	    KEY_PGDN_AUTO_1
		      Key for going to the next node when you're at the  end  of
		      node (default is zero -- turned off).

	    KEY_PGDN_AUTO_2
		      Alternate  key  for  going to the next node when you're at
		      the end of node (default is space, as for pgdn_2).

	    KEY_HOME_1
		      Key for going to the beginning of the node.

	    KEY_HOME_2
		      Alternate key for going to the beginning of the node.

	    KEY_PGUP_1
		      Key for going one page up in the viewed node.

	    KEY_PGUP_2
		      Alternate key for going one page up in the viewed node.

	    KEY_PGUP_AUTO_1
		      Key for going to the `up' node, when being at the  top  of
		      node. (Default value is zero -- turned off).

	    KEY_PGUP_AUTO_2
		      Alternate  key  for  going to the `up' node, when being at
		      the top of node.	(Default value is `-', as for pgup_2).

	    KEY_DOWN_1
		      Key for scrolling the text down one line.

	    KEY_DOWN_2
		      Alternate key for scrolling the text down one line.

	    KEY_TOP_1
		      Key for going to the top (first) node.

	    KEY_TOP_2
		      Alternate key for going to the top (first) node.

	    KEY_BACK_1
		      Key for going back (in the history of viewed nodes).

	    KEY_BACK_2
		      Alternate key for going back (in	the  history  of  viewed
		      nodes).

	    KEY_FOLLOWLINK_1
		      Key for following a hypertext link.

	    KEY_FOLLOWLINK_2
		      Alternate key for following a hypertext link.

	    KEY_REFRESH_1
		      Key  for	refreshing  the  screen  (hard	coded  is the ^L
		      value).

	    KEY_REFRESH_2
		      Alternate key for refreshing the screen.

	    KEY_SHELLFEED_1
		      Key for calling a shell command, and  passing  the  viewed
		      node to the stdin of that command.

	    KEY_SHELLFEED_2
		      Alternate key for calling a shell command, and passing the
		      viewed node to the stdin of that command.

	    KEY_QUIT_1
		      Key for exiting the program.

	    KEY_QUIT_2
		      Alternate key for exiting the program.

	    KEY_GOLINE_1
		      Key for going to a specified line in file.

	    KEY_GOLINE_2
		      Alternate key for going to a specified line in file.

	    KEY_PRINT_1
		      Key for printing viewed node or man page.

	    KEY_PRINT_2
		      Alternate key for printing viewed node or man page.

     The special mnemonics for keys (which are defined at present) are:

	    KEY_BREAK

	    KEY_DOWN

	    KEY_UP

	    KEY_LEFT

	    KEY_RIGHT

	    KEY_DOWN

	    KEY_HOME

	    KEY_BACKSPACE

	    KEY_NPAGE

	    KEY_PPAGE

	    KEY_END [Note: this works probably ONLY with Linux ncurses]

	    KEY_F(x)

	    KEY_CTRL('c')
		      -  this  assigns	the key value to a ctrl+c combination. c
		      may be any letter you wish.

	    KEY_ALT('c')
		      - this assigns the key value to a alt+c combination. c may
		      be any letter you wish. If alt key won't work, you may use
		      ESC+key combination.

	    'c'       - this means a printable character c. The syntax	is  just
		      like in C/C++ ;).

	    [number]  -  you can also specify key as its code number. It is use-
		      ful e.g. when specifying control keys, and  some	nonstan-
		      dard  keys.   A  numerical  value  of zero turns given key
		      binding off.

     See manual page for curs_getch (3x) for description of their meaning.

     Warning! Try not to create some serious key binding conflicts!

     The options in the last part of the example configuration	file  should  be
     fairly self-explanatory.  The variables that can be set to true or false do
     the same things as the command line arguments with the same names.

	    MANUAL    If this is set to true the default is to first check for a
		      man page, instead of a texinfo file.

	    CUT-MAN-HEADERS
		      If  set  to true, then pinfo tries to cut off the repeated
		      headers throughout man pages.

	    CUT-EMPTY-MAN-LINES
		      If set to true, then pinfo tries to cut off  the	repeated
		      newlines	(i.e.  it  will  shorten each set of consecutive
		      newlines to one newline).

	    RAW-FILENAME
		      If set to true, the file argument is taken to be the  name
		      of  a  file in the current working directory, i.e. the di-
		      rectories in INFOPATH will only be searched if a file with
		      this name is not in the working directory.

	    APROPOS   If set to true, apropos is called if no info or  man  page
		      is found.

	    DONT-HANDLE-WITHOUT-TAG-TABLE
		      If set to true , pinfo will not attempt to display texinfo
		      pages without tag tables.

	    HTTPVIEWER
		      Set  this  to  the  program you want to use to follow http
		      links in documents.

	    FTPVIEWER
		      Set this to the program you want	to  use  to  follow  ftp
		      links in documents.

	    MAILEDITOR
		      Set  this  to  your favorite email program, and it will be
		      started if you follow an email link in a document.

	    PRINTUTILITY
		      Utility, which you use for printing. I.e.  `lpr'.  If  you
		      don't  use  any,	you  may  also	try  something like `cat
		      >/dev/lp1', or sth. ;)

	    MANLINKS  This specifies the section names, which may be  referenced
		      in  your man pages (i.e. Xtoolkit man pages match the sec-
		      tion 3Xt (see for example XtVaCreateWidget) manpage), Xlib
		      function pages match section 3X11,  etc.	Such  extensions
		      may  not be recognized by default, so it is a good idea to
		      add them).

	    INFOPATH  This allows you to override the default  search  path  for
		      info pages. The paths should be separated by colons.

	    MAN-OPTIONS
		      This  specifies the options, which should be passed to the
		      `man'  program.	(see  man(1)  for  description	of  what
		      they're like).

	    STDERR-REDIRECTION
		      Pinfo  allows  you to redirect the stderr output of called
		      programs. For example if you don't want to see man's error
		      messages about manual page formatting, you can use  STDER-
		      REDIRECTION="2> /dev/null". This is the default.

	    LONG-MANUAL-LINKS
		      This  is	another true/false option, which decides whether
		      your system supports long manual section	names,	or  not.
		      (i.e. "3ncurses" instead of "3").

	    FILTER-0xB7
		      This  decides,  whether  you want to convert 0xb7 chars to
		      `o', or not. For example for iso-8859-2 fonts  this  makes
		      man's  list  marks  a  bit  nicer  ;) (look for example at
		      perl's man page, to see how those marks look like).

	    QUIT-CONFIRMATION
		      This decides whether you want to use quit confirmation  on
		      exit, or not.

	    QUIT-CONFIRM-DEFAULT
		      This  yes/no  option  determines the default answer to the
		      QUIT-CONFIRMATION dialog.  (default  answer  is  when  you
		      press a key, that does not match the asked question).

	    CLEAR-SCREEN-AT-EXIT
		      This true/false option determines if you want to have your
		      screen cleared at exit, or no.

	    CALL-READLINE-HISTORY
		      This  true/false	option	determines if you want to have a
		      prompt of last history  entry  whenever  calling	readline
		      wrapper, eg. in subsequent searches.

	    HIGHLIGHTREGEXP
		      This  is	an  option,  through which you may pass to pinfo
		      regexps, which should be	highlighted  when  working  with
		      document.  Warning!  This may turn very slow if you use it
		      without care!

	    SAFE-USER
		      This option is used to pass the name  of	user,  to  which
		      suid when pinfo is run with root privileges.

	    SAFE-GROUP
		      This  option  is	used to pass the name of group, to which
		      suid when pinfo is run with root privileges.

INTERNATIONALIZATION SUPPORT
     Pinfo implements general features of gnu gettext library (the thing,  which
     you  need	to see national messages ;). But it is not the end. Pinfo allows
     you to use national info pages! You only need to put them to your info  di-
     rectory, into a subdirectory, which is called `$LANG'.

LICENSE
     This program is distributed under the terms of GPL.

BUGS
     Please send bug reports to the author.

AUTHOR
     Przemek Borys <pborys@dione.ids.pl> Bas Zoetekouw <bas@debian.org>

     There was also a lot of other people, who contributed to this code. See the
     AUTHORS file.

COMMENTS
     The  author  would  like to read some comments and suggestions from you, if
     any.

				   01 Dec 2001				PINFO(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pinfo&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help