書式
xmessage [ -buttons label1[:value1],label2[:value2], ... ] [ options ] -file filenamexmessage [ -buttons label1[:value1],label2[:value2], ... ] [ options ] message ...
説明
xmessage プログラムはコマンド行、ファイル、標準入力から入力したメッセージを ウィンドウに表示する。 メッセージの下辺に沿ってボタンの行が配置される。これらのボタンの上でマ ウスの左ボタンを押すと、xmessage は終了する。 どのボタンが押されたのかは終了ステータスとして返される。また、オプショ ン指定によっては、ボタンのラベルが標準出力に書き出される。このプログラムは普通、シェルスクリプトにおいてユーザに情報を表示するた めやユーザに選択をさせるために用いられる。
サイズを指定しなければ、xmessage はメッセージに合わせて自動的に サイズ(最大サイズ以下)を決める。 メッセージがウィンドウに対して大きすぎる場合、xmessage はスクロー ルバーを表示する。
オプション
xmessage が認識するコマンド行オプションを示す。- -buttons button,button,...
- このオプションを指定すると、xmessage はコンマで区切られた button 引き数のそれぞれの値に対して、1つずつボタンを生成する。 このオプションに対応するリソースは buttons である。 button のそれぞれの値はラベルであり、オプションとしてコロンと終 了ステータス値を続けることができる。 ラベルは生成される Command button ウィジェットの名前であり、ユーザに対 して表示されるデフォルトのテキストとなる。これはウィジェットの名前なの で、これを使ってボタンに対応するリソースを変更することができる。 終了ステータス値は、ボタンが押されたときに xmessage が返す値であ る。デフォルトの終了ステータス値は (100 + ボタン番号) である。ボタン番 号には、1から始まる番号が左から順に付けられる。 -buttons オプションを指定されていない場合に使われる、デフォルト の文字列は okay:0 である。
- -default label
- label にマッチするボタンをデフォルトのボタンとして定義する。 これを指定しなければ、デフォルトのボタンは定義されない。 このオプションに対応するリソースは defaultButton である。 xmessage のウィンドウ内の任意の場所でリターンキーが押されると、 デフォルトのボタンがアクティブにされる。 デフォルトのボタンは他のボタンよりも広い境界を持つ。
- -file filename
- 表示するファイルを指定する。 このオプションに対応するリソースはfileである。 filename に `-' を指定すると、標準入力から読み込みが行わ れる。 このオプションを指定しなければ、xmessage は echo と同じよ うに、オプションでない全ての引き数を表示する。 -file オプションとコマンド行からのメッセージのいずれかのみ を指定すべきであり、両方から指定してはならない。
- このオプションを指定すると、プログラムは押されたボタンのラベルを標準出 力に出力する。この指定は、printValue リソースに TRUE をセットす ることと同じ意味である。
- -center
- スクリーンの中央にウィンドウを出す。 この指定は、center リソースに TRUE をセットすることと同じ意味で ある。
- -nearmouse
- マウスカーソルの近くにウィンドウを出す。 この指定は、nearMouse リソースに TRUE をセットすることと同じ意味 である。
- -timeout secs
- ユーザがボタンを押さなければ、xmessage は secs 秒間待って からステータス0で終了する。 この指定は、timeout リソースによる指定と同じ意味である。
ウィジェットの階層構造
各ウィジェットの名前と階層における位置を知っておくと、リソースを指定す る際に便利である。各ウィジェットのクラスと名前を以下の図に示す。
Xmessage (xmessage) Form form Text message Command (label1) Command (label2) . . .
リソース
xmessage にはいくつかのトップレベルアプリケーションリソースがあ り、これを使ってアプリケーション固有の設定を行うことができる。- file
- 内容を表示するファイルを指定する文字列。
- buttons
- 表示するボタンを指定する文字列。 -buttons コマンド行オプションを参照すること。
- defaultButton
- ラベルを使ってデフォルトボタンを指定する文字列。
- printValue
- プログラムを終了させるボタンが押されたときに、そのラベルを標準出力に書 き出すかどうか指定する真偽値。 デフォルト値は FALSE である。
- center
- ウィンドウをスクリーンの中央に出すかどうか指定する真偽値。デフォルト値 は FALSE である。
- nearMouse
- ウィンドウをマウスカーソルの近くに出すかどうか指定する真偽値。デフォル ト値は FALSE である。
- timeout
- プログラムがステータス0で終了するまでの秒数。デフォルト値は0であり、こ の場合には決してタイムアウトしない。
- maxHeight (class Maximum)
- ウィンドウのテキスト部分の最大の高さをピクセル数で指定する。これはジオ メトリでサイズが指定されなかったときに使われる。 デフォルト値は0であり、この場合にはスクリーンの高さの70%が使われる。
- maxWidth (class Maximum)
- ウィンドウのテキスト部分の最大の幅をピクセル数で指定する。これはジオメ トリでサイズが指定されなかったときに使われる。 デフォルト値は0であり、この場合にはスクリーンの幅の70%が使われる。
アクション
- exit(value)
- 終了ステータスvalue(デフォルト値は0)で即座に終了する。このアクショ ンは、xmessage が終了する別の方法を与えるために、トランスレーショ ンと共に用いられる。
- default-exit()
- デフォルトボタンで指定された終了ステータスで即座に終了する。 デフォルトボタンがない場合、このアクションは何もしない。
終了ステータス
エラーが起こった場合には xmessage は 1 を返す。従って、この値を ボタンに割り当ててはならない。著者
Chris Peterson, MIT Project AthenaStephen Gildea, X Consortium