xmessage(1) ウィンドウにメッセージや問い合わせを表示する(X 版の /bin/echo)

書式

xmessage [ -buttons label1[:value1],label2[:value2], ... ] [ options ] -file filename
xmessage [ -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 に `-' を指定すると、標準入力から読み込みが行わ れる。 このオプションを指定しなければ、xmessageecho と同じよ うに、オプションでない全ての引き数を表示する。 -file オプションとコマンド行からのメッセージのいずれかのみ を指定すべきであり、両方から指定してはならない。
-print
このオプションを指定すると、プログラムは押されたボタンのラベルを標準出 力に出力する。この指定は、printValue リソースに TRUE をセットす ることと同じ意味である。
-center
スクリーンの中央にウィンドウを出す。 この指定は、center リソースに TRUE をセットすることと同じ意味で ある。
-nearmouse
マウスカーソルの近くにウィンドウを出す。 この指定は、nearMouse リソースに TRUE をセットすることと同じ意味 である。
-timeout secs
ユーザがボタンを押さなければ、xmessagesecs 秒間待って からステータス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 Athena
Stephen Gildea, X Consortium