XMAN(1)

๐Ÿ“ฆ
version 7.7+11build4 ยท 3 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

โœจ xman(1) โ€” General Commands Manual โœจ

okay bestie, gather round. this is the manual page for xman, the manual page display program for the X Window System. yes, it's a manual page about a manual page browser. meta? maybe. iconic? absolutely. ๐Ÿ’…

๐Ÿ’– NAME ๐Ÿ’–

xman โ€” Manual page display program for the X Window System. That's it. That's the whole name. Short, sweet, slay.

๐ŸŒธ SYNOPSIS ๐ŸŒธ

xman [ -options ... ]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

So xman is a manual page browser, periodt. The default size of the initial xman window is small so that you can leave it running throughout your entire login session. It's like a little desktop pet but for man pages. ๐Ÿซถ

In the initial window there are three options:

  • Help โ€” will pop up a window with on-line help.
  • Quit โ€” will exit.
  • Manual Page โ€” will pop up a window with a manual page browser in it.

Typing Control-S will pop up a window prompting for a specific manual page to display. You may display more than one manual page browser window at a time from a single execution of xman. So yes, you can have multiple tabs energy without actual tabs. No cap.

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

โœจ OPTIONS โœจ

Xman supports all standard Toolkit command line arguments (see X(7)). The following additional arguments are supported. Here's the whole menu, bestie:

  • -helpfile filename โ€” Specifies a helpfile to use other than the default.
  • -bothshown โ€” Allows both the manual page and manual directory to be on the screen at the same time.
  • -notopbox โ€” Starts without the Top Menu with the three buttons in it.
  • -geometry WxH+X+Y โ€” Sets the size and location of the Top Menu with the three buttons in it.
  • -pagesize WxH+X+Y โ€” Sets the size and location of all the Manual Pages.
  • -help โ€” Print a usage message and exit.
  • -version โ€” Print the program version and exit.

๐ŸŽ€ CUSTOMIZING XMAN ๐ŸŽ€

Xman 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. Xman determines which directories it will search by reading the MANPATH environment variable. If no MANPATH is found then the directory is /usr/man is searched on POSIX systems. This environment is expected to be a colon-separated list of directories for xman to search.

setenv MANPATH /mit/kit/man:/usr/man

By default, xman will search each of the following directories (in each of the directories specified in the users MANPATH) for manual pages. If manual pages exist in that directory then 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.

Here's the directory โ†’ section name mapping:

  • - โ€” -
  • 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 contain a directory called man3. All 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 her MANPATH, or there are no manual pages in any of the directories called mano then no menu item will be displayed for the section called (o) Old.

๐ŸŒˆ BSD AND LINUX SYSTEMS ๐ŸŒˆ

In newer BSD and Linux systems, Xman will search for a file named /etc/man.conf which will contain the list of directories containing manual pages. See man.conf(5) for a complete description of the file format.

๐Ÿ’œ THE MANDESC FILE ๐Ÿ’œ

By using the mandesc file a user or system manager is able to 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 may not be handled in this manner. (Although generous use of symbolic links โ€” see ln(1) โ€” will allow almost any configuration you can imagine.)

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 would like 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. Since 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 then add the line:

no default sections

anywhere in your mandesc file. This keeps xman from searching the default manual sections In that directory only. As an example, suppose you want to do the same thing as above, but you don't think that it is useful to have the System Calls or Subroutines sections any longer. 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

Xman will read any section that is of the form man<character>, where <character> is an upper or lower case letter (they are treated distinctly) or a numeral (0-9). Be warned, however, that man(1) and catman(8) 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. 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
                                       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 ๐ŸŽ€

