XMAN(1)
โจ 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:
-helpfilefilename โ 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.-geometryWxH+X+Y โ Sets the size and location of the Top Menu with the three buttons in it.-pagesizeWxH+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 Commandsman2โ(2) System Callsman3โ(3) Subroutinesman4โ(4) Devicesman5โ(5) File Formatsman6โ(6) Gamesman7โ(7) Miscellaneousman8โ(8) Sys. Administrationmanlโ(l) Localmannโ(n) Newmanoโ(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(ClassFont) โ the font for regular, normal text in the manual pages.manualFontBold(ClassFont) โ the font for bold text in the manual pages.manualFontItalic(ClassFont) โ the font for italic text in the manual pages.directoryFontNormal(ClassFont) โ the font for the directory text.bothShown(ClassBoolean) โ eithertrueorfalse, and it says whether or not you want both the directory AND the manual page shown when it starts up.directoryHeight(ClassDirectoryHeight) โ the height in pixels of the directory, for when the directory and the manual page are shown at the same time.topCursor(ClassCursor) โ the cursor used in the top box.helpCursor(ClassCursor) โ the cursor used in the help window.manpageCursor(ClassCursor) โ the cursor used in the manual page window.searchEntryCursor(ClassCursor) โ the cursor used in the search entry text widget.pointerColor(ClassForeground) โ this is the color of all the cursors (pointers) listed above ๐. The name was picked to be compatible withxterm, iykyk.helpFile(ClassFile) โ use this instead of the system default helpfile.topBox(ClassBoolean) โ eithertrueorfalse, 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 istrue.verticalList(ClassBoolean) โ eithertrueorfalse, 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. Thepageargument can be eitherDirectoryorManualPage.Quit()โ this one can be used anywhere, and it exitsxman.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. Thetypeargument can be eitherApropos,ManpageorCancel. If an action ofOpenis specified, thenxmanopens a new manual page to display the search results โ otherwisexmantries 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 thelikeToSavepopup widget, and it tellsxmanwhether toSaveorCancela 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 ofxman.
๐ FILES ๐
<manpath directory>/man<character><manpath directory>/cat<character><manpath directory>/mandesc/etc/X11/app-defaults/Xmanโ specifies required resources./tmpโXmancreates temporary files in/tmpfor all unformatted man pages and allapropossearches.
๐ 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 theRESOURCE_MANAGERproperty.XAPPLRESDIRโ a string that will haveXmanappended 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
- debian trixie: x11-apps 7.7+11+b1
- ubuntu noble: x11-apps 7.7+11build3
- ubuntu questing: x11-apps 7.7+11build3
- ubuntu resolute: x11-apps 7.7+11build4
- ubuntu stonking: x11-apps 7.7+11build4
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms