XPROP(1) — NEWS-OS Programmer’s Manual
名称
xprop − X のためのプロパティ表示機能
形式
xprop [−help] [−grammar] [−id id] [−root] [−name name] [−frame] [−font font] [−display display] [−len n] [−notype] [−fs file] [−f atom format [dformat]]∗ [format [dformat] atom]∗
概略
prop ユーティリティは X サーバを使用してウィンドウとフォントのプロパティを 表示するためのものです。 ひとつのウィンドウまたはフォントは、コマンド行引数、またはウィンドウ の場合は希望するウィンドウでクリックすることによって選択します。 次に、プロパティのリストがフォーマット情報とともに表示されます。
オプション
−help コマンド行オプションの概要を表示します。
−grammar
すべてのコマンド行のオプションについての詳しい文法を表示します。
−id id この引数は、ターゲットウィンドウを選択するために、ポインタを使うのでは なく、コマンド行でウィンドウ ID を選択させるものです。 これはターゲットウィンドウが画面にマップされていない、またはポインタの 使用が不可能であるかまたはアプリケーションを妨害するかもしれない ような、 X のアプリケーションをデバッグするのに非常に役に立つものです。
−name name
この引数は、ターゲットウィンドウを選択するのに、ポインタを使うのでは なく、コマンド行で name と名付けられたウィンドウをターゲット ウィンドウとすることを指定します。
−font font
この引数は、font で指定したフォントのプロパティを表示するよう 指定します。
−root この引数は X のルートウィンドウをターゲットウィンドウに指定します。 これはルートウィンドウが完全に隠されている状態において非常に 役に立ちます。
−display display
この引数は接続するサーバを指定します ; X(1) 参照。
−len n プロパティの、多くて n バイトを読取りまたは表示することを 指定します。
−notype
各プロパティの型は表示しないことを指定します。
−fs file ファイルが file プロパティ用のより多くのフォーマットのソース として使われるよう指定します。
−frame 手でウィンドウを選択する場合 ( すなわち、 −name、 −root、−id のいずれも与えられていない場合 ) には、 クライアントのウィンドウを捜さずウィンドウマネージヤフレーム (もしあれば) を見るよう指定します。
−remove property-name
指定されたウィンドウから削除するプロパティ名を指定します。
−f name format [dformat]
name のフォーマットを format に、 name の dformat を dformat に指定します。 dformat がない場合は、 " = $0+\n" と仮定されます。
解説
これらプロパティのそれぞれについて、選択されたウィンドウまたはフォント におけるその値は、指定されたフォーマット情報があれば、それを使って 表示されます。 フォーマット情報が指定されていない場合は、内部デフォルトが使われます。 プロパティが、 選択されたウィンドウまたはフォントにおいて定義されていない場合は そのプロパティについての値として "not defined" が表示されます。 プロパティリストがない場合は、選択されたウィンドウまたはフォントがもつ すべてのプロパティが表示されます。
ウィンドウは次の 4 つの方法で選択できます。 まず第一に、希望するウィンドウがルートウィンドウである場合、 −root 引数を使用して選択することができます。 希望するウィンドウがルートウィンドウでない場合は、コマンド行上の 2 つの 方法、すなわち xwininfo から得られるような ID 番号、 またはウィンドウが名前を もっている場合は名前により選択することができます。 −id 引数は、 10 進数または 16 進数 (0x で始まる ) のいずれかの ID 番号 によりウィンドウを選択するのに対し、 -name 引数は名前でウィンドウを 選択します。
ウィンドウを選択する最後の方法は、コマンド行はまったく含まない ものです。 −font、−id、−name、−root のいずれも指定されていない場合は、 十字カーソルが表示され、希望するウィンドウ上でポインタボタンを押す ことによってビジブルウィンドウを選択することができます。 ウィンドウに対してフォントのプロパティを表示したい場合は、 −font 引数を使用します。
上記 4 つの引数、 help を得るための −help 引数、 コマンド行の文法すべてをリストするための −grammar 引数、 その他のすべてのコマンド行引数は表示されるプロパティのフォーマットと 表示方法を、指定するのに使用されます。 −len n 引数は、与えられたプロパティの多くて n バイトを 読取り、表示することを指定します。 これはたとえば、フルに表示したら数ページにもなるようなルートウィンドウの カットバッファを表示するときに役に立ちます。
通常各プロパティ名は、まずプロパティ名、次に括弧の中にその型 (もしあれば)、そのあとにその値が続いて表示されます。 −notype 引数はプロパティの型を表示しないことを指定します。 −fs 引数はプロパティ用のフォーマットリストをもつファイルを指定するのに 使用されますが、 −f 引数はあるプロパティ用のフォーマットを指定するのに 使用されます。
プロパティ用のフォーマット情報は現在 2 つの部分、すなわち format と dformat からなります。 format はその プロパティの実際のフォーマットを指定するのに対して (すなわちそれがワードか、バイトか、ロングワードか、など)、 dformat はプロパティをどのように表示するかを指定します。
次に format と dformat をどのように構成するかについて 説明します。 しかし非常に多くのユーザとその使用のために、組込みデフォルトがすべての 標準プロパティを表示するのに必要な format と dformat を 含んでいるので、これは必要ではないはずです。 新しいプロパティが処理される場合またはユーザが標準ディスプレイ フォーマットを好まない場合に format と dformat を 指定するのに必要なだけでしょう。 特に新しいユーザはこの部分は飛ばしてください。
format は 0、8、16、32 のうちのひとつからなり、そのあとに 1つ以上のフォーマット文字のシーケンスが続きます。 0、8、16、32 はプロパティの中のフィールド当たりのビット数を 指定します。 0 は特別のケースで、そのプロパティ自体と対応するフィールドサイズ情報 の使用を意味します。 (これはそのプロパティのフィールドサイズによって実際に 3 つの異なる型 がある INTEGER タイプのような特別のケースの場合にだけ必要です。)
値 8 は プロパティがバイトのシーケンスであることを意味するのに対し、 値 16 は、プロパティがワードのシーケンスであることを意味します。 この 2 つの違いは、はじめにプロパティを書いたマシンと逆バイト順の マシンが読む場合、ワードのシーケンスはバイトがスワップされるのに対し、 バイトのシーケンスは、スワップしません。 プロパティがどのようにフォーマットされストアされるかの詳細については、 Xlib マニュアルを参照してください。
一度フィールドのサイズが指定されると、各フィールドの型を指定することが 必要になります ( それは整数か、文字列か、アトムか、何か ?) 。 これは 1 フィールドにつき 1 フォーマット文字を使って行います。 プロパティの中にフォーマット文字が供給したよりも多くのフィールドがある 場合は、最後の文字が、残りのフィールドに必要な回数だけ繰り返されます。 フォーマット文字とその意味を次に示します :
a フィールドがアトム番号をもつ。この型のフィールドはサイズ 32 である。
b フィールドがブールである。 0 は偽を意味し、その他はどれも真を意味する。
c フィールドは符号なし数字、基数である。
i フィールドは符号付き整数である。
m フィールドはビットフラグのセットであり、 1 はオンを意味する。
s このフィールドと次に続く、 0 またはプロパティの最後までのフィールドが、 バイトのシーケンスを表します。 このフォーマット文字はフィールドのサイズ 8 のときにだけ使うことができ、 文字列を表わすときにもっともよく使用されます。
x フィールドは 16 進数である ( ’c’ のように、ただし 16 進数で表示 - ウィンドウ ID および類似のものを表示するのに最適である ) 。
format の一例は 32ica で、これはそれぞれが 32 ビットの 3 つの フィールドのプロパティ用のフォーマットであり、その 3 つとは、 第一に符号付き整数をもつもの、第二に符号なし整数、第三にアトムをもつ ものです。
dformat のフォーマットは format と違って、それほど 厳格ではありません。 dformat への唯一の制限は文字またはダッシュで始めることができない ということです。そのためプロパティ名と引数を区別できます。 dformat はテキスト文字列で、種々のフィールドが、 種々のポイントで、 printf により使用されるフォーマット文字列に似た 方法で表示するよう指示する特別文字を含むものです。 たとえば dformat " is ( $0, $1 \)\n" は、 32ii のフォーマットをもつ POINT 3、−4 を " is ( 3, −4 )\n" に変更します。
dformat の中の $、?、\、または ( 以外の文字は、そのまま表示 されます。 $、?、\、または (のうちのひとつを表示するには、その前に \ を つけます。たとえば $ を表示するには、 \$ を使用します。いくつかの 特別なバックスラッシュシーケンスが短縮入力として与えられています。 \n は復帰改行が表示されるようにし、 \t は タブが表示されるようにします。 o が 8 進数である 場合の \o は、文字番号 o を表示します。
数字 n を伴う $ は、フィールド番号 n が表示されるように します。 表示されたフィールドのフォーマットは、該当するフォーマットの中で それを記述するのに使用されるフォーマット文字によります。 たとえば、基数が ’c’ で記述されるなら、これは 10 進数で表示され、 それが ’x’ で記述されるなら、これは 16 進数で表示されます。
もしフィールドがプロパティの中にない場合 (これはある種のプロパティ では可能です)、<field not available> が代わりに表示されます。 $n+ はフィールド番号 n 、 次にコンマ、次にフィールド番号 n+1 、次にまたコンマ、 次に ... のように最後のフィールドが指定されるまで表示します。 フィールド n が指定されない場合は、何も表示されません。 これは、数値リストであるプロパティには役立ちます。
? は " もし〜ならば〜である " という条件文をスタートさせるのに 使われます。 ?exp(text) は、 exp が 0 でない場合に だけ text を表示します。 これは 2 つの点で便利です。 第一にフラグが設定されていた場合にだけ、フィールドを表示させます。 第二に状態数のような数値を、数値としてではなく名前として表示させます。 exp のシンタツクスは次のとおりです :
exp ::= term | term=exp | !exp
term ::= n | $n | mn
! 演算子は論理的に “not” で 0 を 1 に、 0 でない値を 0 に変えます。 = は等式演算子です。 なお、内部ではすべての式は 32 ビット数として評価されるので、 −1 は 65535 と等しくないことに注意してください。 = は 2 つの値が等しい場合 1 を返し、等しくない場合は 0 を返します。 n は定数 n を表し、 $n はフィールド番号の 数 n を表します。 対応するフォーマットの中のフォーマット文字 ’m’ をもつ最初のフィールドの フラグ数字が 1 である場合、mn は 1 で、そうでない場合は 0 です。
例 : ?m3(count: $3\n) はフラグ番号 3 (0 から始まる !) がオンである 場合にだけ count というラベルとともにフィールド 3 を表示します。 ?$2=0(True)?!$2=0(False) はフィールド 2 の逆数値をブールとして 表示します。
プロパティを表示するため xprop は format と dformat の両方を必要とします。 xprop は、 32x の format と、 " = { $0+ }\n" の dformat のデフォルト値を使う前に、 より特殊なフォーマットを見つけようとしていくつかの場所を検索します。 まず検索はプロパティ名を使用して行われます。 これがうまくいかない場合は、プロパティの型を使用して検索します。 これをすると、 STRING タイプは 1 セットのフォーマットで定義され、 STRING タイプであるプロパティ WM_NAME は別のフォーマットで 定義されます。 このようにして、与えられた型についての表示フォーマットは、 特定プロパティについて無効にすることができます。
検索する位置は次の順序です : プロパティ名で指定されたものがあればその フォーマット (8x WM_NAME のように ) 、最後から最初への順番で −f オプションにより定義されたフォーマット、 −fs オプションで 指定されたファイル ( もしあれば ) の内容、 環境変数 XPROPFORMATS により指定されたファイル ( もしあれば ) の内容、 最後に xprop の組込みファイルフォーマット。
−fs 引数および XPROPFORMATS 変数により参照されるファイルのフォーマット は、次の形式の 1 行または数行です :
name format [dformat]
name がプロパティ名または型名のいずれかである場合は、 format は name とともに使用される format であり、 dformat は name とともに使用される dformat です。 dformat がない場合は、 " = $0+\n" が仮定されます。
例
ルートウィンドウの名前を表示する : xprop −root WM_NAME
クロックのためのウィンドウマネージャのヒントを表示する : xprop −name xclock WM_HINTS
カットバッファの先頭を表示する : xprop −root −len 100 CUT_BUFFER0
fixed フォントのポイントサイズを表示する : xprop −font fixed POINT_SIZE
ウィンドウ # 0x200007 の全プロパティを表示する : xprop −id 0x200007
環境
DISPLAY
デフォルトのディスプレイを得る。
XPROPFORMATS
追加フォーマットが得られるファイル名を指定する。
関連事項
著作権
Copyright 1988, Massachusetts Institute of Technology.
権利と許可の声明文については、 X(1) を参照のこと。
著者
Mark Lillibridge, MIT Project Athena
NEWS-OSRelease 4.1C