Provided by: xmanpages-ja_4.1.0.20011224-6_all bug

名前

       xmh - MH への X インターフェースでメールを読み書きする

書式

       xmh [-path mailpath] [-initial foldername] [-flag] [-toolkitoption ...]

説明

       xmh  プログラムは MH (Message Handling System) にグラフィカルユーザイ ンタフェースを提供す
       る。実際にあなたのメールを扱うために、 MH パッ  ケージを呼ぶ。電子メールメッセージは、作成
       され、送信され、受信され、リ   プライされ、転送され、ソートされ、フォルダにしまわれる。xmh
       はユー ザインタフェースをカスタマイズするための大規模な機能を提供する。

       このドキュメントは Athena ウイジェットセット (Athena Widget Set) の多 くの局面を紹介する。

オプション

       -path directory
               このオプションは、メールが処理される代替のメールフォルダの集合を指定す  る。ディレ
               クトリは、絶対パス名として指定される。デフォルトメールパスは、  MH  プロファイル (
               MH 環境変数によって決定され、そして、 $HOME/.mh_profile がデフォルトである )  にお
               ける  Path コンポーネントの 値である。MH Path がプロファイルにおいて与えられないな
               らば、 $HOME/Mail が、パスとして使われるであろう。

       -initial folder
               このオプションは、新しいメールが取り込まれ、 xmh  によって初期状  態で開かれる代替
               フォルダを指定する。デフォルトの初期フォルダは、 ``inbox'' である。

       -flag   このオプションによって、  xmh  は適切なフォルダボタンの外観を変え、 そして、新しい
               メールが着いたときに xmh アイコンの外観を変えるよ うにウィンドウマネージャに要求す
               る。デフォルトでは、新着メールがあると  き、 xmh は、 ``inbox'' フォルダボタンの外
               観を変える。アプリケー ション固有のリソース checkNewMail  が、この通知をオフにする
               のに使 われるが、 -flag オプションは、それをさらに上書きする。

       これらの    3    つのオプションには、それぞれに対応するアプリケーション固有   のリソース、
       MailPathInitialFolderMailWaitingFlag  があり、これらはリソースファイルで指定でき
       る。

       標準の toolkit コマンド行オプションは、X(7) で説明されている。

インストール

       xmh は、ユーザが MH バージョン 6 を使うようセットアップ 済であることを必要とする。そのため
       には、あなたのホームディレクトリに らば、``Current-Folder'' で始まる行が含まれるかどうかを
       チェックしなさ い。もし存在するのであれば、あなたは、バージョン 4 あるいはそれ以前の MH を
       使っており、バージョン 6 に移行するために、その行を除去しな  ければならない。(  そうしない
       と、設定によっては xmh のハングアッ プにつながる stderr へのうわべだけもっともらしい出力を
       引き起こす。 )

       とによってそれ ( そして、他にも必要なもの全て ) を作成できる。新しいメー  ルを取り込むため
       に xmh を使う前にこれをするべきである。

       更に詳細な情報は、 mh(1) ドキュメンテーションを参照しなさい。

       xmh のユーザインターフェースの大部分は、 Xmh アプリケー ションクラスデフォルトファイルにお
       いて設定される。このファイルが適切 にインストールされていないと、 xmh が使われるときに、警
       告メッセー ジが現れるであろう。xmh は、以前の R4 アプリケーションクラスデフォ ルトファイル
       との互換性がある。

       SendBreakWidth リソースのデフォルト値は、 R4 以降変わった。

基本的な画面レイアウト

       xmh は、4 つの主要なエリアに分かれた 1 つのウィンドウでスタートする :

       -   プルダウンメニューを持つ 6 つのボタン。

       -   ボタンの集合、各トップレベルフォルダのために 1 つづつ。MH の新 しいユーザは、  2  つの
           フォルダ、 ``drafts'' 、及び、 ``inbox'' を持っ ているであろう。

       -   開いているフォルダにおけるメッセージの一覧ないし目次。初期状態では、こ  れは ``inbox''
           のメッセージを表示するであろう。

       -   あなたのメッセージのうちの 1 つの表示。初期状態では、空白である。

xmh Athena ウィジェットセット

       xmh は X Toolkit Intrinsics 、及び、 Athena ウィジェットセットを 使用する。下で ( スクロー
       ルバー、  buttonboxes 等 ) 示された多数の機能 は、実際には Athena ウィジェットセットの一部
       であり、そして、完全を期す ためにのみここで示される。更に詳細な情報については、Athena ウィ
       ジェッ トセットのドキュメンテーションを参照せよ。

   スクロールバー
       メインウィンドウのある部分には、グレーのバーを含む垂直のエリアが左側に  ついている。このエ
       リアは、スクロールバーである。ウィンドウ内のデータが、  表示され得るより更に多くのスペース
       を必要とするときはいつでも、スクロー  ルバーが使われる。グレーバーは、データのどの部分が見
       えるかを示す。従っ  て、エリア全体の長さにわたってグレーであれば、データ全体が表示されてい
       る。前半がグレーであれば、データの上半分を見ている。メッセージ表示エリ  アには、表示してい
       るエリアよりメッセージのテキストが広いときには、水平 のスクロールバーがついている。

       スクロールバーにおいてデータのどの部分が見えるかを変えるためにポインタ  を利用しうる。ポイ
       ンタボタン 2 をクリックすると、グレーエリアのトッ プは、ポインタの位置に動き、データの対応
       する部分が表示される。ポインタ ボタン 2 を押せば、グレーエリアをドラッグしてまわることがで
       きる。これ  によって、データのトップに行くのが容易になる。つまり、ボタン  2  を押し、 スク
       ロールバーの上を外れるまでドラッグし、離しなさい。

       ボタン  1  をクリックすると、ポインタの右側のデータは、ウィンドウのトッ   プにスクロールす
       る。ポインタボタン 3 をクリックすると、ウィンドウのトッ プのデータは、ポインタのある位置に
       スクロールダウンするであろう。

   BUTTONBOX, ボタン、メニュー
       長方形あるいは丸い境界に囲まれている多くの単語、または短い句を含むエリ アは buttonbox と呼
       ばれる。実際に、おのおのの長方形あるいは丸いエリア  は、ポインタをそこに動かして、ポインタ
       ボタン 1 を押することによって押 すことのできるボタンである。ある buttonbox  がそれに合う以
       上に多くのボ タンを持っているときには、スクロールバー付きで表示され、常に望むボタン にスク
       ロールし得る。

       いくらかのボタンは、プルダウンメニューを持っている。ポインタがこれらの ボタンのうちの 1 つ
       の上にあるときにポインタボタンを押すと、プルダウン  メニューが表示される。ボタンを押し続け
       たままメニューの上でポインタを動  かす   (これを「ポインタをドラッグする」と呼ぶ)   と、メ
       ニュー上の選択可能  な項目をポインタが通過するにつれて、それらの項目がハイライトされる。メ
       ニューにおいて項目を選択するためには、そのアイテムがハイライトされてい  る間にポインタボタ
       ンをリリースしなさい。

   相対的なエリアサイズの調整
       もしあなたがメインウィンドウの様々なエリアのサイズに満足していないけれ  ば、それらは容易に
       変えられる。各領域の間の境界の右端の近くには、 grip と呼ばれる黒いボックスがある。単にポイ
       ンタでグリップをポイ      ントし、ポインタボタンを押し、上または下にドラッグし、リリースす
       る。何 が起きるかは、どのポインタボタンを押したかによって変わる。

       ポインタボタン 2 でドラッグするならば、その境界のみが動くであろう。こ のモードは最も理解し
       やすいが、最も役に立たない。

       ポインタボタン 1 でドラッグするならば、上のウィンドウのサイズが調整さ れる。xmh はそれより
       下のウィンドウを調整して補償しようと試みる。

       ポインタボタン 3 でドラッグするならば、下のウィンドウのサイズが調整さ れる。xmh はそれより
       上にあるウィンドウを調整して補償しようと試み る。

       全てのウィンドウは、最小、及び、最大サイズを持っている ; ウィンドウに 無効なサイズを持たせ
       るであろう点を過ぎて境界を動かすことは決して許され ないであろう。

