XMAN(1)

名前
xman - オンラインマニュアル表示プログラム

書式
xman [ -options ... ]

説明
xman はオンラインマニュアルのブラウザである。xman の起動時のウィンド ウのデフォルトサイズは小さいので、ユーザはログインセッションの間ずっと xman のウィンドウを出したままにできる。初期ウィンドウには3つのコ マンドが選択できる: Help ボタンはオンラインヘルプのウィンドウをポップアップさせ、 Quit は xman を終了させ、Manual Page はマニュアルペー ジブラウザを含むウィンドウをポップアップさせる。 Control-S を入力すると、表示する特定のマニュアルを問い合わせるウィンド ウがポップアップする。 これにより、xman を一つ実行するだけで複数のマニュアルブラウザの ウィンドウを表示することができる。

xman のより詳しい情報については、オンラインヘルプを参照すること。 このマニュアルのほとんどは xman のカスタマイズに関する説明である。

オプション

xman は X ツールキット標準のコマンドラインオプション(X(1) 参照) を全てサポートしている。これに加えて、以下のオプションもサポートしてい る。

-helpfile filename
    デフォルトでないヘルプファイルを使用する。

-bothshown
    マニュアルページとマニュアルディレクトリを同時にスクリーンに表示する。

-notopbox
    起動時に3つのボタンがあるトップメニューを出さない。

-geometry WxH+X+Y
    3つのボタンがあるトップメニューのサイズと位置をセットする。

-pagesize WxH+X+Y
    全てのマニュアルページのサイズと位置をセットする。

XMANのカスタマイズ

xman では、マニュアルページを探すためのディレクトリとSections メニュー でディレクトリが対応する名前の両方をカスタマイズすることができる。xman は環境変数 MANPATH を使って、xman が検索するディレクトリを決定す る。MANPATH がセットされていない場合、POSIX システムならばディレ クトリ /usr/man が検索される。この環境変数は xman が検索するディレクト リをコロンで区切って並べたものである。

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

デフォルトでは xman は(ユーザの MANPATH で指定されたディレクトリのそれぞれにおいて)以下の ディレクトリに対してマニュアルページを検索する。そのディレクトリにマニュ アルページがあれば、これらは対応するメニュー項目のマニュアルページのリ ストに追加される。 メニュー項目は表示されるのは、実際にマニュアルページがあるセクションに ついてのみである。
ディレクトリ	セクション名
---------	------------
man1	(1) ユーザコマンド
man2	(2) システムコール
man3	(3) サブルーチン
man4	(4) デバイス
man5	(5) ファイルフォーマット
man6	(6) ゲーム
man7	(7) その他
man8	(8) システム管理
manl	(l) ローカル
mann	(n) 新規項目
mano	(o) 旧項目
例えば、マニュアルパス内に3つのディレクトリがあり、これらのディレクト リにはそれぞれ man3 という名前のディレクトリがあるものとする。 ユーザが (3) Subroutines というメニュー項目を選択したときには、 これら全てのマニュアルがアルファベット順にソートされて表示される。 MANPATH のどのディレクトリにも mano というディレクトリが存在しな い場合、または mano というディレクトリがあっても全て空の場合には、 (o) Oldというセクションは表示されない。

MANDESC ファイル

ユーザやシステム管理者は、mandesc ファイルを使って、 Sections メニューのメニュー項目に現れるそれぞれのセクションにお いてどのマニュアルページが表示されるかを細かく制御することができる。こ の機能はセクションだけに基づくものであり、個々のマニュアルページを扱う ことはできない。 (ただし、シンボリックリンク— ln(1) 参照 —を大量に使えば、 ほとんどどんな設定も可能である。)

mandesc ファイルのフォーマットは1つの文字の後にラベルを続けたものであ る。この文字は、このラベルの下に追加されるセクションを決める。 例えば、内容全てがプログラマ用のサブルーチンである新しいメニュー項目 を作る場合を考える。このラベルはセクション2と3の全てのマニュアルページ を含まなければならない。このような場合の mandesc ファイルの記述 は次のようになる:

2Programmer Subroutines
3Programmer Subroutines
この指定により Sections メニューに対して、プログラマズマニュア ルのセクション2と3のマニュアルページを全て含む項目が追加される。 ラベル名は全く同じなので、これらは同じセクションに追加される。し かし、元のセクションは存在し続ける点に注意すること。

マニュアルディレクトリのデフォルトのセクションを完全に無視したい場合に は、次の行を mandesc ファイルのどこかに追加すること:
no default sections
これにより、xman は そのディレクトリに限って デフォルトのマニュ アルセクションの検索を行わなくなる。例えば、先の例と目的はほぼ同じである が、システムコールまたはサブルーチン セクションはもはや不 要である場合を考える。この場合にはデフォルトのエントリを複製して、新 しいものを加える必要がある。
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 は man<character> という形のセクションを全て読み込む。ここ で <character> は大文字、小文字(両者は区別される)または数値(0-9)のいず れかである。ただし、man(1) と catman(8) は非標準のディレクトリは検索し ない点に注意すること。

ウィジェット
リソースを指定する際には、xman を構成するウィジェットの階層を知っ ておくと便利である。以下の記法においては、インデントで階層構造を示す。 また、先にウィジェットのクラス名を示し、その後にウィジェットのインスタ ンス名を示す。

Xman xman	(このウィジェットが使われることはない)
	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
				.
 				. (セクションごとに1つ。
 				.  これは実行中に生成される。)
				.
			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>
			 	.
				. (セクションごとに1つ)
				.
		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

