さて、ウィンドウマネージャーの設定ファイルに関して見ていきましょう。 設定ファイルはウィンドウマネージャーごとに異なりますが、ここでは ユーザごとの設定ファイルについて述べます。FVWM2 を例としていますので、 設定ファイル名はユーザのホームディレクトリの.fvwm2rcです。
初期のバージョンの FVWM のウィンドウマネージャーリソースファイルを 設定するのはかなり骨の折れる仕事でした。というのも、ファイル中に記述 する項目の順序に厳しいルールがあったからです。でも大丈夫。 現在のバージョン(訳注: FVWM2 を指す)では、かなり緩やかになっていますから。 私の知る限りでは、順序に関して厳しい部分はメニューの関連付けのところ だけです。これについては後ほど触れます。 FVWM2 には、例としてリソースファイルが付属しているはずです。 このファイルは、/var/X11R6/lib/fvwm2/system.fvwm2rcにあるでしょう。 これは、デフォルトではシステム全体に対して有効な設定ファイルです。 これをあなたのホームディレクトリに、.fvwm2rcという名前で コピーするのがいいと思います。 コピーした後は、先ほどのシステム全体の設定ファイルは無効になり、 FVWM2 は、あなたのホームディレクトリのこのファイルを読んで立ち上がります。
さて、以上の操作で、ちゃんと動作する個人設定ファイルを用意できました。
このファイル(訳注: /.fvwm2rc)をお好みのエディタで開いて眺めてみましょう。
もし X が起動されていれば、設定ファイルの中身と、今あなたがデスクトップ上
に見ているものとの関連を見ることができますね。これはとても参考になります。
(設定ファイルの)内容を書き換えて、それがどんな風に影響を与えるかを見ること
ができますから。
恐らく、ファイルの中で、コメント行(#
で始まる行)を除いた最初の
行は、とっても奇々怪々なフォント名を記述した、WindowFont
の設定行
だと思います。
もしこれらのフォントや色の設定をしたい場合には、次の章の「X のフォントと色」
を読んでください。
FVWM2 の設定は、非常に複雑で難解なものになることもあります。 以下のコードは、fvwm2gnome というセットアップコマンドから とってきたものです:
# 設定ファイルを読み込む
Echo -Styles-
Read .fvwm2gnome/config/styles/app.styles
Read .fvwm2gnome/config/styles/window.styles
Echo -Buttons & Keys-
Read .fvwm2gnome/config/buttons.config
これは、他の設定を読み込む方法のひとつの例です。 このようなやり方で、.fvwm2rc をモジュール化することができます。 ひとつの巨大なごちゃごちゃした設定ファイルを書くことを考えると、 これは悪いアイデアではありませんね。デバッグや変更が楽になりますから。 また、このやり方によってテーマ と呼ばれる設定をするのも 楽になります。テーマについては、すぐ後に触れます。
FVWM2 用のスクリプトを設定する (そして、 FVWM や、 bash や、 そのほかたくさんのプログラムの! ) 楽な方法は、 Dotfile Generator というものを使うことでしょう。 これは、Jesper K. Pedersen によって書かれ、次の URL でアクセス できるはずです http://www.imada.ou.dk/~blackie/dotfile/。 これを使うには、最近のバージョンの Tcl/Tk が必要です (ほとんどの Linux ディストリビューションにあるはずです)。 このプログラムは、すでにあなたが設定済みの設定はそれを使い、そうでない 部分はあらかじめ用意された設定を初期値として設定を開始し、 たくさんの構造化されたオプションをメニューから変更することができます。
でも私は注意しておきますけれど、設定ファイルを自分自身で記述する
ほうがいいと思います!
それがUnix 流だ、というだけではなく、その方がはるかに設定
ファイルを小さくできますし、少しづつ .fvwm2rc
ファイルを
変更していくことで、正確にあなたの好みを設定に反映させていくことが
できるからです。そして、Tcl/Tk プログラムなので、ちょっと
ばかり遅いですしね。
それでもやはりあなたが、そこそこの設定を楽にしたいのならばこれは
確かに試してみる価値があります。
FVWM2 のたくさんの新しい可能性の中で特筆すべきは、一般に テーマと呼ばれているものでしょう。 これは、基本的にはウィンドウやデスクトップの基本的な「見た目」を 「その場」で変更するという機能です。 ここでちょっとご注意。 あなたがウィンドウマネージャーの機能とアプリケーションの機能を 区別できているなら、ウィンドウマネージャーのテーマは、アプリケーション それ自身のルック & フィールには影響を与えないことはご承知のとおり です。 KDE や GNOME などの統合化されたツールキットは、まさにこの (テーマという) 機能を持っています。とはいえ、これら 2 つは一緒に使うととても効果的です よね。
新しいテーマを作るには...まず腕まくりしましょう。
そして、ホームディレクトリの .fvwm2rc を少しばかり変更します。
以下に示すのは私の設定ファイルの最初の方に付け加えた例です。
あなたの設定ファイルのStyle
定義のすぐ後ろに付け加えて
ください。
# Blue Theme
DestroyDecor Blue
AddToDecor Blue
+ WindowFont -b&h-lucida-bold-r-*-*-*-140-*-*-*-*-*-*
+ TitleStyle ActiveDown (Solid DarkSteelBlue)\
ActiveUp (Solid SteelBlue) Inactive (Solid Grey)
+ HilightColor white blue
+ ButtonStyle 1 -- UseBorderStyle
Style Blue UseDecor Blue, BorderWidth 5, HandleWidth 5,\
MWMborder, MWMbuttons
# Function to change all windows to a new style.
DestroyFunc ChangeStyle
AddToFunc ChangeStyle
+ "I" Style $0 $1
+ "I" Recapture
わかってます。一息で理解するにはちょっと多すぎますね。
基本的には、まず最初に、``Blue
,''というテーマを定義しています。
半分より前の部分は、あなたが他のテーマを作るときにひな型として役立つ
と思います。テーマは、ここで記述しているのよりもはるかに多くの機能を
持っており、それぞれお互いに非常に異なっています。
後半は、全てのウィンドウが新しいスタイルに変わるように、ファンクション
を定義しています。上にあげた例の両方の部分で、オブジェクトを新しく作る前に
削除 (destroy) していることに注意してください。
恐らくいろいろなスタイルを試すために、何度も FVWM2 を再起動することに
なると思いますので、こうすることでよりスムーズに新しい設定を
試すことができると思います。(訳注: 古い設定を完全に消去することで、
予期しない古い設定をひきずるのを防ぐことができるという意味ですね)
さて、以上で定義したスタイル定義を呼び出すためのインターフェースが 必要ですね。これは以下のように、メニューからファンクションを呼び出すこと で実現できます:
DestroyMenu "Themes"
AddToMenu "Themes"
+ "Choose a theme..." Title
+ "" Nop
+ "Blue" ChangeStyle "*" "UseStyle Blue"
+ "Mwm" ChangeStyle "*" "UseStyle Mwm"
+ "Flat" ChangeStyle "*" "UseStyle Flat"
ここでは少々簡単なメニュー定義を示すにとどめましたが、実際にはもっとたくさん
あるでしょうね。この例でやっていることは、ChangeStyle
関数から、
私たちが定義したスタイルを呼び出して、(そのスタイルで)定義した設定に従うように
しているわけです。
新しくメニューを作る前に削除(destroy)していることにもう一度注意してくださいね。
さて、FVWM2 を再起動すれば(おそらくメニューに再起動するための項目が
あると思いますが!)、新しいテーマ
選択メニューが表示され、
別のテーマに切り替えることができるはずです。
もっといろいろな FVWM2 用テーマの例は、 http://www.vis.colostate.edu/~scriven/Linux/fvwm/index.html をアクセスしてみてください。