メールを処理する

       このセクションでは、選択されたフォルダ、現在のフォルダ、選択された メッセージ 、現在のメッ
       セージ、選択されたシーケンス、及び、現在のシー ケンスの概念を定義するであろう。各 xmh コマ
       ンドは、導入される。

       カスタマイズにおける使用のために、各コマンドと対応するアクション手続きが行 われる ; これら
       のアクション手続きは、ユーザインタフェース、特にキーボー    ドアクセラレータ、及び、アプリ
       ケーションリソース CommandButtonCount によって作成された任意のボタンボックスにおけ  るボタ
       ンの役割をカスタマイズするために使われ得る。

   フォルダとシーケンス
       フォルダは、メールメッセージの集合を含むか、空である。xmh  は、 1 つのレベルのサブフォルダ
       を持つフォルダをサポートする。

       選択されているフォルダは、がフォルダボタン上のバーに foldername が現れ  るもののどれかであ
       る。これが必ずしも現在表示されているのと同じフォルダ    であるとは限らないことに注目しなさ
       い。選択されているフォルダを変えるため には、単に所望のフォルダボタンをポインタボタン 1 で
       押しなさい ; そのフォルダがサブフォルダを持っているならば、プルダウンメニューの 中からフォ
       ルダを選択しなさい。

       目次すなわち toc は、表示しているフォルダのメッセージをリストする。目 次の上のタイトルバー
       は、表示されているフォルダの名前を表示する。

       toc  タイトルバーには、表示しているフォルダの中の表示されているメッセー ジのシーケンスの名
       前も同様に表示される。全てのフォルダには、そのフォル  ダの全てのメッセージを含む暗黙のシー
       ケンス ``all'' があり、 toc タイト ルバーの初期表示は、 ``inbox:all'' である。

   FOLDER (フォルダ) コマンド
       Folder (フォルダ) コマンドメニューは、グローバルな性質のコマンドを含む :

       Open Folder (フォルダを開く)
               選択されているフォルダにおけるデータを表示する。このようにして、選択さ    れている
               フォルダは、表示されているフォルダにもなる。  このコマンドと対応するアクション手続
               きは、 XmhOpenFolder([foldername]) である。選択され開かれる フォルダの名前として任
               意引き数をとる。フォルダが指定されなければ、選択さ  れているフォルダが開かれる。こ
               のアクションは、フォルダメニューボタン、も  しくは、フォルダメニューからのイベント
               トランスレーションの一部として、  もしくは、フォルダメニューボタンまたはフォルダメ
               ニュー以外のいずれかの  ウィジェットへのキーボードアクセラレータのバインドとして指
               定されるかも しれない。

       Open Folder in New Window (新しいウィンドウにフォルダを開く)
               追加のメインウィンドウに選択されたフォルダを表示する。しかし、 xmh  は同じフォルダ
               を一度に一つ以上のウィンドウに表示しようとする  ことを禁止しないが、確実に表示する
               ことはできないことに注意せよ。  対応するアクションは、  XmhOpenFolderInNewWindow()
               である。

       Create Folder (フォルダを作成する)
               新しいフォルダを作成する。新しいフォルダの名前を入力するようプロンプト  が出る。名
               前を入力するには、表示された空白のボックスにポインタを移動し、    タイプせよ。サブ
               フォルダは、親フォルダ、スラッシュ、そして、サブフォル  ダ名を指定することによって
               作成される。例えば、 ``clients''  という名前  の既存のフォルダのサブフォルダである
               ``xmh''  という名前のフォルダを作 成するためには ``clients/xmh'' とタイプする。 完
               了したら Okay ボタンを  クリックするか、単に  Return  をタイプしなさい。この操作を
               キャンセルする ためには、 Cancel をクリックしなさい。 Create Folder に対応するアク
               ション は XmhCre-ateFolder() である。

       Delete Folder (フォルダを削除する)
               選択されたフォルダを破壊する。この動作を確認するように要求される (  確認ダイアログ
               ボックスを参照せよ ) 。フォルダを破壊すると、そのフォ ルダのあらゆるサブフォルダも
               同様に破壊する。 対応するアクションは、 XmhDeleteFolder() である。

       Close Window (ウィンドウを閉じる)
               変更が何も失われないことを最初に確認した後、 xmh を終了する。  或いは、追加の  xmh
               ウィンドウから選択されたならば、単にそのウィ  ンドウを閉じる。対応する action は、
               XmhClose() である。

   ハイライトされているメッセージ、選択されているメッセージ、
   現在のメッセージ
       目次のエリアにおいて、連続するメッセージの集まりをハイライトすることが    可能である。メッ
       セージをハイライトするためには、ポインタボタン 1 をク リックしなさい。メッセージの範囲をハ
       イライトするためには、最初のメッセー ジでポインタボタン 1 を、最後のメッセージでポインタボ
       タン 3 をクリック するか、或いは、ポインタボタン 1 を押し、ドラッグし、離しなさい。選択 さ
       れたメッセージの範囲を拡張するには、ポインタボタン 3 を使いなさい。 目次において全てのメッ
       セージをハイライトするためには、ポインタボタン 1 を素早く 2 回クリックしなさい。

       選択されているメッセージは、ハイライトされているメッセージが存在すれば、    それと同じであ
       る。ハイライトされているメッセージがなければ、選択されて  いるメッセージは、現在のメッセー
       ジと同じものとして扱われる。

       現在のメッセージは、メッセージ番号の次の `+' によって示される。これは 通常、現在表示されて
       いるメッセージと対応する。例えば、新しいフォルダを  開いたとき、現在のメッセージは、表示さ
       れているメッセージと異なるであろ    う。メッセージが表示されるとき、その表示の上のタイトル
       バーは、そのメッ セージを識別する。

   TABLE OF CONTENTS (目次) コマンド
       Table of Contents (目次) コマンドメニューは、開かれている、ある いは表示されているフォルダ
       に作用するコマンドを含む。

       Incorporate New Mail (新しいメールを取り込む)
                         あらゆる新しいメールを表示されているフォルダに受け取り、一番最初の新し
                         いメッセージを現在のメッセージとして設定する。このコマンドは、表示され
                         ているフォルダが新しいメールを受け取ることのできるときにのみ、メニュー
                         から選択可能であり、実行できる。デフォルトでは、 ``inbox'' のみが、新 し
                         いメールを取り込むことを許される。対応するアクションは、
                         XmhIncorporateNewMail() である。

       Commit Changes (変更をコミットする)
                         このフォルダでマークされた全ての削除、移動、及び、コピーを実行する。  対
                         応するアクションは、 XmhCommitChanges() である。

       Pack Folder (フォルダを詰める)
                         このフォルダにおけるメッセージの番号を、1 から始まって 1 づつ増えるよ う
                         に、振りなおす。対応するアクションは、 XmhPack-Folder() である。

       Sort Folder (フォルダをソートする)
                         このフォルダにおけるメッセージを時間順にソートする。( 副作用としてこ  れ
                         は、フォルダを詰めることにもなる。)                   対応するアクション
                         は、XmhSortFolder() である。

       Rescan Folder (フォルダを再スキャンする)
                         メッセージのリストを再構築する。あなたがどのようなメッセージを持ってい
                         るか xmh が間違った情報を持っていると思ったときはいつでも、これ を利用で
                         きる。( 特に、あなたが xmh を使わずにストレート MH  コマンドを利用して変
                         更を行うならば、これが必要である。        )       対応するアクションは、
                         XmhForceRescan() である。

   MESSAGE (メッセージ) コマンド
       Message (メッセージ) コマンドメニューは、選択されたメッセージ、 あるいは選択されたメッセー
       ジがなければ現在のメッセージに対して作用する コマンドを含む。

       Compose Message (メッセージを作成する)
                         新しいメッセージを作成する。作成するための新しいウィンドウが現れる。そ
                         の解説は後述の作成ウィンドウセクションにある。このコマンドは、現在のメッ
                         セージに影響を及ぼさない。対応するアクションは、 Xmh-ComposeMessage() で
                         ある。

       View Next Message (次のメッセージを表示する)
                         最初の選択されているメッセージを表示する。ハイライトされているメッセー
                         ジがなければ、現在のメッセージを表示する。既に現在のメッセージが表示さ
                         れていれば、現在のメッセージの後で最初のマークのないメッセージを表示す
                         る。対応するアクションは、 XmhViewNextMessage() である。

       View Previous (前を表示する)
                         最後の選択されているメッセージを表示する。ハイライトされているメッセー
                         ジがなければ、現在のメッセージを表示する。既に現在のメッセージが表示さ
                         れていれば、現在のメッセージの前で最初のマークのないメッセージを表示す
                         る。対応するアクションは、 XmhViewPrevious() である。

       Delete (削除する) 選択されているメッセージに削除マークをつける。ハイライトされているメッ
                         セージがなければ、現在のメッセージに削除マークをつけ、次のマークのない
                         メッセージを自動的に表示する。対応するアクションは、 XmhMarkDelete()  で
                         ある。

       Move (移動する)   選択されているメッセージに、現在選択されているフォルダに移動するようマー
                         クをつける。(   選択されているフォルダが表示されているフォルダと同一であ
                         れば、このコマンドは単に警告音を出す。 ) ハイライトされているメッセー ジ
                         がなければ、現在のメッセージに移動されるようにマークを付け、次のマー  ク
                         のないメッセージを表示する。対応するアクションは、   XmhMarkMove()  であ
                         る。

       Copy as Link (リンクとしてコピーする)
                         選択されているメッセージを選択されたフォルダにコピーするようにマークす
                         る。(   選択されているフォルダが表示されているフォルダと同一であれば、こ
                         のコマンドは単に警告音を出すであろう。 ) ハイライトされているメッセー ジ
                         がなければ、現在のメッセージにコピーするようにマークする。実際にはメッ
                         セージはリンクされるのであって、コピーされるのではないことに留意せよ。
                         xmh  によってコピーされたメッセージを編集することは、メッセージの 全ての
                         コピーに影響を及ぼすであろう。対応するアクションは、 Xmh-MarkCopy() であ
                         る。

       Unmark (マークを取り消す)
                         選択されているメッセージ、または、何もハイライトされていなければ現在の
                         メッセージから、上記の 3  種類のマークを取り消す。対応するアクションは、
                         XmhUnmark() である。

       View in New (別に表示する)
                         最初の選択されているメッセージ、または何もハイライトされていないならば
                         現在のメッセージ、のみを含む新しいウィンドウを作成する。対応する    アク
                         ションは、 XmhViewInNewWindow() である。

       Reply (リプライする)
                         最初の選択されているメッセージ、または何もハイライトされていないならば
                         現在のメッセージ、に対するリプライのための作成ウィンドウを作成する。対
                         応するアクションは、 XmhReply() である。

       Forward (転送する)
                         選択されているメッセージ、または、何もハイライトされていなければ現在の
                         メッセージをカプセル化したものを初期値としてボディに含む作成ウィンドウ
                         を作成する。対応するアクションは、 XmhForward() である。

       Use as Composition (作成として用いる)
                         最初の選択されているメッセージ、または何も選択されていなければ現在のメッ
                         セージ、の内容でボディが初期化された作成ウィンドウを作成する。この作成
                         中に行うあらゆる変更は、  ``drafts''  フォルダにおける新しいメッセージに
                         セーブされ、オリジナルのメッセージは変更しないであろう。しかしながら、
                         この規則に対する例外がある。作成に使われるメッセージが  ``drafts''  フォ
                         ルダ ( 「バグ」を参照せよ  )  の中から選択されたならば、それらの変更は、
                         オリジナルのメッセージに反映されるであろう ( 「作成ウィンドウ」を参照 せ
                         よ ) 。このコマンドと対応するアクション手続きは、  XmhUseAsComposition()
                         である。

       Print (印刷する)  選択されているメッセージ、または、何も選択されていなければ現在のメッセー
                         ジを印刷する。xmh は、通常 enscript(1) コマンドを呼び出す ことによって印
                         刷するが、これは、 xmh のアプリケーション固有のリ ソース PrintCommand に
                         よってカスタマイズされ得る。対応する アクションは、 XmhPrint() である。

   SEQUENCE (シーケンス) コマンド
       Sequence  (シーケンス)  コマンドメニューは、メッセージシーケンス  (   「メッセージシーケン
       ス」を参照せよ ) 、及び、現在表示しているフォル ダのために定義されたメッセージシーケンスの
       リストと関係があるコマンドを  含む。選択されているメッセージシーケンスは、メニューの余白部
       分において、 その項目におけるチェックマークによって示される。選択されているメッセー ジシー
       ケンスを変更するためには、sequence メニューの中から新しいメッセー ジシーケンスを選択しなさ
       い。

       Pick Messages (メッセージを pick する)
                         新しいメッセージシーケンスを定義する。      対応する     action     は、
                         XmhPickMessages() である。

       現在のフォルダに  ``all''  メッセージシーケンス以外のメッセージシーケ   ンスのある場合にの
       み、以下のメニュー項目は意味をもつであろう。

       Open Sequence (シーケンスを開く)
                         表示されているシーケンスを、選択されているシーケンスと同じになるように
                         変更する。対応するアクションは、 XmhOpenSequence() である。

       Add to Sequence (シーケンスに追加する)
                         選択されているメッセージを選択されているシーケンスに追加する。  対応する
                         アクションは、 XmhAddToSequence() である。

       Remove from Sequence (シーケンスから削除する)
                         選択されているメッセージを選択されているシーケンスから削除する。  対応す
                         るアクションは、 XmhRemoveFromSequence() である。

       Delete Sequence (シーケンスを削除する)
                         選択されたシーケンスを完全に削除する。それらのメッセージ自体は影響を受
                         けず、単にそれらのメッセージは、もはや一つに集まってメッセージシーケン
                         スを定義しなくなる。対応するアクションは、 XmhDeleteSequence() で ある。

   VIEW (表示) コマンド
       View (表示) メニューと、 ( Message メニューコマンド View In New の結果である )  表示ウィン
       ドウの buttonboxes のコマン ドは、 Message (メッセージ) メニューの同名のコマンドに対応する
       機 能を持つが、これらは、選択されているメッセージや現在のメッセージではな く、表示されてい
       るメッセージに作用する。

       Close Window (ウィンドウを閉じる)
                         表示されているメッセージが別の表示ウィンドウにあるとき、このコマンドは、
                         あらゆるセーブされていない編集の状態について確認した後で、その表示を閉
                         じる。対応するアクション手続きは、 XmhCloseView() である。

       Reply (リプライする)
                         表示されているメッセージに対するリプライの作成ウィンドウを作成する。  対
                         応するアクション手続きは、 XmhViewReply() である。

       Forward (転送する)
                         表示されているメッセージをカプセル化したものを含んだボディで初期化され
                         た作成ウィンドウを作成する。対応するアクションは、 XmhViewForward() であ
                         る。

       Use As Composition (作成として用いる)
                         表示されているメッセージを含んだボディで初期化された作成ウィンドウを作
                         成する。作成ウィンドウにおいてなされたあらゆる変更は、  ``drafts''  フォ
                         ルダにおける新しいメッセージにセーブされ、オリジナルのメッセージは変更
                         しない。例外 : 表示されているメッセージが ``drafts'' フォルダの中から 選
                         択されたときには ( 「バグ」を参照せよ ) 、オリジナルのメッセージが編  集
                         される。このコマンドに対応するアクション手続きは、           XmhViewUse-
                         AsComposition() である。

       Edit Message (メッセージを編集する)
                         このコマンドは、表示されているメッセージの直接的な編集を可能にする。  ア
                         クション手続きは、 XmhEditView() である。

       Save Message (メッセージをセーブする)
                         そのメッセージが編集されるまでは、このコマンドは無意味である。起動され
                         ると、編集結果は、表示におけるオリジナルのメッセージにセーブされる。  対
                         応するアクションは、 XmhSaveView() である。

       Print (印刷する)  表示されているメッセージを印刷する。 xmh は、 enscript(1) コマンドを起動
                         することによって印刷するが、これは、アプリケーション固有      のリソース
                         PrintCommand    でカスタマイズされ得る。    対応するアクション手続きは、
                         XmhPrintView() である。

       Delete (削除する) 表示されているメッセージに削除のためのマークをつける。  対応するアクショ
                         ン手続きは、 XmhViewMarkDelete() である。

オプション (Options メニュー)

       Options (オプション) メニューは、 1 つの項目を含む。

       Read in Reverse (逆順に読む)
              選択されると、 このメニュー項目のマージンにチェックマークが現れる。 Read in Reverse
              (逆順に読む) は、次の /  前のメッセージの意味を交換する  であろう、そして現在のメッ
              セージマーカを反対の方向に進める。これは、最   新のメッセージを最初に、という順番で
              メッセージを読むことを望むならば、 有益である。このオプションはトグルとして働く。効
              果を取り消すためには、 メニューからもう一度これを選択しなさい。このオプションが選択
              されるとチェッ クマークが現れる。

作成ウィンドウ

       作成ウィンドウは、 Message コマンドメニューの中から Compose Message を選択するか、 Message
       または  View コマンドメニュー から Reply または Forward または Use as Composition を選択す
       ることによって作成される。これらは、メールメッセージを作成する  ために使われる。通常のテキ
       スト編集ファンクションとは別に、作成ウィンド ウと関連する 6 つのコマンドボタンがある :

       Close Window (ウィンドウを閉じる)
                         作成ウィンドウを閉じる。もし変更が最も最近の   Save   (セーブ)、または、
                         Send  (送信)  以後に行われていれば、それらの変更を失うことの確認を要求さ
                         れるであろう。対応するアクションは、 XmhCloseView() である。

       Send (送信する)   この作成内容を送る。対応するアクションは、 XmhSend() である。

       New Headers       現在の作成内容を空のメッセージで置き換える。最も最近の Send (送信) 、 ま
                         たは、 Save (セーブ) 以降に変更が行われていれば、それらの変更内容を 失な
                         うことの確認を要求されるであろう。対応するアクションは、
                         XmhResetCompose() である。

       Compose Message (メッセージを作成する)
                         別の新しい作成ウィンドウを開く。対応するアクションは、
                         XmhComposeMessage() である。

       Save Message (メッセージをセーブする)
                         自分の draft フォルダにこの作成内容をセーブする。そして、作成を安全に 閉
                         じ得る。将来いつか、 draft フォルダを開き、メッセージを選択し、そし て、
                         ``Use  as  Composition''  コマンドを使うことによって作成作業を継続し  得
                         る。対応するアクションは、 XmhSave() である。

       Insert (挿入する) 関連するメッセージを作成に挿入する。作成ウィンドウが ``Reply'' コマン ド
                         で作成された場合は、関連するメッセージは、リプライ対象のメッセージで  あ
                         る。そうでない場合は、関連するメッセージは定義されておらず、このボタ  ン
                         は無意味である。  メッセージは、挿入される前にフィルタされるかもしれ  な
                         い。更に詳細な情報はアプリケーション固有のリソースの中の    ReplyInsert-
                         Filter を参照せよ。対応するアクションは、 XmhInsert() である。

アクセラレータ

       アクセラレータは、ショートカットである。これらにより、キーボードから、  あるいはポインタを
       使って、メニューを使わずにコマンドを起動することが可 能になる。

       xmh は、一般的なアクションのためにポインタアクセラレータを定義する。 1  回のクリックによっ
       てメッセージを選択し、表示するためには、目次のメッ セージの項目上でポインタボタン 2 を用い
       なさい。一回のアクションでフォル  ダまたはシーケンスを選択し、開くためには、ポインタボタン
       2 でフォルダ またはシーケンスを選択しなさい。

       ハイライトされているメッセージ、あるいはどれもハイライトされていなけれ  ば現在のメッセージ
       に、あるフォルダに移動するマークをつけるためには、ポ インタボタン 3 を用いて対象となるフォ
       ルダを選択し、同時にメッセージに  マークをつける。 同様に、ポインタボタン 3 によってシーケ
       ンスを選択することにより、ハイ  ライトされている、あるいは現在のメッセージをそのシーケンス
       に加えられる。 どちらの操作においても、選択されているフォルダまたはシーケンス、そして、 表
       示されているフォルダまたはシーケンスには、変更はない。

       メッセージを編集中の表示エリアを除き、 xmh は、メインウィンドウ 上で次のキーボードアクセラ
       レータを定義する :
            Meta-I         Incorporate New Mail (新しいメールを取り込む)
            Meta-C         Commit Changes (変更をコミットする)
            Meta-R         Rescan Folder (フォルダを再スキャンする)
            Meta-P         Pack Folder (フォルダを詰める)
            Meta-S         Sort Folder (フォルダをソートする)

            Meta-space     View Next Message (次のメッセージを表示する)
            Meta-c         Mark Copy (コピーのマークをつける)
            Meta-d         Mark Deleted (削除のマークをつける)
            Meta-f         Forward the selected or current message
                               (選択されているか現在のメッセージを転送する)
            Meta-m         Mark Move (移動のマークをつける)
            Meta-n         View Next Message (次のメッセージを表示する)
            Meta-p         View Previous Message (前のメッセージを表示する)
            Meta-r         Reply to the selected or current message
                               (選択されているか現在のメッセージにリプライする)
            Meta-u         Unmark (マークを取り消す)

            Ctrl-V         Scroll the table of contents forward
                               (目次を先にスクロールする)
            Meta-V         Scroll the table of contents backward
                               (目次を逆にスクロールする)
            Ctrl-v         Scroll the view forward
                               (表示を先にスクロールする)
            Meta-v         Scroll the view backward
                               (表示を逆にスクロールする)

テキスト編集コマンド

       テキストを編集するコマンド全ては、実際には  Athena  ウィジェットセットに  おける Text ウィ
       ジェットによって定義される。それらのコマンドは、X Toolkit Intrinsics  のキー再バインド機能
       により、下記のデフォルトとは異      なったキーにバインドされる。更に詳細は、X      Toolkit
       Intrinsics 、及び、 Athena ウィジェットセットのドキュメンテーションを参照せよ。

       何かのテキストを入力するように要求されるときはいつでも、標準のテキスト  編集インタフェース
       を利用している。様々なコントロールやメタキーストロー  クコンビネーションは、ある程度 Emacs
       ライクなコマンドセットにバインド  されている。更に、ポインタボタンが、テキストの一部分を選
       択する、もしく は、テキスト上の挿入ポイントを動かすために使われる。ポインタボタン 1 を押す
       ことにより、挿入ポイントはポインタに動く。ボタン 1  は、ダブルク  リックでワードを選択し、
       トリプルクリックで行を選択し、  4  回クリックで  パラグラフを選択し、そして、素早く 5 回ク
       リックすることで全文を選択す る。あらゆる選択範囲は、ポインタボタン 3 を使うことによってど
       ちらの方 向へでも拡張される。

       下記において、  line (行)は、ウィンドウにおいて表示されている文字 の一行を指す。 paragraph
       (段落) は、キャリッジリターンの間のテキ ストを指す。一つの段落の中のテキストは、ウィンドウ
       の現在の幅に基づいた  表示のために行に分割される。メッセージが送信されるとき、テキストは、
       アプリケーション固有のリソース SendBreakWidth 、及び、 SendWidth  の値に基づいて行に分割さ
       れる。

       以下のキーストロークコンビネーションが、定義されている :

       Ctrl-a    Beginning Of Line   Meta-b         Backward Word
                 行頭へ                             一語戻る
       Ctrl-b    Backward Character  Meta-f         Forward Word
                 一文字戻る                         一語進む
       Ctrl-d    Delete Next Character              Meta-iInsert File
                 次の文字を削除する                 ファイルを挿入する
       Ctrl-e    End Of Line         Meta-k         Kill To End Of Paragraph
                 行末へ                             段落末までカットする
       Ctrl-f    Forward Character   Meta-q         Form Paragraph
                 一文字進む                         段落を整形する
       Ctrl-g    Multiply Reset      Meta-v         Previous Page
                 複数リセット                       前ページへ
       Ctrl-h    Delete Previous Character          Meta-yInsert Current Selection
                 前の文字を削除する                 現在のセレクションを挿入する
       Ctrl-j    Newline And Indent  Meta-z         Scroll One Line Down
                 改行しインデントする               下に一行分スクロールする
       Ctrl-k    Kill To End Of Line Meta-d         Delete Next Word
                 行末までカットする                 次の単語を削除する
       Ctrl-l    Redraw Display      Meta-D         Kill Word
                 ディスプレイを再描画する           単語をカットする
       Ctrl-m    Newline             Meta-h         Delete Previous Word
                 改行する                           前の単語を削除する
       Ctrl-n    Next Line           Meta-H         Backward Kill Word
                 次行へ                             逆方向に単語をカットする
       Ctrl-o    Newline And Backup  Meta-<         Beginning Of File
                 改行しバックアップする             ファイルの先頭へ
       Ctrl-p    Previous Line       Meta->         End Of File
                 前行へ                             ファイルの末尾へ
       Ctrl-r    Search/Replace Backward            Meta-]Forward Paragraph
                 逆方向検索/置換                    次の段落へ
       Ctrl-s    Search/Replace Forward             Meta-[Backward Paragraph
                 順方向検索/置換                    前の段落へ
                 文字を交換する
       Ctrl-u    Multiply by 4       Meta-Delete    Delete Previous Word
                 4 の倍数                           前の単語を削除する
       Ctrl-v    Next Page           Meta-Shift DeleteKill Previous Word
                 次ページへ                         前の単語をカットする
       Ctrl-w    Kill Selection      Meta-Backspace Delete Previous Word
                 セレクションをカットする           前の単語を削除する
       Ctrl-y    Unkill              Meta-Shift BackspaceKill Previous Word
                 ペーストする                       前の単語をカットする
       Ctrl-z    Scroll One Line Up
                 上へ一行分スクロールする

       更に、ポインタが、テキストをコピー & ペーストするために使われる :
            Button 1 Down  Start Selection
                           セレクションを開始する
            Button 1 MotionAdjust Selection
                           セレクションを調整する
            Button 1 Up    End Selection (copy)
                           セレクションを終了する (コピー)

            Button 2 Down  Insert Current Selection (paste)
                           現在のセレクションを挿入する (ペースト)

            Button 3 Down  Extend Current Selection
                           現在のセレクションを拡張する
            Button 3 MotionAdjust Selection
                           セレクションを調整する
            Button 3 Up    End Selection (copy)
                           セレクションを終了する (コピー)

確認ダイアログボックス

       いくらかの作業を失うことをもたらす、あるいは、他にも危険なボタンを押し      た場合はいつで
       も、ポップアップダイアログボックスが現れて、あなたに動作    を確認するように要求する。この
       ウィンドウは、  ``Abort''  、もしくは、  ``No''  ボタン、及び、  ``Confirm''  、もしくは、
       ``Yes'' ボタンを含む。 ``No'' ボタンを押すと、操作をキャンセルし、そして、 ``Yes''  を押す
       と、 操作を進める。

       xmh が Release 6 セッションマネージャの下で実行されるとき、チェッ クポイントオペレーション
       の間にユーザに確認のためのプロンプトを出す。ダ  イアログボックスは、現在の変更がチェックポ
       イントの間にコミットされる  ( セーブされる ) べきであるかどうかを尋ねる。 ``Yes'' と応答す
       ると、そ れぞれのフォルダ、及び、表示ウィンドウにおける ``Commit Changes''  、も  しくは、
       ``Save Message'' ボタンを押すのと同じ効果を持つ。 ``No'' と応 答すると、チェックポイントは
       あらゆる未決定の変更を実際にセーブせずに成  功として完了する。セッションマネージャがチェッ
       クポイントの間にユーザと の対話を許さないならば、 ``Yes'' の応答が仮定される。すなわち、全
       ての 変更は、チェックポイントの間にコミットされるであろう。

       MH からのメッセージを含むダイアログボックスがある。時によりその メッセージが長さ 1  行を超
       えるとき、全てのテキストが見えるとは限らない  であろう。メッセージフィールドをクリックする
       と、メッセージ全体を読むこ とができるようにリサイズするためのダイアログボックスが現れる。

メッセージシーケンス

       MH メッセージシーケンスは、単にある名前と関連づけられたメッセー ジの集まりである。これらは
       特定のフォルダごとにローカルである。2  つの異 なるフォルダは、同じ名前のシーケンスを持つこ
       とができる。 ``all'' とい う名前のシーケンスは、全てのフォルダにおいて定義済である。これは
       そのフォ  ルダにおける全てのメッセージの集まりから成る。定義済の  ``all''  シーケ ンスを含
       め、最大 9 つのシーケンスが各フォルダごとに定義できる。( シー ケンス ``cur''  も同じく、全
       てのフォルダに通常定義されている。これは現 在のメッセージのみから成る。 xmh は、ユーザから
       ``cur'' を隠し、 代りに現在のメッセージに ``+'' を置く。同様に、 xmhMH  の  ``unseen''
       シーケンスをサポートしないので、もう 1 つのシーケンスが ユーザから隠されている。 )

       あるフォルダのためのメッセージシーケンス  ( ``all'' の分 1 つを含む ) が、 ``Sequence'' メ
       ニューにおいてシーケンスコマンドの下に表示される。  目次  (  ``toc''  としても知られる   )
       は、どんなときでもある 1 つのメッセー ジシーケンスを表示する。これは、 ``viewed sequence''
       (表示されているシー ケンス) と呼ばれ、その名前が toc  タイトルバーのフォルダ名の後に表示さ
       れる。同様に、どんなときでもメニュー上のシーケンスのうちの 1 つには、 隣にチェックマークが
       ついている。これは、 ``selected sequence'' (選択さ れているシーケンス)  と呼ばれる。表示さ
       れているシーケンス、及び、選択さ  れているシーケンスが必ずしも同一であるとは限らないことに
       留意せよ。( こ れはフォルダについての動作と非常によく対応する。 )

       Open SequenceAdd to SequenceRemove from Sequence 、そして、 Delete Sequence  コマ
       ンドは、表示されたフォ  ルダが  ``all'' シーケンス以外のメッセージシーケンスを持つときにの
       み、 アクティブである。

       上記のいずれも、あるメッセージがそのフォルダに含まれるかどうかには実際  には影響を与えない
       ことに注意せよ。シーケンスはフォルダの中にあるメッセー  ジの集まりであることを思い出しなさ
       い。上記の操作は、どのメッセージがそ の集まりに含まれるかにのみ影響する。

       新しいシーケンスを作成するには、 ``Pick'' メニューエントリを選択しなさ  い。テキストを入力
       する多くの場所を持った新しいウィンドウが現れる。基本        的に、メッセージの特徴に基づい
       て、メッセージのシーケンスの集まりの初期    値を記述し得る。このようにして、特定の人から来
       た、特定のサブジェクトを  持つ、等々の全てのメッセージとしてシーケンスを定義し得る。ブール
       演算子 を用いていろいろと結合することもできので、 ``weissman'' からの、 ``xmh'' を含むサブ
       ジェクトを持つ全てのものを選択し得る。

       レイアウトは、かなり明白である。最もシンプルなケースは、最も容易である  : 単に適切なフィー
       ルドをポイントし、タイプしなさい。あなたが  1  つ以上   のフィールドに入力するならば、それ
       は、全ての空でないフィールドにマッチ するメッセージをただ選択するであろう。

       あるフィールドか別のフィールドにマッチするが、必ずしも両方にはマッチし  ないものがほしい場
       合には、より複雑な状況が発生する。これが、まさに ``or''  ボタンのある理由である。  ``xmh''
       、または、     ``xterm''     を含むサ     ブジェクトを持つもの全てを必要とするならば、単に
       ``Subject:'' フィール ドの隣の ``or'' ボタンを押しなさい。別のサブジェクトを入力し得る別の
       ボッ クスが現れる。

       あなたが  ``weissman''  から或いはサブジェクト  ``xmh''  を持つが、必ずし も両方とは限らな
       い、全てのものを必要とするならば、 ``-Or-'' ボタンを  選択しなさい。これは、本質的にフォー
       ムのサイズを  2  倍にする。  そして上半分の  from:  ボックスに  ``weissman''  を、下半分の
       subject: ボッ クスに ``xmh'' を入力できる。

       ``Skip''  ボタンを選択すると、その行のフィールドにマッチ  しない  メッセージのみが、含まれ
       る。

       最後的に、ウィンドウの下部にさらにいくつかのボックスが現れる。1  つは、 あなたが定義しよう
       としているシーケンスの名前である。( デフォルトでは ``Pick'' が押されたときに選択されている
       シーケンスの名前、もしくは  ``all'' が選択されているシーケンスであったならば ``temp'' であ
       る。) 別 のボックスではこのシーケンスの要素の候補をどのシーケンスから探すかを定 義する。デ
       フォルトでは ``Pick'' が押されたとき、表示されているシーケン スである。

       さらに 2 つのボックスが、日付の範囲を定義する。この日付の範囲の含まれ るメッセージのみが対
       象となる。これらの日付は、 RFC 822 形式のフォーマッ トで入力されなければならならず、各日付
       は、  ``dd mmm yy hh:mm:ss zzz'' の形式で、 dd は一桁か二桁の日、mmm は月の 3 文字省略形で
       あり、 yy は、 年である。残りのフィールドは、オプショナルであり、 hh 、 mm  、そして、  ss
       は、時刻を指定し、 zzz は、タイムゾーンを選択する。時間が省略された 場合には、デフォルトは
       真夜中であることに留意せよ。従って、 ``7 nov 86'' - ``8 nov 86'' の範囲を選択すると、 7 日
       からのメッセージだけを得 るであろう、というのは 8 日のメッセージ全ては真夜中を過ぎてから着
       いた ものであるから。

       ``Date field'' は、この日付範囲についてどのヘッダフィールドを見るかを 指定する。デフォルト
       は  ``Date''  である。定義しようとしているシーケンス  が既に存在するならば、あなたは、古い
       セットを新しいものとマージすること もでき、これが、 ``Yes'' 、及び、 ``No'' ボタンの意味で
       ある。最終的に、 全部を ``OK'' するか、 ``Cancel'' することができる。

       概して、ほとんどの人々は、めったにこれらの機能を使わないであろう。しか  しながら、ときに応
       じて ``Pick'' を使ってあるメッセージを見つけ、それら を眺め、そして ``Delete Sequence'' を
       叩いて元の状態に戻すのは便利であ る。

ウィジェットの階層構造

       リソースを指定するためには、   xmh  を構成するウィジェットの階層構  造を知ることが有益であ
       る。以下の表記法において、インデントは、階層構造  を示す。ウィジェットクラス名が、最初に与
       えられ、次にインスタンス名が来 る。アプリケーションクラス名は、 Xmh である。

       メインの toc 及び表示ウィンドウの階層構造は、TopLevelShell ウィジェッ トがアプリケーション
       シェルと Paned ウィジェットの間の階層構造に挿入さ れるということを除いては、追加の toc  及
       び表示ウィンドウのものと同じで ある。

       Xmh xmh
            Paned xmh
                 SimpleMenu  folderMenu
                      SmeBSB  open
                      SmeBSB  openInNew
                      SmeBSB  create
                      SmeBSB  delete
                      SmeLine  line
                      SmeBSB  close
                 SimpleMenu  tocMenu
                      SmeBSB  inc
                      SmeBSB  commit
                      SmeBSB  pack
                      SmeBSB  sort
                      SmeBSB  rescan
                 SimpleMenu  messageMenu
                      SmeBSB  compose
                      SmeBSB  next
                      SmeBSB  prev
                      SmeBSB  delete
                      SmeBSB  move
                      SmeBSB  copy
                      SmeBSB  unmark
                      SmeBSB  viewNew
                      SmeBSB  reply
                      SmeBSB  forward
                      SmeBSB  useAsComp
                      SmeBSB  print
                 SimpleMenu  sequenceMenu
                      SmeBSB  pick
                      SmeBSB  openSeq
                      SmeBSB  addToSeq
                      SmeBSB  removeFromSeq
                      SmeBSB  deleteSeq
                      SmeLine  line
                      SmeBSB  all
                 SimpleMenu  viewMenu
                      SmeBSB  reply
                      SmeBSB  forward
                      SmeBSB  useAsComp
                      SmeBSB  edit
                      SmeBSB  save
                      SmeBSB  print
                 SimpleMenu  optionMenu
                      SmeBSB  reverse
                 Viewport.Core  menuBox.clip
                      Box  menuBox
                           MenuButton  folderButton
                           MenuButton  tocButton
                           MenuButton  messageButton
                           MenuButton  sequenceButton
                           MenuButton  viewButton
                           MenuButton  optionButton
                 Grip  grip
                 Label folderTitlebar
                 Grip  grip
                 Viewport.Core  folders.clip
                      Box  folders
                           MenuButton  inbox
                           MenuButton  drafts
                                SimpleMenu  menu
                                     SmeBSB <folder_name>
                                          .
                                          .
                                          .

                 Grip  grip
                 Label  tocTitlebar
                 Grip  grip
                 Text toc
                      Scrollbar  vScrollbar
                 Grip  grip
                 Label  viewTitlebar
                 Grip  grip
                 Text  view
                      Scrollbar  vScrollbar
                      Scrollbar  hScrollbar

       Create Folder ポップアップダイアログボックスの階層構造 :

            TransientShell  prompt
                 Dialog  dialog
                      Label  label
                      Text  value
                      Command  okay
                      Command  cancel
            TransientShell  prompt
                 Dialog  dialog
                      Label  label
                      Text  value
                      Command  okay
                      Command  cancel

       Notice ダイアログボックス ( MH からメッセージをレポートする ) の階
       層構造 :

            TransientShell  notice
                 Dialog  dialog
                      Label  label
                      Text  value
                      Command  confirm

       確認ダイアログボックスの階層構造 :

            TransientShell  confirm
                 Dialog  dialog
                      Label  label
                      Command  yes
                      Command  no

       エラーを報告するダイアログボックスの階層構造 :

            TransientShell  error
                 Dialog  dialog
                      Label  label
                      Command  OK

       作成ウィンドウの階層構造 :

            TopLevelShell  xmh
                 Paned  xmh
                      Label  composeTitlebar
                      Text  comp
                      Viewport.Core  compButtons.clip
                           Box  compButtons
                                Command  close
                                Command  send
                                Command  reset
                                Command  compose
                                Command  save
                                Command  insert

       表示ウィンドウの階層構造 :

            TopLevelShell  xmh
                 Paned  xmh
                      Label  viewTitlebar
                      Text  view
                      Viewport.Core  viewButtons.clip
                           Box  viewButtons
                                Command  close
                                Command  reply
                                Command  forward
                                Command  useAsComp
                                Command  edit
                                Command  save
                                Command  print
                                Command  delete

       pick ウィンドウの階層構造 :
       ( 無名のウィジェットは、名前を持っていない。 )

            TopLevelShell  xmh
                 Paned  xmh
                      Label  pickTitlebar
                      Viewport.Core  pick.clip
                           Form  form
                                Form  groupform
       pick ウィンドウの最初の 6 行は、同一の構造を持つ :

                                     Form  rowform
                                          Toggle
                                          Toggle
                                          Label
                                          Text
                                          Command

                                     Form  rowform
                                          Toggle
                                          Toggle
                                          Text
                                          Text
                                          Command
                                     Form  rowform
                                          Command
                      Viewport.core  pick.clip
                           Form  form
                                From  groupform
                                     Form  rowform
                                          Label
                                          Text
                                          Label
                                          Text
                                     Form  rowform
                                          Label
                                          Text
                                          Label
                                          Text
                                          Label
                                          Text
                                     Form  rowform
                                          Label
                                          Toggle
                                          Toggle
                                     Form  rowform
                                          Command
                                          Command

アプリケーション固有のリソース

       アプリケーションクラス名は Xmh である。アプリケーション固有のリ ソースは、名前順に以下にリ
       ストされる。アプリケーション固有のリソースク  ラス名は、常に大文字で始まる他は、注記されて
       いない限り以下のインスタン ス名と同じである。

       これらのオプションのうちのどれも、  X Toolkit Intrinsics のリソース指定 方式を使ってコマン
       ド行からも同様に指定される。従って、全てのメッセー ジヘッダを表示するように xmh を実行する
       には、
       % xmh -xrm '*HideBoringHeaders:off'

       TocGeometryViewGeometryCompGeometry 、及び、 PickGeometry が指定されなければ、代わ
       りに Geometry の値が 使われる。その結果生じる高さが指定されない (  例  :  ""  、"=500"  、
       "+0-0" ) ときには、デフォルトのウィンドウの高さは、フォント、及び、ラ インカウントから計算
       される。幅が指定されない ( 例 : "" 、 "=x300" 、 "-0+0" ) 場合には、ディスプレイ幅の半分が
       用いられる。指定されていなけ  れば、選択ウィンドウの高さはディスプレイの高さの半分がデフォ
       ルトとなる。

       以下のリソースが、定義されている :

       banner  フォルダ、目次、表示のデフォルトラベルである短い文字列。デフォルトでは、  プログラ
               ム名、ベンダ、及び、リリースを示す。

       blockEventsOnBusy
               xmh  がコマンドを処理中であるとき、ユーザ入力を許さず、ビジーカー ソルを表示するか
               どうか。 false であれば、ユーザは、「先行マウス操作」、 先行タイプできる。true  な
               らば、長い  mh コマンドを処理している ときの、ユーザ入力は、捨てられる。デフォルト
               は、true である。

       busyCursor
               blockEventsOnBusy が true であって xmh  が時間のかかるコマ  ンドを処理しているとき
               に、ポインタの位置を表すために表示されるシンボル の名前。デフォルトは、 "watch" で
               ある。

       busyPointerColor
               ビジーカーソルの前景色。デフォルトは、 XtDefaultForeground である。

       checkFrequency
               どのくらいの頻度で新しいメールについてチェックし、チェックポイントを作  成し、目次
               を再スキャンするかを分で表したもの。  checkNewMail が true であれば、 xmh は、新し
               いメールがあるかどうかをこの間隔ごと にチェックする。 makeCheckpoints が true であ
               れば、この間隔の五  回ごとにチェックポイントが作成される。同じくこの間隔の五回ごと
               に、目次 は、ファイルシステムとの不一致をチェックされ、古くなっていれば再スキャ ン
               される。これらのチェック全てを発生させないようにするには、
                CheckFrequency  を  0  にセットしなさい。デフォルトは、  1  である。 このリソース
               は、以前のユーザリソースファイルへの互換性のために保持され        ている。関連項目
               checkpointIntervalmailInterval 、そし て、 rescanIntervalP を参照せよ。

       checkNewMail
               true  であれば、 xmh は、トップレベルフォルダ、及び、開かれている サブフォルダのた
               めに新しいメールが着いたかどうか規則的間隔でチェックす  る。新しいメールがトップレ
               ベルフォルダに取り込まれるのを待っているなら  ば、ビジュアルな表示が、与えられるで
               あろう。デフォルトは、 true である。 この間隔は、 mailInterval  によって調整され得
               る。

       checkpointInterval (class Interval)
               makeCheckpoints  が ture であるとき、どのくらいの頻度で揮発性の状 態のチェックポイ
               ントを行なうかを分の単位で指定する。デフォルトは、 checkFrequency の値の 5  倍であ
               る。

       checkpointNameFormat
               チェックポイントされたファイルにどのような名前をつけるかを指定する。こ  のリソース
               の値は、 `%d' が一度必須に表れる場所に、代わりにメッセージ番  号を文字列として挿入
               することによってファイル名を生成するために使われる。  リソースの値が空のストリング
               であるか、 `%d' がストリングにおいて現れな  いか、  "%d"  がリソースの値であるなら
               ば、代わりにデフォルト値が使われる。  デフォルト値は、 "%d.CKP" である。絶対パス名
               が与えられない限り、チェッ    クポイントは、元のフォルダにおいて行われる。     xmh
               は、ユーザがチェッ  クポイントを回復するのを支援しない、また、チェックポイントファ
               イルの除 去も提供しない。

       commandButtonCount
               メインウィンドウの toc と表示エリアの間の botton box の中に作成できる コマンドボタ
               ンの数。

               commandBox といった名前を持つボックスに、 xmh は、 button1, button2 のような名前で
               これらのボタンを作成するであろう。 デフォルト値は、 0 である。xmh ユーザは、自分専
               用のリソースファ イルにおいてボタンのためのラベル、アクションを指定できる。 「アク
               ションおよびインターフェースのカスタマイズ」のセクションを参照せよ。

       compGeometry
               作成を含むウィンドウのための最初のジオメトリ。

       cursor  ポインタを表すために用いられるシンボルの名前。デフォルトは、 ``left ptr'' である。

       debug   xmh の実行中に、情報を stderr に出力するかどうか。デフォルトは、 false 。

       draftsFolder
               メッセージの草稿のために使われるフォルダ。デフォルトは、 ``drafts'' で ある。

       geometry
               デフォルトとして用いられるジオメトリ。デフォルトはなし。

       hideBoringHeaders
               ``on'' であれば、 xmh は関心のないヘッダ行を表示の最上部からスク  ロールすることで
               とばそうとする。デフォルトは、 ``on'' である。

       initialFolder
               起動時にどのフォルダを表示するか。コマンド行オプション   -initial   でもセットされ
               る。デフォルトは、 ``inbox'' である。

       initialIncFile
               入って来るメールドロップファイルの絶対パス名。いくらかの実装、例えば、  POP  (Post
               Office Protocol) を利用する実装においては、どのファイルも適 切ではない。この場合、
               initialIncFile は、指定しないべきだが、あ るいは空文字列として指定してもよく、そし
               て  inc は、 -file 引き数 なしで起動されるであろう。デフォルトでは、このリソースに
               は、値がない。 xmh.xmhcheck ファイルを発見するならば、このリソースは、  無視さ
               れる。複数メールドロップに関するセクションを参照せよ。

       mailInterval (class Interval)
               mailWaitingFlag  、または、 checkNewMail が true であるなら ば、メールがチェックさ
               れる間隔を分で指定する。デフォルトは、 checkFrequency の値である。

       mailPath
               メールフォルダの位置を指定する完全なパスのプレフィクス。コマンド行      オプション
               -path によっても設定できる。デフォルトは、 MH プロファイルにおける Path コンポーネ
               ント、または、なければ ``$HOME/Mail'' である。

       mailWaitingFlag
               true ならば、 xmh は、新しいメールが取り込まされるのを待っている  ときに、アイコン
               で示そうとする。  mailWaitingFlag  が  true  であるならば、それから、 checkNewMail
               は、同様に true であるとみなされる。 -flag  コマンド行オプションは、このリソースを
               オンにする迅速な方 法である。

       makeCheckpoints
               true  ならば、  xmh  は、揮発性の編集のチェックポイントをセーブしよ うと試みる。デ
               フォルトは、false 。 チェックポイントの頻度は、リソース checkpointInterval  によっ
               てコ                  ントロールされる。チェックポイントのロケーションについては、
               checkpointNameFormat を参照せよ。

       mhPath  MH   のコマンドを見つけるディレクトリ。コマンドがユーザのパスに   見つからないなら
               ば、ここで指定されたパスが使われる。 デフォルトは、 ``/usr/local/mh6'' である。

       newMailBitmap (class NewMailBitmap)
               フォルダに新しいメールのあるとき、フォルダボタンに表示するためのビット  マップ。デ
               フォルトは、 ``black6'' である。

       newMailIconBitmap (class NewMailBitmap)
               いずれかのフォルダに新しいメールのあるとき、アイコンとしてウィンドウマ  ネージャに
               推奨 (suggest) するビットマップ。デフォルトは、 ``flagup'' である。

       noMailBitmap (class NoMailBitmap)
               あるフォルダに新しいメールのないとき、フォルダボタンに表示するためのビッ    トマッ
               プ。デフォルトは、 ``box6'' である。

       noMailIconBitmap (class NoMailBitmap)
               どのフォルダにも新しいメールのないとき、アイコンとしてウィンドウマネー  ジャに推奨
               (suggest) するビットマップ。デフォルトは、 ``flagdown'' で ある。

       pickGeometry
               選択 (pick) ウィンドウのための初期ジオメトリ。

       pointerColor
               ポインタの前景色。デフォルトは、 XtDefaultForeground である。

       prefixWmAndIconName
               ウィンドウ名とアイコン名に接頭辞として  "xmh:  " をつけるかどうか。デフォ ルトは、
               true である。

       printCommand
               メッセージを印刷するために実行する sh コマンド。stdout 、及び、 stderr  を明示的に
               リイレクトしなければならないことに留意せよ。メッセー  ジやメッセージの範囲が印刷の
               ために選択されたとき、各メッセージファイル  の完全なファイルパスが、指定された印刷
               コマンドに付加される。デフォルト  は、  ``enscript  > /dev/null 2>/dev/null'' であ
               る。

       replyInsertFilter
               作成ウィンドウにおいて Insert (挿入) ボタンが起動されたときに、実行さ れる sh コマ
               ンド。 sh(1) に渡される前に、ソースとなるメッ セージの完全なパスとファイル名が、コ
               マンドに付加される。デフォルトのフィ ルタは、 cat である。すなわち、全体のメッセー
               ジを作成内容に挿入  する。興味深いフィルタは、以下である。  sed  's/^/ > /' または
               awk -e '{print " " $0 }' または < mh directory>/lib/mhl -form mhl.bodyrescanInterval (class Interval)
               どの程度の頻度で、現在の表示されているフォルダと現在表示されているメッ  セージを持
               つフォルダの目次をチェックし、そして、 xmh がこれらの フォルダでファイルシステムと
               矛盾を発見した場合に、目次をアップデートす  るか。デフォルトでは、  checkFrequency
               の値の 5 倍である。

       reverseReadOrder
               true のとき、次のメッセージは目次において現在のメッセージに先立つメッ セージ、前の
               メッセージは目次において現在のメッセージの後のメッセージに    なる。デフォルトは、
               false 。

       sendBreakWidth
               メッセージが xmh から送られるときに、この値より長い行は、 SendWidth を超えない長さ
               の行からなる複数行に分割される。この値は、 SendBreakWidth: value  の形式の追加の行
               をメッセージヘッダに挿入す  ることで、ある特定のメッセージについて上書きすることが
               できる。メッ    セージが送られる前に、この行はヘッダから除去される。デフォルトは、
               2000 ( ソースパッチを含むメールを送るときに許すため ) である。

       sendWidth
               メッセージが  xmh から送られるとき、SendBreakWidth 文字より 長い行は、この値を超え
               ないように複数行に分割される。この値は、 SendWidth:  value  の形式の追加の行をメッ
               セージヘッダに挿入するこ  とによって、ある特定のメッセージについて上書きすることが
               できる。    そのメッセージが送られる前に、この行はヘッダから除去されるであろう。デ
               フォルトは、 72 である。

       showOnInc
               新しいメールを取り込んだ後に、現在のメッセージを自動的に表示するかどう  か。デフォ
               ルトは、true である。

       skipCopied
               ``View Next Message'' 、及び、 ``View Previous Message''  を使っている  ときに、コ
               ピーされるマークの付いたメッセージをスキップするかどうか。デ  フォルトは、 true で
               ある。

       skipDeleted
               ``View Next Message'' 、及び、 ``View Previous Message'' を使っている ときに、削除
               されるマークの付いたメッセージをスキップするかどうか。デフォ  ルトは、  true  であ
               る。

       skipMoved
               ``View Next Message'' 、及び、 ``View Previous Message'' を使っている ときに、他の
               フォルダに移動されるマークの付いたメッセージをスキップする    かどうか。デフォルト
               は、 true である。

       stickyMenu
               true ならば、ポップアップコマンドメニューが使われるとき、ポップアップ したメニュー
               のカーソルの下に最も最近選択された項目がくる。デフォルトは、  false 。ポップアップ
               コマンドメニューのためのリソースの設定例については、                      ファイル
               clients/xmh/Xmh.sample を参照せよ。

       tempDir xmh  が一時ファイルを格納するディレクトリ。プライバシのために、ユー ザは、これを自
               分のディレクトリに変えることを望むかもしれない。デフォル トは、 ``/tmp'' である。

       tocGeometry
               メイン xmh toc と表示ウィンドウのための初期ジオメトリ。

       tocPercentage
               メインウィンドウのうち目次を表示するために使われるパーセンテージ。デフォ  ルトは、
               33 である。

       tocWidth
               フォルダの目次において各メッセージのためにどのくらいのキャラクタを生み  出すか。デ
               フォルトは、 100 である。リスティングが右側の境界で切られて しまうようなメイン xmh
               ウィンドウのジオメトリであるとか、大いに  mhl を使うつもりであるならば、もっと速く
               なるであろうし、余分の文 字は無意味であろうから、もっと小さい値を使え。

       viewGeometry
               メッセージの表示を行うウィンドウのための初期ジオメトリ。

複数メールドロップ

       ユーザは、複数のスプールファイルあるいはメールドロップからメールを取り  込む必要があるかも
       しれない。到着するメールが MH slocal プログラ ムに送られるならば、ユーザによって指定された
       ように複数の到着メールド ロップに分類され得る。どのように .maildelivery ファイルで到着メー
       ルの転送、及び、自動分類を指定するかを学ぶためには、  slocal のた めの MH のマニュアルペー
       ジを参照しなさい。

       様々なメールドロップについて xmh に通知するためには、ホームディ レクトリにおいて .xmhcheck
       というファイルを作成しなさい。このファ  イルにおいて、既存のフォルダ名とメールドロップの間
       のマッピングは、フォ  ルダ名につづいていくつかの空白で区切られたメールドロップサイトの絶対
       パ ス名を、一行につきにつきひとつのマッピングで与えることで作成される。新 しいメール到着を
       通知するようにリソースが設定されるかどうかにかかわら ず、 xmh は、このファイルを読み、メー
       ルドロップをもつあらゆるフォ  ルダへの新しいメールの取り込みを許す。xmh  は、 -file 引き数
       をつけて inc を起動する。そしてxmh が新しいメールをチェッ クするように要求されたときには、
       msgchk を使うのではなく直接チェッ クする。

       フォルダ ``inbox'' 、及び、 ``xpert'' のための .xmhcheck ファイ ルフォーマットの例 :
       inbox     /usr/spool/mail/converse
       xpert     /users/converse/maildrops/xpert

アクションおよびインターフェースのカスタマイズ

       xmh  は、コマンドの機能に対応するアクション手続きを提供し、アクセラ レータを実装しているの
       で、ユーザは自分のリソースファイルでアクセラレー  タや新しいボタンの機能をカスタマイズする
       ことができる。カスタマイズされ                  たリソースを指定する例については、ファイル
       mit/clients/xmh/Xmh.sam-ple  を参照せよ。シンタックスを理解するた   めには、   Translation
       Table Syntax に関する X Toolkit Intrinsics 仕様書の Appendix 、及び、 X リソースの利用と指
       定 についての一般的な説明を参照せよ。設計対象外のイベントまたはウィジェッ トにアクションが
       バインドされると、予測できない結果が発生する可能性がある。

       アクションを自分の  xmh ボタンにバインドする方法と、Meta キーが必要 とされないようにデフォ
       ルトアクセラレータを再定義する方法の例を、上記の  サンプルファイルへのアクセスができない場
       合のためにここに示した。

       ! To create buttons in the middle of the main window and give them semantics:
       ! ( メインウィンドウの中程にボタンを作成し、そして、それらのボタンにセ
       !   マンティクスを与えるため ) :

       Xmh*CommandButtonCount:       5

       Xmh*commandBox.button1.label: Inc
       Xmh*commandBox.button1.translations: #override\
            <Btn1Down>,<Btn1Up>: XmhIncorporateNewMail() unset()

       Xmh*commandBox.button2.label: Compose
       Xmh*commandBox.button2.translations: #override\
            <Btn1Down>,<Btn1Up>: XmhComposeMessage() unset()

       Xmh*commandBox.button3.label: Next
       Xmh*commandBox.button3.translations: #override\
            <Btn1Down>,<Btn1Up>: XmhViewNextMessage() unset()

       Xmh*commandBox.button4.label: Delete
       Xmh*commandBox.button4.translations: #override\
            <Btn1Down>,<Btn1Up>: XmhMarkDelete() unset()

       Xmh*commandBox.button5.label: Commit
       Xmh*commandBox.button5.translations: #override\
            <Btn1Down>,<Btn1Up>: XmhCommitChanges() unset()

       ! To redefine the accelerator bindings to exclude modifier keys,
       ! and add your own keyboard accelerator for Compose Message:
       ! ( モディファイアキーを除外するためにアクセラレータのバインドを再定
       !   義するため、そして Compose Message に自分のキーボードアクセラレー
       !   タを加えるため ) :

       Xmh*tocMenu.accelerators: #override\n\
            !:<Key>I: XmhIncorporateNewMail()\n\
            !:<Key>C:      XmhCommitChanges()\n\
            !:<Key>R: XmhForceRescan()\n\
            !:<Key>P: XmhPackFolder()\n\
            !:<Key>S: XmhSortFolder()\n
       Xmh*messageMenu.accelerators: #override\n\
            !:<Key>E: XmhComposeMessage()\n\
            !<Key>space:    XmhViewNextMessage()\n\
            !:<Key>c: XmhMarkCopy()\n\
            !:<Key>d: XmhMarkDelete()\n\
            !:<Key>f: XmhForward()\n\
            !:<Key>m: XmhMarkMove()\n\
            !:<Key>n: XmhViewNextMessage()\n\
            !:<Key>p: XmhViewPreviousMessage()\n\
            !:<Key>r: XmhReply()\n\
            !:<Key>u: XmhUnmark()\n

       xmh  は、コマンドメニューにおける項目に対応するアクション手続きを提供 する。これらは、ここ
       ではなくメニューコマンドを解説するセクションに示さ  れている。メニューにおけるコマンドに対
       応するアクションに加え、以下の アクションルーチンが、定義されている :

       XmhPushFolder([foldername, ...])
                 このアクションは、各引き数を foldernames のスタックにプッシュする。引き数が 与え
                 られなかった場合には、選択されたフォルダがスタックにプッシュされる。

       XmhPopFolder()
                 このアクションは、スタックから foldername を一つポップし、選択フォルダを  設定す
                 る。

       XmhPopupFolderMenu()
                 このアクションは、ユーザがフォルダボタンを選択するとき、常に実行されるは  ずであ
                 る。フォルダボタンは、一つのフォルダとそのゼロ個以上のサブフォル  ダを表す。サブ
                 フォルダのメニューは最初の参照時にこのルーチンによって構  築される。サブフォルダ
                 を持たない場合には、このルーチンは、サブフォルダ  を持たないとしてフォルダにマー
                 クを付け、メニューの構築は行なわない。そ  のような場合、メニューボタンは、トグル
                 ボタンをエミュレートする。  サブフォルダを持つ場合には、メニューボタンアクション
                 PopupMenu() を利用し て、メニューがポップアップする。

       XmhSetCurrentFolder()
                 このアクションにより、メニューボタンがフォルダを選択する機能においてトグ  ルボタ
                 ンをエミュレートすることが可能にになる。    このアクションは、メニューボタンウィ
                 ジェットのみのためのものであり、選択 されたフォルダを設定する。

       XmhLeaveFolderButton()
                 このアクションは、ユーザがメニューボタンウィンドウから外にポインタを動か    すと
                 き、メニューボタンが適切に動作することを保証する。

       XmhPushSequence([sequencename, ...])
                 このアクションは、各引き数をシーケンス名のスタックにプッシュする。引き数が与  え
                 られていない場合には、選択されているシーケンスが、スタックにプッシュ される。

       XmhPopSequence()
                 このアクションは、シーケンス名のスタックからシーケンス名を一つポップし、  それが
                 選択されているシーケンスになる。

       XmhPromptOkayAction()
                 このアクションは、 Create Folder (フォルダ作成) ポップアップにおいて okay ボタン
                 を押すことと同じである。

       XmhReloadSeqLists()
                 このアクションは、現在開いているフォルダのために公の  MH シーケンス の内容を再ス
                 キャンし、必要ならば sequence メニューを更新する。

       XmhShellCommand( parameter [, parameter])
                 少なくとも一つのパラメータを指定しなければならない。全てのパラメータは  空白文字
                 をセパレータとして一つの文字列に連結され、選択されているメッセー  ジのリスト、あ
                 るいはメッセージが選択されていなければ現在のメッセージが、  パラメータの文字列に
                 追加される。この文字列はシェルコマンドとして実行さ      れる。これらのメッセージ
                 は、常に絶対パス名として与えられる。選択されて  いるメッセージも現在のメッセージ
                 もないときに、このアクションを実行するこ とは、エラーを引き起こす。

       XmhCheckForNewMail()
                 このアクションは、 xmh の知る全てのメールドロップをチェックする。 .xmhcheck ファ
                 イルによっても initialIncFile リソースによっ  てもメールドロップがユーザによって
                 指定されていなければ、  MH コマ ンド msgchk が新しいメールをチェックするのに利用
                 され、そうでなけ れば xmh が直接チェックする。

       XmhWMProtocols([wm_delete_window] [wm_save_yourself])
                 このアクションは、ウィンドウマネージャ通信プロトコルへの参加に責任を負う。  これ
                 は、ウィンドウの削除やメッセージをあなた自身にセーブすることに、反  応する。ユー
                 ザは、適切なパラメータとともにアクションを起動することにより、  あたかもウィンド
                 ウマネージャがリクエストしたかのように、 xmh に これらのプロトコルのどちらかまた
                 は両方に応答させることができる。この  アクションは、文字列引き数の大文字小文字の
                 区別を無視する。受け取ったイベン トが ClientMessage イベントであってパラメータが
                 存在するならば、少なく ともパラメータのうちの 1 つは、 xmh  によって受け取られる
                 ようにそ のイベントによって要求されたプロトコルと一致しなければならない。

MH を使ったカスタマイズ
       作成ウィンドウにおいて表示される最初のテキストは、対応する MH コ マンド、すなわち、compreplforw 、を実行する ことによって生成されるので、メッセージコンポーネントはこれらのコ
       マンド   のための指定でカスタマイズできる。  comp  は、  xmh  の起動に  つき一度だけ実行さ
       れ、メッセージテンプレートは、その後の一連の全ての新 規作成のために再利用される。

       xmh は、以下のような MH コマンドを利用する: inc, msgchk, comp, sendk, repl, forw,  refile,
       rmm, pick, pack, sort, 及び、 scan 。これらのコマンドのためのフラグのあるものは、 MH プ ロ
       ファイルにおいて指定され得る。xmh は、それらを上書きする。 xmh がどのように MH  コマンドを
       利用するかを見るために、アプ リケーションリソース debug は、true に設定することができる。

環境変数

       HOME - ユーザのホームディレクトリ
       MH - MH プロファイルファイルの場所を得るため

ファイル

       ~/.mh_profile - 環境変数 MH が設定されていない場合に使われる MH プロファイル
       ~/Mail - MH プロファイルが見つからなかった場合に使われるフォルダ 用ディレクトリ
       ~/.xmhcheck - オプショナル、 slocal と共に使う複数メールドロップ のため。
       /usr/local/mh6 - MH コマンド ( 最後の手段として ) 、 mhPath を参照せよ。
       ~/Mail/<folder>/.xmhcache - 各フォルダでの scan の出力
       ~/Mail/<folder>/.mh_sequences - 各フォルダでのシーケンス定義
       /tmp - テンポラリファイル, tempDir を参照せよ。

関連項目

       X(7), xrdb(1), X Toolkit Intrinsics, Athena Widget Set, mh(1), enscript(1)
       MHxmh に関する本が少なくとも一冊は出版されている.

バグ

       -  ユーザがウィンドウを閉じるとき、そのウィンドウのための全ての一時的な ウィンドウも同様に
       xmh によって閉じられるべきである。
       - XmhUseAsComposition 、及び、 XmhViewUseAsCompositionDraftsFolder  のメッセージを処理
       するとき、同じメッセージが他のウィ ンドウでも表示されている場合には、 xmh は、作成の編集を
       許さない。
       - 変更をコミットした後に時たま、実際にメッセージがあるにもかかわらず、  目次が完全に空白で
       あるように表示されることがある。これが起きたときには、      ディスプレイをリフレッシュする
       か、目次において Control-L をタイプすれ ば、正しい一覧を表示することが多い。これがうまくい
       かなければ、強制的に フォルダを再スキャンさせなさい。
       - ``unseen'' メッセージシーケンスを理解し、利用するべきである。
       -  ユーザが MH を以前に利用していないかどうか、また、 .mh_profile の作成を申し出なかったか
       どうかを、 inc に依存せずに単独で決定するべき である。
       - 2 、 3 のコマンドが、欠けている ( rename folder, resend message ) 。
       - 周囲の他の xmh ウィンドウを保持しようとしている間に、最初の toc 、及び、表示の削除を要求
       しているとき、 WM_DELETE_WINDOW プロトコ ルが正しく動作しない。
       - メッセージにリプライするるときに、annotation をサポートしていない。
       - 書き込みパーミッションなしにフォルダの共有ができない。
       - プライベートなシーケンスを認識しない。
       -  あるフォルダのシーケンス定義が BUFSIZ キャラクタ以上を含むと、 MH.mh_sequences ファ
       イルが、おかしなフォーマットをして いると報告するであろう。 xmh は、これらのメッセージが発
       生したとき捕捉し、そして、表示しよ うとするが、それは、問題を訂正し得ない。
       -  シャットダウンでない場合には、変更のコミットを必要とするのではなく、 一時的なチェックポ
       イントファイルをセーブするべきである。

著者

       Terry Weissman, 以前は Digital Western Research Laboratory
       Donna Converse, MIT X Consortium