xman(1) オンラインマニュアル表示プログラム

書式

xman [ -options ... ]

説明

xman はオンラインマニュアルのブラウザである。xman の起動時のウィンド ウのデフォルトサイズは小さいので、ユーザはログインセッションの間ずっと xman のウィンドウを出したままにできる。初期ウィンドウには3つのコ マンドが選択できる: Help ボタンはオンラインヘルプのウィンドウをポップアップさせ、 Quitxman を終了させ、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というセクションは表示されない。

BSD AND LINUX SYSTEMS

最近の BSD および Linux では、xman/etc/man.conf という ファイルを検索する。このファイルにはオンラインマニュアルが置かれている ディレクトリのリストが書かれている。このファイルの書式の詳しい説明に ついては man.conf(5) を参照すること。

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)
マニュアルページ表示ウィンドウ内で用いられた場合、ユーザはディレクトリ 表示とマニュアルページ表示を行き来することができる。引き数 pageDirectory または ManualPage である。
Quit()
このアクションはどこでも使用でき、xman を終了させる。
Search(type, action)
検索ポップアップ内で使ったときしか役に立たないが、このアクションは検索 ポップアップの value ウィジェット内の文字列について、指定されたタイプ の検索を検索ウィジェットに実行させる。引き数 typeApropos, Manpage, Cancel のいずれかである。 actionOpen であれば、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 に生成する。

環境変数

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 バージョンから作成した。