[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
各フレームパーツは、各セルの左の項目が属性を定義し、右の要素がその属性に
与える値を定義するコンスセルのリストであるような、関連リスト(か、または
連想リスト)として定義されます。そう例えば連想リスト((foo . 1) (bar
. 2))
は foo
に値を 1
を bar
に値 2
をとい
うように二つの属性を定義します。See section `Association Lists' in The Librep Manual.
属性は次のように定義できます:
(class . class)
(background . data)
(background . (normal focused highlighted clicked))
もし画像が使われていると、tiled
プロパティが設定されていなければ
画像はフレームパーツの大きさまでサイズ調整され、設定されていればフレーム
パーツに渡ってタイル状にしきつめられます。
(foreground . data)
(foreground . (normal focused highlighted clicked))
フレームパーツの前景色を定義するのに使われるときには background
属性とは違って画像はサイズ調整されません。
(font . font)
(font . (normal focused highlighted clicked))
(text . value)
foreground
プロパティ
が画像でないとき)。文字列か、パーツが更新される度に呼ばれ描画する文字列
を返す関数です。
(x-justify . value)
left
、right
、center
あるいは数字の内のいず
れかが可能です。もし数字で、正なら左端からのピクセル数値を、負なら右端か
らのピクセル数値を示します。
(y-justify . value)
x-justify
に似ていますが代りに可能なシンボルは top
、
bottom
あるいは center
です。
(renderer . function)
background
属性の代りに使うことができます。パーツの描
画が必要なときに function が背景を描画する画像とパーツの現在の状態、
シンボル focused
、highlighted
、clicked
あるいは
nil
(通常状態について)、とともに呼ばれます。
(render-scale . value)
renderer
プロパティとともに使われる画像の大きさを整数
value の率で小さくします。
(left-edge . value)
(right-edge . value)
(top-edge . value)
(bottom-edge . value)
(width . value)
(height . value)
(keymap . value)
(cursor . cursor)
get-cursor
への引数が可能です。
(removable . value)
(below-client . value)
background
、foreground
、render-scale
、font
、
left-edge
、right-edge
、top-edge
、bottom-edge
、
width
そして height
属性の値には関数を指定することもできま
す。フレームが生成される際には各場合に応じた関数が呼ばれ(ウィンドウオブ
ジェクトの引数とともに)、返された値は属性の実際の値として使われます。
パーツの位置を指定するのに使われる座標系はウィンドウの端に相対して定義さ れます。正の値はウィンドウの端から中央まで数えたもので、負の値はウィンド ウの中央から端の外側へ数えたものです。
クライアントウィンドウのすぐ上の 20 ピクセルの位置に単色の黒のタイトルバー があるような、次の例を考えてみましょう:
`((background . "black") (foreground . "white") (text . ,window-name) (x-justify . 30) (y-justify . center) (left-edge . 0) (right-edge . 0) (top-edge . -20) (height . 20) (class . title)) |
バッククゥオートオペレータはたいていは単に定数である定義について使われ、
カンマオペレータは window-name
(ウィンドウの名前を与える関数)変数
の値を定義に与えます; see section `Backquoting' in The Librep Manual).
この関数は前景に描画される文字列を動的に指定するのに使われます。ウィンド ウマネージャはウィンドウのいかなる X プロパティの変化についてもウィンド ウのすべてのフレームパーツの前景を自動的に再描画します。
そして特定のフレームパーツクラスは、フレーム付のウィンドウを与えると定義 (継承されか、オーバライドされた定義を含みます)の完全なリストから個々の属 性の値を取り出すことが可能です。
もしそのような属性が存在しなければ nil
を返します。もしクラス
class のフレームパーツが二つ以上あれば、最初にみつかったパーツから
値が取り出されます。