xman

NAME

xman - Manual page display program for the X Window System

SYNOPSIS

xman [-options ... ]

DESCRIPTION

The xman(1) utility is a manual page browser. The default size of the initial xman(1) window is small so that you can leave it running throughout your entire login session. In the initial window there are three options: Help will pop up a window with on-line help; Quit will exit; and Manual Page will pop up a window with a manual page browser in it. Typing CTRL+S will pop up a window prompting for a specific manual page to display. You can display more than one manual page browser window at a time from a single execution of xman(1).

For further information on using xman(1), please read the on-line help information. Most of this topic will discuss customization of xman(1).

OPTIONS

The xman(1) utility supports all standard Toolkit command-line arguments (see X(5)). The following additional arguments are supported.

-bothshown
Show both the manual page and manual directory to be on the screen at the same time.
-geometryWxH+X+Y
Set the size and location of the Top Menu with the three buttons in it.
-helpfile filename
Specify a Help file to use other than the default.
-notopbox
Start without the Top Menu with the three buttons in it.
-pagesize WxH+X+Y
Set the size and location of all the Manual Pages.

CUSTOMIZING XMAN

The xman(1) utility allows customization of both the directories to be searched for manual pages, and the name that each directory will map to in the Sections menu. The xman utility determines which directories it will search by reading the MANPATH environment variable. If no MANPATH is found, the directory /usr/man is searched on POSIX systems. This environment is expected to be a colon-separated list of directories for xman(1) to search.
setenv MANPATH /mit/kit/man:/usr/man