アプリケーションのリソース
xman 特有のカスタマイズを行うための、アプリケーション固有のリソー スを以下に示す。

manualFontNormal (Class Font)
    マニュアルページの通常のテキストに使うフォント。

manualFontBold (Class Font)
    マニュアルページのボールド体のテキストに使うフォント。

manualFontItalic (Class Font)
    マニュアルページのイタリック体のテキストに使うフォント。

directoryFontNormal (Class Font)
    ディレクトリのテキスト表示に使うフォント。

bothShown (Class Boolean)
    `true' か `false' の値を持ち、起動時にディレクトリとマニュアルページの 両方を表示するかどうかを指定する。

directoryHeight (Class DirectoryHeight)
    ディレクトリとマニュアルページを同時に表示する場合に、ディレクトリ表示 部分の高さをピクセル数で指定する。

topCursor (Class Cursor)
    トップボックス内で用いるカーソル。

helpCursor (Class Cursor)
    ヘルプウィンドウ内で用いるカーソル。

manpageCursor (Class Cursor)
    マニュアルページ表示ウィンドウで用いるカーソル。

searchEntryCursor (Class Cursor)
    テキストウィジェットの検索エントリで用いるカーソル。

pointerColor (Class Foreground)
    上述のカーソル(ポインタ)全ての色を指定する。色の名前は xterm と互換で ある。

helpFile  (Class File)
    システムのデフォルトの代わりに使うヘルプファイルを指定する。

topBox (Class Boolean)
    `true' または `false' の値を持ち、起動時にトップボックス(Help, Quit, Manual Page ボタンを持つウィンドウ)とマニュアルページのどちらを表示す るか指定する。デフォルト値は True である。

verticalList (Class Boolean)
    `true' または `false' の値を持ち、ディレクトリのリストを縦に並べるか横 に並べるか指定する。デフォルトでは横に並べる(値が False)。

グローバルなアクション
xman はユーザとの対話処理は全てグローバルなアクションで定義して いる。これにより、ユーザは任意のウィジェットのトランスレーションテーブ ルを変更し、任意のイベントを新しいユーザアクションに割り当てることがで きる。xman がサポートしているアクションを以下に示す:

GotoPage(page)
    マニュアルページ表示ウィンドウ内で用いられた場合、ユーザはディレクトリ 表示とマニュアルページ表示を行き来することができる。引き数 page は Directory または ManualPage である。

Quit()
    このアクションはどこでも使用でき、xman を終了させる。

Search(type, action)
    検索ポップアップ内で使ったときしか役に立たないが、このアクションは検索 ポップアップの value ウィジェット内の文字列について、指定されたタイプ の検索を検索ウィジェットに実行させる。引き数 type は Apropos, Manpage, Cancel のいずれかである。 action が Open であれば、xman は検索の結果を表示するために 新しいマニュアルページを開く。そうでない場合には、xman は検索ポップアッ プの親ウィジェット内に結果を表示しようとする。

PopupHelp()
    このアクションはどこでも使用でき、help ウィジェットをポップアップさせ る。

PopupSearch()
    このアクションはヘルプウィンドウ以外ならどこでも使用できる。このアクショ ンは検索ポップアップをアクティブにし、スクリーンで見えるようにする。こ れにより、ユーザはマニュアルページを検索できる。

CreateNewManpage()
    このアクションはどこでも使用でき、新しいマニュアルページ表示ウィンドウ を開く。

RemoveThisManpage()
    このアクションはマニュアルページ表示ウィンドウかヘルプ表示ウィンドウ内 で使用できる。このアクションはウィンドウを削除し、これに関連する全ての リソースを消去する。

SaveFormattedPage(action)
    このアクションは likeToSave ポップアップウィジェット内でのみ使用 でき、フォーマットしたマニュアルページをセーブするかどうか(Save または Cancel)を xman に指示する。

ShowVersion()
    このアクションは任意のマニュアルページ表示ウィンドウとヘルプ表示ウィン ドウから呼び出すことができる。このアクションは、xman の現在のバージョ ンを表示させる。

ファイル

<manpath directory>/man<character>

<manpath directory>/cat<character>

<manpath directory>/mandesc

<XRoot>/lib/X11/app-defaults/Xman
    必要なリソースを指定する。<XRoot> は X11 のインストールツリーのルート を指す。

/tmp
    xman は、フォーマットしていないマニュアルページと aprops 検索におけるテンポ ラリファイルを全て /tmp に生成する。

関連項目
X(1), man(1), apropos(1), catman(8), Athena ウィジェットセット

環境変数

DISPLAY
    デフォルトで使用するホストとディスプレイ。

MANPATH
    マニュアルページの検索パス。ディレクトリはコロンで区切る (例: /usr/man:/mit/kit/man:/foo/bar/man)。

XENVIRONMENT
    RESOURCE_MANAGER プロパティに格納されているグローバルなリソースを上書 きするリソースファイル名を取得する。

XAPPLRESDIR
    ``Xman'' が追加される文字列。この文字列は、リソースデータベースにマー ジされるユーザの app-defaultファイルの完全なパス名になる。このマージ処 理はシステムの app-default ファイルを呼んだ後、かつリソースがディスプ レイに割り当てられる前に行われる。
    権利と許諾に関する正式な声明については X(1) を参照すること。

著者
Chris Peterson, MIT X コンソーシアム。Boston University(当時)の Barry Shein による V10 バージョンから作成した。