FvwmIconMan − Fvwm アイコンマネージャ |
FvwmIconMan は fvwm によって実行されるので、コマンドライン からの呼び出しでは動作しません。 |
FvwmIconMan は twm アイコンマネージャをモデルにしたアイ コ ンマネージャです。ユーザは、それぞれが管理するウィンドウタ イプの一覧を持つ複数のアイコンマネージャを持つことができま す。 例えば、あるマネージャでは emacs ウィンドウのみをリス トアップし、別のマネージャではそれ以外のすべてをリストアッ プ す るようなものを持つことができます。また、各アイコンマ ネージャが使用する解像度も指定することができます。例えば、 あるものはすべてのデスクトップ上のウィンドウを管理し、別の ものは現在のデスクトップ、あるいは現在のページ上のもののみ を管理する、といった具合です。 twm のアイコンマネージャとは違い、 FvwmIconMan は垂直方向 にしかアイコンの一覧を作れないという制限があります。もう一 つ の twm のアイコンマネージャとの違いは、3 次元的な見た目 でしょう (ディスプレイの depth が十分な場合)。 fvwm 関数をマウスの押し下げイベントやマウスカーソルが 入っ た ボ タンに対するイベントに割り当てることができます。例え ば、マウスボタン 1 を Iconify 関数に割り当て、マウスボタン 2 を Identify 関数に割り当てたりできます。 FvwmIconMan は、現在どのウィンドウがキーボードフォーカスを 持っているかを表示するように設定できますし、選択イベント ( 以下参照) を fvwm の Focus 関数に割り当てることで、 twm の アイコンマネージャの振舞いをまねることもできます。残念なが ら、Focus 関数はカーソルを対象となるウィンドウに移動してし まいます。 FvwmIconMan の配布物には fvwm 2.0.41 へのパッチ が含まれていて、それにより、Focus 関数がカーソルを移動する かどうかを制御できるような引数を取るように、その振舞いを変 更することができます。 |
初 期化の間、FvwmIconMan は、以下のものを記述している fvwm の設定ファイルを検索します。 FvwmIconMan を sticky ウィ ン ド ウにすることを強く推奨しますし、 followfocus オプション を使わせたい、あるいは Focus にある動作 (action) を割り 当 て たい場合は、 FvwmIconMan を clicktofocus にしておくべき でしょう。 |
FvwmIconMan は、.fvwmrc ファイル中に ’Module FvwmIconMan’ の行を入れることで fvwm の初期化の際に呼び出すことができま す。 FvwmTalk を fvwm の初期化の間に起動させたい場合は、こ の 行は InitFunction と ResetFunction 宣言内に置くべきです し、あるいはそれを後で呼び出すためにメニューやマウス ボ タ ン、 キー ス ト ロー ク な ど に割り当てることも可能です。 FvwmIconMan は、fvwm が見つけら れ る よ う に ModulePath (.fvwmrc ファイル内で定義される) に置くべきです。 |
オ プション nummanagers 以外は、すべてのオプションはアイコ ンマネージャ毎に定義できます。よって、例えば、emacs マネー ジャ の前景色を赤にして、 xterm マネージャを青にするといっ たこともできます。よって、設定行は以下の 2 つの形式のう ち の 1 つとなります: |
*FvwmIconMan*optionname optionvalue |
こ ち らは、すべてのマネージャに対して、オプション optionname が optionvalue の値を取ることを指定しま す。 |
*FvwmIconMan*managerid*optionname optionvalue |
こちらは、managerid のマネージャに対して、オプショ ン optionname が optionvalue の値を取ることを指 定 します。 以下のオプションを指定できます: |
*FvwmIconMan*nummanagers num |
num は正の整数で、アイコンマネージャの総数を指定し ます。 FvwmIconMan は、オプションを指定するアイ コ ン マ ネージャを操作する前にいくつのアイコンマネー ジャがあるかを知りたいので、これは最初に指定すべき です。デフォルトは 1 です。 |
*FvwmIconMan*[id*]resolution resolution |
これは、実際のウィンドウに対するエントリをいつ表示 するかを指定します。 resolutions は、global, desk, page のいずれかで、 global の場合は、適切なタイプ (以下のオプション show, dontshow の項目参照) の す べてのウィンドウが表示され、 desk の場合は、現在の デスクトップ上のそういうウィンドウだけが表示され、 page の場合は、現在のページ上のそういうウィンドウ だけが表示されます。デフォルトは global です。 |
*FvwmIconMan*[id*]showtitle boolean |
値を true とした場合、アイコンマネージャ内ではウィ ン ドウタイトル名を表示し、値を false とした場合、 そのアイコン名を表示します。デフォルトは false で す。 |
*FvwmIconMan*[id*]font font |
こ れ は、ボタンラベルに使われるフォントを指定しま す。 |
*FvwmIconMan*[id*]geometry geometry |
これは、マネージャの位置情報を指定します。位置情報 と して負の y 座標を指定した場合、ウィンドウマネー ジャは上向きに伸びていきます。それ以外の場合は下向 きに縮みます。 |
*FvwmIconMan*[id*]foreground foreground |
これは、デフォルトの前景色を指定します。 |
*FvwmIconMan*[id*]background background |
これは、デフォルトの背景色を指定します。 |
*FvwmIconMan*[id*]plainbutton style [forecolor backcolor] |
これは、標準的なボタンの見せ方を指定します。 style は flat, up, down のいずれかで、ボタンがどのように 書かれるのかを意味します。色のオプションはいずれも 必須ではなく、指定しない場合はデフォルトの色が使わ れます。よって白黒のスクリーン上では、オプ ショ ン style は無視されますが、それでも設定はしなければい けません。 |
*FvwmIconMan*[id*]selectbutton style [forecolor backcolor] |
これは、オプション plainbutton と同じで、マウス が そのボタンの上にあるときのそのボタンの見た目を指定 します。 |
*FvwmIconMan*[id*]focusbutton style [forecolor backcolor] |
こ れは、オプション plainbutton と同じで、そのウィ ンドウにキーボードフォーカスがあるときのそのボタン の見た目を指定します。 |
*FvwmIconMan*[id*]focusandselectbutton style [forecolor backcolor] |
こ れは、オプション plainbutton と同じで、そのボタ ンが選択され、かつキーボードフォーカスを持つときの そのボタンの見た目を指定します。 |
*FvwmIconMan*[id*]action event response[,response...] |
こ れ は、event が行われたときに、 FvwmIconMan に response 内のコマンドを fvwm に送 信 さ せ ま す。 event は 次の値の一つを取ります: select, click1, click2, click3。デフォルトは、マウスボタンクリック に対してはアイコン化で、 select に対しては何もしま せん。 select は、そのアイコンマネージャ内のボタン に入ったカーソルを参照します。 以 下の 2 つのオプションは、どのアイコンマネージャ でどのウィンドウを操作するかを制御します。一つのア イ コンマネージャは 2 つのリストを持つことができ、 一つは表示するウィンドウの、そしてもう一つは無視す るウィンドウのリストです。 dontshow のリストのみが 与えられた場合、アイコンマネージャはそのリスト以外 のすべてのウィンドウを表示します。両方のリストが与 えられた場合は、アイコンマネージャは dontshow のリ ストに入ってなくて、 show のリストに入っているウィ ンドウを表示します。どちらのリストも与えられなかっ た場合は、すべてのウィンドウが対象となります。それ ぞれのリストは、 type=pattern の形式のパター ン に よっ て 作 成 さ れ ま す。 ここで、type は class, resource, title, icon のいずれ か で、pattern は fvwm の style コマンドで使われるのと同じ書式の正規 表現です。 pattern の前後に引用符を置くと、それ も 正規表現の一部と見なされます。一つのウィンドウが 2 つ以上のアイコンマネージャの対象となった場合、最も 小さい id のアイコンマネージャがそれを取得します。 |
*FvwmIconMan*[id*]show pattern list |
ウィンドウがそのリストの pattern の一つにマッチ し た場合、それはこのマネージャによって管理されます。 |
*FvwmIconMan*[id*]dontshow pattern list |
ウィンドウがそのリストの pattern の一つにマッチ し た 場 合、それはこのマネージャによって管理されませ ん。 |
*FvwmIconMan*[id*]followfocus boolean |
boolean が true の場合、ボタンの見かけはウィンドウ が現在フォーカスを持っているかどうかを反映します。 デフォルトは false です。 |
*FvwmIconMan*[id*]sort boolean |
boolean が true の場合、アイコンマネージャはソート し続けます。デフォルトは true です。 |
最初の例は、FvwmIconMan の最も単純な呼び出しの例で、一つの アイコンマネージャのみを定義し、それですべてのウィンドウを 管理します: ############################################################## # fvwm の初期化の際に起動されるべき任意のモジュールをロード ModulePath /usr/lib/X11/fvwm:/usr/bin/X11 Module FvwmIconMan # FvwmIconMan をタイトルバーなし、sticky とし、アイコンを指定 Style "Fvwm*" Icon toolbox.xpm,NoTitle,NoHandles,Sticky Style "FvwmIconMan" HandleWidth 5, Handles, BorderWidth 5 ############################################################## ############################################################## # このモジュールで使われる定義 *FvwmIconMan*nummanagers 1 *FvwmIconMan*resolution global *FvwmIconMan*background slategrey *FvwmIconMan*foreground white *FvwmIconMan*font 7x13 *FvwmIconMan*geometry 194x100-0+73 次 の 例 は、私の個人的な設定です。これは 2 つのアイコンマ ネージャを定義し、一つは emacs 用、もう一つはそれ以外で ア イコンタイトルがないものを除いたすべてのウィンドウ用です。 現在のページのウィンドウのみが表示されます。 select のアク ショ ン に 対 す る Focus への引数に注意してください。これ は、fvwm 用に含まれているパッチを適用した場合にのみ動作 し ます。 Focus に対する 0 でない引数、あるいは引数なしの場合 は、 Focus がカーソルを対象となるウィンドウへ移動し、値 0 の引数は、Focus はカーソルを移動しません。位置情報と表示オ プションはアイコンマネージャ毎に指定され、その他はすべて共 通であることに注意してください: *FvwmIconMan*numManagers 2 *FvwmIconMan*Resolution page *FvwmIconMan*background steelblue *FvwmIconMan*foreground white *FvwmIconMan*font 7x13 *FvwmIconMan*action click1 Iconify *FvwmIconMan*action click2 Iconify *FvwmIconMan*action click3 Module "FvwmIdent" FvwmIdent *FvwmIconMan*action select Focus 0 *FvwmIconMan*showtitle false *FvwmIconMan*followfocus true *FvwmIconMan*sort true *FvwmIconMan*plainbutton up white steelblue *FvwmIconMan*selectbutton down white steelblue *FvwmIconMan*focusbutton up white brown *FvwmIconMan*focusandselectButton down white brown *FvwmIconMan*1*geometry 194x100-204-90 *FvwmIconMan*1*show resource=emacs resource=gemacs *FvwmIconMan*2*geometry 194x100-0-90 *FvwmIconMan*2*dontshow icon=Untitled |
現在知るところ、一つバグがあります。これに対するよい解があ れば本当に感謝します。アインマネージャが上向きに伸びるよう 設定されている場合、コンピュータによっては、それは時として 迷いこんでしまいます。 アイコンマネージャの解像度がページになっている場合、ページ が 切り替わったときには、アイコンマネージャはすべての fvwm イベントが到達した後でウィンドウを更新し、それが新しい設定 の内部で最終的に決定するまでの間、すぐに伸びたり縮んだりさ せます。これは、解像度がデスクトップの場合は起こりません。 リソース名のないウィンドウを、それが本来されるほど上手くは 対応できません。 |
Brady Montz (bradym@cs.arizona.edu). |
David Berson (berson@cs.pitt.edu) に感謝します。 |