By default, xman(1) will search each of the following directories (in each of the directories specified in the user's MANPATH) for manual pages. If manual pages exist in that directory, they are added to list of manual pages for the corresponding menu item. A menu item is only displayed for those sections that actually contain manual pages.

Directory	Section Name
---------	------------
man1		 (1) User Commands
man2		 (2) System Calls
man3		 (3) Subroutines
man4		 (4) Devices
man5		 (5) File Formats
man6		 (6) Games
man7		 (7) Miscellaneous
man8		 (8) Sys. Administration
manl		 (l) Local
mann		 (n) New
mano		 (o) Old

For instance, a user has three directories in her manual path and each contains a directory called man3. All of these manual pages will appear, alphabetically sorted, when the user selects the menu item called (3) Subroutines. If there is no directory called mano in any of the directories in the user's MANPATH, or there are no manual pages in any of the directories called mano, no menu item will be displayed for the section called (o) Old.

THE MANDESC FILE

By using the mandesc file, a user or system manager can more closely control which manual pages will appear in each of the sections represented by menu items in the Sections menu. This functionality is only available on a section-by-section basis, and individual manual pages cannot be handled in this manner.

The format of the mandesc file is a character followed by a label. The character determines which of the sections will be added under this label. For instance, suppose that you want to create an extra menu item that contains all programmer subroutines. This label should contain all manual pages in both sections two and three. The mandesc file would look like this:

2Programmer Subroutines
3Programmer Subroutines

This will add a menu item to the Sections menu that would bring up a listing of all manual pages in sections two and three of the Programmers Manual. Because the label names are exactly the same, they will be added to the same section. Note, however, that the original sections still exist.

If you want to completely ignore the default sections in a manual directory, add the line:

no default sections

anywhere in your mandesc file. This keeps xman(1) from searching the default manual sections In that directory only. For example, suppose you want to do the same thing as above, but you do not think that it is still useful to have the System Calls or Subroutines sections. You would need to duplicate the default entries, as well as adding your new one.
no default sections
1(1) User Commands
2Programmer Subroutines
3Programmer Subroutines
4(4) Devices
5(5) File Formats
6(6) Games
7(7) Miscellaneous
8(8) Sys. Administration
l(l) Local
n(n) New
o(o) Old

The xman utility will read any section that is of the form man<character>, where <character> is an uppercase or lowercase letter (they are treated distinctly) or a numeral (0-9). Be warned, however, that man(1) and catman will not search directories that are non-standard.

WIDGETS

In order to specify resources, it is useful to know the hierarchy of the widgets which compose xman(1). In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name.

Xman xman (This widget is never used)
  TopLevelShell  topbox
	 Form  form
	 Label  topLabel
	 Command  helpButton
	 Command  quitButton
	 Command  manpageButton
	 TransientShell  search
	 DialogWidgetClass  dialog
		Label  label
		Text  value
		Command  manualPage
		Command  apropos
		Command  cancel
	 TransientShell  pleaseStandBy
	 Label  label
  TopLevelShell  manualBrowser
	 Paned  Manpage_Vpane
	 Paned  horizPane
		MenuButton  options
		MenuButton  sections
		Label  manualBrowser
	 Viewport  directory
		List  directory
		.
		. (one for each section,
		.  created on the fly)
		.
	 ScrollByLine  manualPage
	 SimpleMenu  optionMenu
	 SmeBSB  displayDirectory
	 SmeBSB  displayManualPage
	 SmeBSB  help
	 SmeBSB  search
	 SmeBSB  showBothScreens
	 SmeBSB  removeThisManpage
	 SmeBSB  openNewManpage
	 SmeBSB  showVersion
	 SmeBSB  quit
	 SimpleMenu  sectionMenu
	 SmeBSB  <name of section>
		.
		. (one for each section)
		.
	 TransientShell  search
	 DialogWidgetClass  dialog
		Label  label
		Text  value
		Command  manualPage
		Command  apropos
		Command  cancel
	 TransientShell  pleaseStandBy
	 Label  label
	 TransientShell  likeToSave
	 Dialog  dialog
		Label  label
		Text  value
		Command  yes
		Command  no
  TopLevelShell  help
	 Paned  Manpage_Vpane
	 Paned  horizPane
		MenuButton  options
		MenuButton  sections
		Label  manualBrowser
	 ScrollByLine  manualPage
	 SimpleMenu  optionMenu
	 SmeBSB  displayDirectory
	 SmeBSB  displayManualPage
	 SmeBSB  help
	 SmeBSB  search
	 SmeBSB  showBothScreens
	 SmeBSB  removeThisManpage
	 SmeBSB  openNewManpage
	 SmeBSB  showVersion
	 SmeBSB  quit

APPLICATION RESOURCES

The xman(1) utility includes the following application-specific resources, which allow customizations unique to xman(1).

manualFontNormal (Class Font)
The font to use for normal text in the manual pages.
manualFontBold (Class Font)
The font to use for bold text in the manual pages.
manualFontItalic (Class Font)
The font to use for italic text in the manual pages.
directoryFontNormal (Class Font)
The font to use for the directory text.
bothShown (Class Boolean)
Either 'true' or 'false,' specifies whether or not you want both the directory and the manual page shown at start up.
directoryHeight (Class DirectoryHeight)
The height in pixels of the directory, when the directory and the manual page are shown simultaneously.
topCursor (Class Cursor)
The cursor to use in the top box.
helpCursor (Class Cursor)
The cursor to use in the help window.
manpageCursor (Class Cursor)
The cursor to use in the manual page window.
searchEntryCursor (Class Cursor)
The cursor to use in the search entry text widget.
pointerColor (Class Foreground)
This is the color of all the cursors (pointers) specified above. The name was chosen to be compatible with xterm(1).
helpFile (Class File)
Use this rather than the system default Help file.
topBox (Class Boolean)
Either 'true' or 'false'; determines whether the top box (containing the help, quit and manual page buttons) or a manual page is put on the screen at start-up. The default is true.
verticalList (Class Boolean)
Either 'true' or 'false'; determines whether the directory listing is vertically or horizontally organized. The default is horizontal (false).

GLOBAL ACTIONS

The xman(1) utility defines all user interaction through global actions. This allows the user to modify the translation table of any widget, and bind any event to the new user action. The list of actions supported by xman(1) are as follows:
GotoPage(page)
When used in a manual page display window, this will allow the user to move between a directory and manual page display. The page argument can be either Directory or ManualPage.
Quit()
This action can be used anywhere, and will exit xman(1).
Search(type, action)
Only useful when used in a search popup, this action will cause the search widget to perform the named search type on the string in the search popup's value widget. This action will also pop down the search widget. The type argument can be either Apropos, Manpage or Cancel. If an action of Open is specified, xman(1) will open a new manual page to display the results of the search; otherwise, xman(1) will attempt to display the results in the parent of the search popup.
PopupHelp()
This action can be used anywhere, and will popup the Help widget.
PopupSearch()
This action can be used anywhere except in a Help window. It will cause the search popup to become active and visible on the screen, allowing the user search for a manual page.
CreateNewManpage()
This action can be used anywhere, and will create a new manual page display window.
RemoveThisManpage()
This action can be used in any manual page or help display window. When called, it will remove the window and clean up all resources associated with it.
SaveFormattedPage(action)
This action can only be used in the likeToSave popup widget, and tells xman(1) whether to Save or Cancel a save of the manual page that has just been formatted.
ShowVersion()
This action can be called from any manual page or help display window, and will cause the informational display line to show the current version of xman(1).

FILES

manpath_directory/mancharacter
manpath_directory/catcharacter
manpath_directory/mandesc
/usr/lib/X11/app-defaults/Xman
Specifies required resources
/tmp
The xman(1) utility creates temporary files in /tmp for all unformatted manual pages and all appropriate searches.

ENVIRONMENT VARIABLES

DISPLAY
Contains the default host and display to use.
MANPATH
Contains the search path for manual pages. Directories are separated by colons; for example:
/usr/man:/mit/kit/man:/cat/dog/man
XENVIRONMENT
Contains the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
XAPPLRESDIR
A string that will have "Xman" appended to it. This string will be the full path name of a user app-defaults file to be merged into the resource database after the system app-defaults file, and before the resources that are attached to the display.

COPYRIGHT

Copyright 1988 by Massachusetts Institute of Technology.

See X(5) for a full statement of rights and permissions.

AUTHORS

Chris Peterson, MIT X Consortium from the V10 version written by Barry Shein formerly of Boston University.

SEE ALSO

X(5)

man(1)

Athena Widget Set