okay so xman has its own lil set of application-specific resources, and these are the ones that let you customize stuff that's, like, unique to xman specifically. bestie, this is where you make it yours ๐Ÿ’…

  • manualFontNormal (Class Font) โ€” the font for regular, normal text in the manual pages.
  • manualFontBold (Class Font) โ€” the font for bold text in the manual pages.
  • manualFontItalic (Class Font) โ€” the font for italic text in the manual pages.
  • directoryFontNormal (Class Font) โ€” the font for the directory text.
  • bothShown (Class Boolean) โ€” either true or false, and it says whether or not you want both the directory AND the manual page shown when it starts up.
  • directoryHeight (Class DirectoryHeight) โ€” the height in pixels of the directory, for when the directory and the manual page are shown at the same time.
  • topCursor (Class Cursor) โ€” the cursor used in the top box.
  • helpCursor (Class Cursor) โ€” the cursor used in the help window.
  • manpageCursor (Class Cursor) โ€” the cursor used in the manual page window.
  • searchEntryCursor (Class Cursor) โ€” the cursor used in the search entry text widget.
  • pointerColor (Class Foreground) โ€” this is the color of all the cursors (pointers) listed above ๐Ÿ‘†. The name was picked to be compatible with xterm, iykyk.
  • helpFile (Class File) โ€” use this instead of the system default helpfile.
  • topBox (Class Boolean) โ€” either true or false, and it decides whether the top box (the one holding the help, quit and manual page buttons) or a manual page gets put on the screen at start-up. The default is true.
  • verticalList (Class Boolean) โ€” either true or false, and it decides whether the directory listing is organized vertically or horizontally. The default is horizontal (false).

๐ŸŒˆ GLOBAL ACTIONS ๐ŸŒˆ

Xman defines, like, all user interaction through global actions. The way this works is it lets you modify the translation table of any widget, and bind any event to your new user action. The list of actions xman supports is:

  • GotoPage(page) โ€” when you use this in a manual page display window, it lets you move between a directory and manual page display. The page argument can be either Directory or ManualPage.
  • Quit() โ€” this one can be used anywhere, and it exits xman.
  • Search(type, action) โ€” only useful in a search popup. This action makes the search widget perform the named search type on the string that's in the search popup's value widget. It also pops down the search widget. The type argument can be either Apropos, Manpage or Cancel. If an action of Open is specified, then xman opens a new manual page to display the search results โ€” otherwise xman tries to display the results in the parent of the search popup.
  • PopupHelp() โ€” usable anywhere, and it pops up the help widget.
  • PopupSearch() โ€” usable anywhere except in a help window. It makes the search popup become active and visible on screen so you can search for a manual page.
  • CreateNewManpage() โ€” usable anywhere, and it creates a brand new manual page display window.
  • RemoveThisManpage() โ€” usable in any manual page or help display window. When you call it, it removes the window and cleans up all the resources associated with it. so tidy โœจ
  • SaveFormattedPage(action) โ€” this one can only be used in the likeToSave popup widget, and it tells xman whether to Save or Cancel a save of the manual page that just got formatted.
  • ShowVersion() โ€” can be called from any manual page or help display window, and it makes the informational display line show the current version of xman.

๐Ÿ“ FILES ๐Ÿ“

  • <manpath directory>/man<character>
  • <manpath directory>/cat<character>
  • <manpath directory>/mandesc
  • /etc/X11/app-defaults/Xman โ€” specifies required resources.
  • /tmp โ€” Xman creates temporary files in /tmp for all unformatted man pages and all apropos searches.

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

X(7), man(1), apropos(1), catman(8), Athena Widget Set


๐ŸŒธ ENVIRONMENT ๐ŸŒธ

  • DISPLAY โ€” the default host and display to use.
  • MANPATH โ€” the search path for manual pages. Directories are separated by colons (e.g. /usr/man:/mit/kit/man:/foo/bar/man).
  • XENVIRONMENT โ€” to get 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.

๐Ÿ‘‘ AUTHORS ๐Ÿ‘‘

Chris Peterson, MIT X Consortium, from the V10 version written by Barry Shein, formerly of Boston University. Bug fixes and Linux support by Carlos A M dos Santos, for The XFree86 Project.


okay that's the whole thing, bestie, you're officially an xman girlie now ๐Ÿ’– go forth and read ur man pages in style ๐Ÿฆ‹

and shoutout to the page itself for the receipts โ€” it's xman 1.1.6 from X Version 11, dated with that XMAN(1) energy, and honestly? iconic. periodt ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from