# fvwm-2.4.19 付属 FAQ の日本語訳 # 訳: 小椋 聡也、工藤 覚 # (2012 年度竹野研卒研生) # 竹野茂治 (shige@iee.niit.ac.jp) # 1) ライセンスは、オンラインマニュアルの COPYRIGHTS のセクションに書か # れているライセンスに従います。 # 2) この訳についてのご意見等については、shige@iee.niit.ac.jp にご連絡 # 下さい。 ====================================================================== FVWM のよくある質問 ====================================================================== 最終更新: 2001 07/03 2.4.0 公式リリース用 目次 0. 「最も」ありがちな質問 :) 0.1 fvwm の起動後数分間はキーボードとマウスの割り当てが機能しませ ん。どうしたらいいのでしょう ? 1. Fvwm に関して 1.1 FVWM ってどういう意味ですか ? 1.2 fvwm の最新バージョンはどこにありますか ? 1.3 FVWM に関する WWW サイトはありますか ? 1.4 FVWM に関する質問はどこにすればいいですか ? 1.5 FVWM 1.xx と 2.xx の違いは ? 1.6 各種ウィンドウマネージャでのメモリ使用量の比較は ? 1.7 なぜ色々なファイルの名前 (fvwm2, .fvwm2rc, fvwm2.man) を変え ているのですか ? 1.8 fvwm X.Y.Z のリリースはいつ予定されていますか ? 2. インストール 2.1 FVWM を使いたいのですが、私のマシンに root でのアクセスがで きません。それでもインストールして使えますか ? 2.2 fvwm を CDE/COSE 上で使いたいのですが、問題にぶちあたりまし た。いい助言はありませんか ? 2.3 SunOS 上で cc で FVWM をコンパイルすると、コンパイラがたくさ んのエラーを出しますが、これは何 ? 2.4 カラーアイコンを使いたいんですが、動きません。なんででしょう ? configure の際に "Have XPM support?" のところに "no" と出まし た。どうすれば XPM をサポートできるんでしょう ? 2.5 私はシステム管理者で、まず必ずシステムの初期設定ファイルを読 むようにして、その後でユーザの初期設定ファイルを読むようにし たいのですが、どうすればいいでしょう ? 2.6 私はシステム管理者で、CDE のように fvwm のすべての初期設定フ ァイルを ~/.fvwm という隠しディレクトリ内に置いてそこを見に いくようにしたいのですが、どうすればいいでしょう ? 2.7 どうすれば FVWM を GNOME と一緒に使えますか ? 3. 機能、設定、関数、コマンド 3.1 FVWM を RedHat Linux システム上で使っていますが、FVWM の設定 を変更する方法がわかりません。FVWM のマニュアルは読みましたが、 .fvwm2rc を編集しても何も起きないようです。どうしたらいいでし ょう ? 3.2 ウィンドウの境界ではなく、ウィンドウ内でクリックしたときにウ ィンドウを手前に出すことは可能ですか ? 3.3 どうすれば Alt-Tab の挙動を他の GUI 同様にできますか ? 3.4 Focus コマンドと FlipFocus コマンドの違いは ? 3.5 マウス移動をキーストロークに割り当てられるようですが、マウス ボタン押しはどうやったら割り当てられますか ? 3.6 あるキーを、現在選択したものをペーストして使用することに割り 当てたいのですが、どうしたらいいですか ? 3.7 FVWM は、各デスクトップ毎に異なるカラーマップをサポートする予 定はありますか ? 3.8 Sticky ウィンドウのタイトルバーに出る水平線が好きなのですが、 これは他のウィンドウにも出せますか ? 3.9 Sun キーボードの xxxx キーを FVWM コマンドに割り当てる方法は ? またはより一般に、FVWM のキー割り当ての定義に関する問題があ ありますが、どうしたらいいですか ? 3.10 バージョン 1.xx の .fvwmrc がうまくいかないのですがどうしたら いいでですか ? 3.11 FVWM 1.xx の 'include' コマンドはどうなったのですか ? 3.12 例えば Netscape などのサブウィンドウのウィンドウタイトルはど うすればつけられますか ? 3.13 バージョン 2.3.2 以上に上げましたが、私の初期設定が出ません。 どうしたら戻せますか ? 3.14 アプリケーション (Eterm など) によってはそれ用に定義したアイ コンを使ってくれないものがあるようですが、これはなぜですか ? 3.15 アプリケーションをアイコンから復帰したときのアイコンボックス の隙間が気にいらないのですが、ある種の自動配置をする関数はあ りませんか ? 3.16 Linux マシンをシャットダウンする fvwm のメニュー項目はどのよ うに設定すればいいですか ? 3.17 Recapture コマンドは非推奨ですが、あるスタイルの変更を適用す るのに今でも必要でしょうか ? 3.18 特定のウィンドウ (または全部) をポップアップしたときに、それ がフォーカスを取得する/移動する/サイズを変える/閉じる/影をつ ける、などのようにしたいのですが、どうしたらいいでしょう ? 3.19 ある特定のウィンドウ (またはすべてのウィンドウ) を閉じたとき にデスクトップを切り替えたい/私の X アプリケーションへジャン プしたい/メニューをポップアップしたい/X アプリケーションを起 動したいのですがどうしたらいいですか ? 3.20 うちではマルチヘッドの設定になっています (複数のスクリーンを X で使用)。どうすればそれぞれのスクリーン用の異なる設定を fvwm に指示できますか ? 4. モジュール 4.1 FvwmButtons (や 1.xx の GoodStuff) を使っていると、ボタンが時 々押されたままの状態になって、逆にそうならないときもあります が、それはどうしてですか ? 4.2 FvwmButtons でアプリケーションを swallow する際、それにボタン 押しで動作を割り当てることは可能ですか ? 例えば、xload を swallow し、ボタン押しで xterm をポップアップさせる、あるいは、 xbiff を swallow し、ボタン押しでメッセージの一覧を表示させた りしたいのです。 4.3 FvwmM4/Cpp モジュールでファイルを前処理しようとしているのです が、どうも変です。 4.4 FvwmFileMgr モジュールの話を聞いたんですがそれはどこにありま すか ? 4.5 FVWM 1.xx で使っていた GoodStuff が 2.xx にはないようですが、 どうすればいいですか ? 4.6 FvwmButtons 内のボタンの近くのデフォルトの位置ではなくスクリ ーン上のどこか別なところにサブパネルを置きたいのですが、可能 ですか ? 5. 開発、既知の問題、バグレポート 5.1 FVWM に XYZ というかっこいい機能があるといいと思いますが、そ う思いませんか ? そのためのパッチもありますが当ててもらえませ んか ? 5.2 どうやってパッチを作成/投稿/適用したらいいですか ? 5.3 バグレポートはどうやって送ればいいですか ? 5.4 FVWM では期待通りにならず [他のウィンドウマネージャ] ではうま くいくウィンドウがある、または不規則なバグが起きるのですが、 どうしたらいいですか ? 5.5 ClickToFocus やマウスの割り当てをなぜ NumLock と CapsLock と ScrollLock が邪魔するのですか ? 5.6 グラデーション背景のメニューがちらついたり、またはとても遅い です。 5.7 StartIconic スタイルが Netscape などで動かないのはなぜ ? 5.8 fvwm の出力 (例えばエラー) をどうすれば捕まえられますか ? 5.9 あるプログラムを FVWM 上で実行したら、BadAccess のような X11 エラーで死んでしまいました。MWM や OLWM 上では同じプログラム がちゃんと動作するのにこれはどういうことでしょうか ? 5.10 インストールの度に現在動いている fvwm のセッションが死んでし まうのはなぜ ? 5.11 fvwm を再起動すると、あるウィンドウかアイコンが他のすべてのウ ィンドウの上に出て、それをどんなメニューでも下げられなくなり ます。その一例は KFM (KDE ファイルマネージャ) のショートカッ トですが、どうしたらいいでしょう ? 5.12 StartsOnPage スタイルが動作しません。なぜですか ? 5.13 fvwm を再起動したときに起動しないモジュールがあります。 5.14 Rational Rose を動かしているのですが、fvwm はそのウィンドウを 無視してしまいます。 5.15 私のモジュール用に WindowListSkip スタイルを使っても、それが まだ FvwmIconMan, FvwmWinList などに表示されています。 6. その他 6.1 デスクトップ (DESK) とページ (PAGE) とスクリーン (SCREEN) の 厳密な違いは ? 6.2 {NeXT, Win95 等} の見た目、感覚がいいのですが、これはサポート する予定はありますか ? 6.3 アイコン用の XPM ファイルはもっとどこかにありませんか ? 6.4 Linux XF86 の仮想スクリーンサイズと fvwm の相互作用... 6.5 これが FVWM と関係ないのはわかりますが、Rob Nation がサポート していた rxvt と rclock はどうなったのですか ? 今それらはどこ にありますか ? 6.6 どうやったら fvwm で背景を設定できますか ? 6.7 Fvwm を使っていると --- で色が正しくなりません。何が悪いので しょう? 7. 開発者からのヒントと例 7.1 新しい設定をテストする簡単な方法は。 7.2 設定にシェルコマンドを使うには。 7.3 現在のものとは違うページやデスクトップでアプリケーションを起 動するには。 7.4 現在のものとは違うページやデスクトップで、表示窓をそちらに移 動せずにそちらの上でアプリケーションを起動するには。 7.5 より効率的な MWM メニュースタイルは。 7.6 スクリーン上にメニューを置くには。 7.7 スクリーンの境界近くでマウスを動かしていると、間違ってページ が切り替わったりしないですか ? 7.8 あなたのウィンドウとアイコンを整列するには。 7.9 マウス/フォーカス/ページをキーボードで動かすには。 7.10 デスクトップの猫対策は :-) 7.11 ウィンドウの奥下げと移動。 7.12 ウィンドウを On/Off するトグルスイッチの設定は。 7.13 どうすればアイコンをクリックすることでアプリケーションを起動 できますか。 ====================================================================== 0 - 「最も」ありがちな質問 ====================================================================== 0.1 fvwm の起動後数分間はキーボードとマウスの割り当てが機能しません。 どうしたらいいのでしょう ? 答: 多分あなたの NumLock か CapsLock か ScrollLock キーが押されたのでし ょう。詳細は Q 5.5 を参照してください。 余談: 私の fvwm の開発の数年間のすべてで、これは最も、とても多かった質 問でした。これがもう二度と聞かれないで済むように、この問題を解決でき る人はだれでも、fvwm ホームページ上に大きな文字で説明したいです。 ====================================================================== 1 - Fvwm に関して ====================================================================== 1.1 FVWM ってどういう意味ですか ? 答: "(適当にあなたが好きな F で始まる単語をここに置いて) 仮想ウィンドウ マネージャ" (Virtual Window Manager) です。FVWM の元々の作者の Rob Nation が F が元々何だったか本当に思い出せないので、いくつか可能性の ある答を用意しています: Feeble (弱々しい), Fabulous (途方もない), Famous (有名な), Fast (速い), Foobar, Fantastic (素晴らしい), Flexible (柔軟な), F!@#$%, Flashy (華々しい), FVWM (GNU のような再帰的な定義と見れば), Free (自由), Final (最終的な), Funky (泥臭い、素晴しい), Fred's (Fred って誰やねん), Freakin' (くそっ), Flawed (欠陥のある), Father-of-all, Fievel (「アメリカ物語」の主役のねずみ), など。 どれでもいいから好きなの (Favorite; おっと、まだあった) を選んでくだ さい。もちろんあなたの気分や、最近あなたがバグにぶつかったかによって それは変わるでしょうが。私は、個人的には Fabulous か Fantastic が好 きですが、デバッグの最中はだいたい F!@#$% か Freakin' か... 最近は 'Feline' (猫のようにおとなしい、そつがない) がはやっているよ うです。多分これは、開発者のコアメンバー 6 人のうち 4 人が猫を飼って いる (平均 1.17 ネコ) を発見したことと関係があります。(ニャン) 知ってます ? 私のネコをなでていてもう一つ見つけました。FOOD :-) 以下のリンクも参照: _+_A HREF="http://fvwm.org/fvwm-cats/"_-_fvwm-cats_+_/A_-_ ---------------------------------------------------------------------- 1.2 fvwm の最新のバージョンはどこにありますか ? 答: 新しい主な配布サイト (公式なもの、およびベータ版): ftp://ftp.fvwm.org/pub/fvwm/ 代わりのサイト: アメリカ国内: ftp://sunsite.unc.edu/pub/Linux/X11/window-managers/ ftp://ftp.cs.columbia.edu/pub/cheah/ ヨーロッパ: ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/incoming/ ftp://ftp.jussieu.fr/pub/X11/fvwm/ ftp://ftp.loria.fr/pub/unix/fvwm/ ところで、1.24r は 1.xx 系列の最終リリース版で、2.xx 系列の最初の公 式リリースは 2.2 です。ちなみに、2 つ目の番号が奇数のものは開発版で 偶数のものが安定リリース版であることを意味します。 ---------------------------------------------------------------------- 1.3 FVWM に関する WWW サイトはありますか ? 答: あります。公式サイトは以下です: http://www.fvwm.org/ 公式サイトに、fvwm に関連する他のサイトへのリンクがあります。 ---------------------------------------------------------------------- 1.4 FVWM に関する質問はどこにすればいいですか ? 答: あなたのところの FVWM の管理者が頼りにできなければ、いい場所として ニュースグループ comp.windows.x.apps がありますが、通常は fvwm のメ ーリングリストの方がいいでしょう。新しい FVWM の議論用のメーリングリ ストのアドレスは以下の通りです: fvwm@fvwm.org 同様にアナウンス用のメーリングリストもあります: fvwm-announce@fvwm.org これらは、Jason Tibbitts により管理されている、Majordomo ベースのメ ーリングリストです。このメーリングリストに参加するには、本文に "subscribe fvwm" と書いたメールを -request@fvwm.org に送ってく ださい。例えば、fvwm メーリングリストに参加するには、そのリクエスト を fvwm-request@fvwm.org へ送ります。 メーリングリストから抜けるには、"unsubscribe fvwm" と本文に書いたメ ールを -request@fvwm.org に送ります。問題の報告は、メールを fvwm-owner@fvwm.org へ送ってください。 以下は、メーリングリストの説明と Jason からの直接の指示です: ------------------------------------------------------------------ (fvwm) 説明 ---- このメーリングリストは、FVWM ウィンドウマネージャに関する議論のため のものです。FVWM は、少しのメモリしか使用せず、沢山の機能を持ち、カ スタマイズ性、拡張性にとても優れていて、Motif MWM との高いレベルでの 互換性を持っています。適切な議論をすべて推奨しますが、バイナリデータ を送ったり、不適切な議論は強く嫌われます。短いパッチ (200 行未満) は 許可しますが、パッチは検査や将来配布物に取り込むために、すべて fvwm-workers メーリングリスト (下の Q5.2 参照) にも送るべきです。 案内 ---- メーリングリストにメッセージを送るには、fvwm@fvwm.org にメールを送っ てください。メーリングリストソフトの操作 (保管されているメールや利用 可能な他のファイルを取り出す) のヘルプを見るには、本文に "help" と書 いたメールを fvwm-request@fvwm.org に送ってください。メーリングリス ト自体に問題がある場合、そしてソフトにではなく人に話がある場合は、 fvwm-owner@fvwm.org へメールを送ってください。このアドレスは、メーリ ングリストに関する問題のみが対象で、FVWM ソフトウェアに関する報告は /dev/null へ捨てられます。 保管されている過去のメッセージも利用可能です。それらを取得するには、 上で述べたヘルプメッセージを送り、その "index" と "get" コマンドにつ いて調べてみてください。または、 ftp://ftp.fvwm.org/pub/fvwm/list-archive/ から ftp で取得してくださ い。 (fvwm-announce) このメーリングリストは、FVWM ウィンドウマネージャに関するアナウンス 用です。FVWM は、少しのメモリしか使用せず、沢山の機能を持ち、カスタ マイズ性、拡張性にとても優れていて、Motif MWM との高いレベルでの互換 性を持っています。 このメーリングリストのメッセージに対する返信は、デフォルトで FVWM に 関する議論用のメーリングリスト fvwm@fvwm.org へ転送されるようになっ ています。 現在の FVWM 配布物は、ftp://ftp.fvwm.org/pub/fvwm/ から ftp で取得で きます。 ------------------------------------------------------------------ ---------------------------------------------------------------------- 1.5 FVWM 1.xx と 2.xx の違いは ? 答: たくさんあります。一般的なものをいくつか上げます: - バグの修正。1.xx についてはもうこれ以後は全然作業しません。 - よりよい初期設定ファイルの書式。順序依存性は今はありません。 - より柔軟で強力。例えば、多くの以前の大域的なオプションは、現 在では代わりにウィンドウグループレベル毎に作用します。 - より多くの、より良いモジュール。 - M4 前処理は fvwm の exec コマンドの一部ではなくなり、モジュー ルへと移動しました。cpp を使用するモジュールもあります。 FvwmM4 と FvwmCpp のマニュアルを参照してください。 新規や変更された機能については NEWS ファイルもチェックしてください。 ---------------------------------------------------------------------- 1.6 各種ウィンドウマネージャでのメモリ使用量の比較は ? 答: 以下にそれらのいくつかを比較した小さい表をあげます。これは、IBM RS6000 モデル 355 ベースの AIX 上で、同じ個数のウィンドウ (3 つ) を 使って行っています。ウィンドウマネージャの切り替えは XSession で行い、 これらの値を見るには 'top' を使用しました: SIZE RES 545K 652K fvwm2 (fvwm 2.0.35) 457K 528K fvwm (fvwm 1.24rb) 856K 960K ctwm (ctwm 3.2p1) 1004K 1156K mwm (mwm 1.2) 543K 632K twm (???) 263K 328K aixwm (AIX 付属の単純で美しくないウィンドウマネージャ) ---------------------------------------------------------------------- 1.7 なぜ色々なファイルの名前 (fvwm2, .fvwm2rc, fvwm2.man) を変えている のですか ? 答: これにイライラする人がいるようですが、それにはいくつかの理由がある ことを言わせてください。 - 1.xx と 2.xx の両方を使えるようにインストールできますが、その サイトでむしろ 1.xx を使いたいと思う人もいる場合のため。 - 初期設定ファイルの書式にはかなり違いがあり互換性が全くないた め - 質問の際、どのバージョンを使っているかをちゃんと伝えてくれる 人はめったにいないので、質問者が .fvwm2rc ファイルを明示して くれれば、その人が 2.xx の版の fvwm を使っているんだなとわか るためです。 ---------------------------------------------------------------------- 1.8 fvwm X.Y.Z のリリースはいつ予定されていますか ? 答: これは常に答えるのに難しい問題です。我々は fvwm に関してボランティ アベースで作業しています。我々に時間があれば進むでしょう。 fvwm-workers メーリングリストに入れば有益な情報が得られるかもしれま せん。 ====================================================================== 2 - インストール ====================================================================== 2.1 FVWM を使いたいのですが、私のマシンに root でのアクセスができませ ん。それでもインストールして使えますか ? 答: とても簡単です。configure 時に '--prefix' フラグを使ってください。 あなたのホームディレクトリを /home/sam だとします。fvwm ソースを展開 後、"./configure --prefix=/home/sam (必要なら他のオプションも)" とし ます。そして、コンパイルし ("make") インストール ("make install") し たら、バイナリが /home/sam/bin に、マニュアルは /home/sam/man 等々に インストールされます。モジュールは /home/sam/libexec にインストール され、fvwm2 バイナリにはそのモジュールのパスが埋め込まれます。 ---------------------------------------------------------------------- 2.2 fvwm を CDE/COSE 上で使いたいのですが、問題にぶちあたりました。い い助言はありませんか ? 答: そうですね、以下は Graeme McCaffery からの助言です: ----- ようやく fvwm を正しく cde から呼びだす方法を見つけだしました 8-)) (Lars Sodergren に感謝) まず、Dtwm 内のホームセッションを設定します。通常それは空のセッシ ョンですが、FvwmSaveDesk などの代わりに CDE セッションマネージャに、 あなたのデスクトップが何に似ていたのかを覚えさせることができます。 そして .Xdefaults に以下の 2 つのリソースを設定する必要があります: Dtsession*wmStartupCommand: /home/orion/spxgm/bin/Fvwm Dtsession*waitWmTimeout: 1 ここでは、ライブラリ変数などが皆にも正しく設定されるように、私は fvwm をシェルスクリプトから起動しています。waitWmTimeout は、ウィ ンドウマネージャを立ち上げるまでにどれくらい待つかをセッションマネ ージャに指示します。私は 1 秒と設定していますが、デフォルトは 60 秒です。 最後に以下のようにして終了しなければいけません。 /usr/dt/bin/dtaction ExitSession (dtaction は正しいパスに) これで、CDE プログラムと fvwm をちゃんと使えるようになります。 ----- ちなみに、以下は CDE ログインメニューに複数のウィンドウマネージャ を追加する方法を記した Web ページへのリンクです: _+_A HREF="http://twirl.mcc.ac.uk/~zzassgl/wm.html"_-_CDE login Link_+_/A_-_ ---------------------------------------------------------------------- 2.3 SunOS 上で cc で FVWM をコンパイルすると、コンパイラがたくさんのエ ラーを出しますが、これは何 ? 答: SunOS の cc は ANSI C コンパイラではありません。代わりに acc か gcc を使ってください。 ---------------------------------------------------------------------- 2.4 カラーアイコンを使いたいんですが、動きません。なんででしょう ? configure の際に "Have XPM support?" のところに "no" と出ました。 どうすれば XPM をサポートできるんでしょう ? 答: FVWM は XPM (X ピクスマップ) ライブラリを使用し、色や形状を持つアイ コンをサポートしています。XPM は、The Open Group や XFree86 が提供す るような基本的な X の配布には含まれませんが、多くのベンダが標準的な ものの一部として提供しています。そうでなくても、あなた自身でソースを ftp://ftp.x.org/contrib/libraries/ からコピーし、インストールできま す。 XPM があなたのシステム上にあっても、configure がそれを使わないように してしまう原因は何通りもあります。 まず、あなたが XPM を非標準的な場所にインストールした場合 (通常のシ ステム内でも X11 ディレクトリでもない場所、例えば /opt/xpm とか、 /usr/local など)、configure にどこを探すかを伝える必要があります。オ プション --with-xpm-library や --with-xpm-includes を使用してくださ い (INSTALL.fvwm 参照)。configure が "Xpm library or header not found" と言うのが、この問題の典型的な現象です。 2 つ目は、あなたの XPM のバージョンが古すぎる場合です。FVWM には、 XPM 3.4g 以降が必要です。configure が "Xpm library version is too old!" と言うのが、この問題の典型的な現象です。この場合は、新しいバー ジョンをインストールしなければいけません。 3 つ目は、あなたのシステムで XPM のインストールがうまくいってない場 合です。configure が "Xpm library version and header file version don't match!" と言う場合は、この問題かもしれません。オプション --with-xpm-library か --with-xpm-includes のどちらかを使用して、必要 なものをより細かく指定するか、XPM を再インストールするかでしょう。 最後に、リンカエラーである場合です。これは、XPM が非標準ディレクトリ に動的ライブラリ (shared library) としてインストールされているシステ ムに共通の問題です (Solaris がいい例です)。INSTALL.fvwm ファイル内に 動的ライブラリを使用してコンパイルする場合の注意が書いてあります。 まだ問題を見分けられない場合は、FVWM メーリングリストで聞いてみてく ださい。その場合、あなたが使用しているハードウェア、OS を明示し、ど のように configure を実行したか、config.log ファイルの XPM に関する 行を抜き出してそれも報告してください。 ---------------------------------------------------------------------- 2.5 私はシステム管理者で、まず必ずシステムの初期設定ファイルを読むよう にして、その後でユーザの初期設定ファイルを読むようにしたいのですが どうすればいいでしょう ? 答: 多分以下のようにすればできます。 - 全員の .fvwm2rc の先頭行を 'Read global.fvwm2rc' にし、そして その global.fvwm2rc をあなたが ./configure 時に定義した "datadir"/fvwm に置くことです。 ---------------------------------------------------------------------- 2.6 私はシステム管理者で、CDE のように fvwm のすべての初期設定ファイル を ~/.fvwm という隠しディレクトリ内に置いてそこを見にいくようにし たいのですが、どうすればいいでしょう ? 答: FVWM は今はデフォルトの検索ディレクトリとして ~/.fvwm をサポートし ています。 これは、多分上の Q2.5 と同様にしてできます。システムの初期設定ファイ ル "sysconfdir"/system.fvwm2rc (または "datadir"/fvwm/system.fvwm2rc) で以下のようなことを行えます: Read Init quiet Read Decors quiet Read Styles quiet Read Functions quiet Read Menus quiet Read Keys quiet Read Modules quiet あなたが適切と判断した分類項目は何でも追加できます。さらにデフォルト のものを {"datadir"}/fvwm/ 内に置いておいて、ユーザがこれらのいくつ かを持っていない場合のデフォルトとして提供することもできます。 ---------------------------------------------------------------------- 2.7 どうすれば FVWM を GNOME と一緒に使えますか ? 答: fvwm の最新版はほとんど GNOME に対応していますから、panel, gmc, gnome-terminal や他のすべての GNOME アプリケーションを、純粋な FVWM 上で単純に実行できます。 付属の fvwm-menu-desktop スクリプトは、大きいマニュアルもついていて、 fvwm のメニューに gnome アプリケーションの一覧を作る手助けになるでし ょう。 FVWM を起動し gnome-session を動かしたくない場合は、ホームディレクト リに .Xclients を作成し、その中に fvwm2 の呼び出しを入れてください。 あなたの代理店やシステム管理者が設定したシステム上で通用する任意の論 理を避けたい場合は、同様の目的で ~/.xinitrc を使うこともできます。 もうひとつの解は、FVWM を /usr/bin/gnome-session の内側で実行させる ことです。gnome-session を立ち上げた後 (自分で FVWM を起動しないでく ださい) GNOME パネルの下にあるメニュー (foot menu) に行き、以下を選 択してください: システムメニュー / 設定 / デスクトップ / ウィンドウマネージャー そして、FVWM のエントリを作成してください。FVWM はセッション管理をサ ポートしています。 gnome-session を実行した場合、InitFunction と RestartFunction の代わ りに SessionInitFunction と SessionRestartFunction が呼ばれます。マ ニュアルを参照。通常は StartFunction (モジュールの実行にはこれを使っ てください) が呼び出されます。 以下は、FVWM がサポートする GNOME ウィンドウマネージャのヒントの例で す: o GNOME サポートのない fvwm の内部から gnome パネルを実行すると、どん なことをしたとしても GNOME ページャアプレットを完全には使えません。 GNOME サポートがあれば、ページ、デスクトップは正常に表示され、アプ レット内でウィンドウをそれらの間で移動できます。Tasklist アプレッ トも使うことができ、それを使ってウィンドウを管理できます。 o gmc を実行し GnomeButton を割り当てると (マニュアル参照)、背景での クリックは gnome アプリケーションに (つまりこの場合は gmc に) 渡さ れます。 ====================================================================== 3 - 機能、設定、関数、コマンド ====================================================================== 3.1 FVWM を RedHat Linux システム上で使っていますが、FVWM の設定を変更 する方法がわかりません。FVWM のマニュアルは読みましたが、.fvwm2rc を編集しても何も起きないようです。どうしたらいいでしょう ? 答: RedHat Linux は、(デフォルトでは) 設定管理システムで X サーバをイン ストールしています。以前の版では、それは TheNextLevel と呼ばれていま したが、最新の版では AnotherLevel と呼ばれています。TheNextLevel に 関する詳細な情報は、/usr/doc/TheNextLevel/ にある RedHat の文書を調 べてください。AnotherLevel に関する情報は 'man AnotherLevel' で見て ください。 ---------------------------------------------------------------------- 3.2 ウィンドウの境界ではなく、ウィンドウ内でクリックしたときにウィンド ウを手前に出すことは可能ですか ? 答: 2.0.46 より後の任意のバージョン (つまり 2.1.0 以降) は、この機能を 持っています。2.2.x 系列では、以下を使用してください: GlobalOpts MouseFocusClickRaises 新しい 2.3.x ベータ版以降では以下のようにします: Style * MouseFocusClickRaises ---------------------------------------------------------------------- 3.3 どうすれば Alt-Tab の挙動を他の GUI 同様にできますか ? 答: 組込みコマンド WindowList は、他の GUI で見られる Alt-Tab 機能に非 常に近い近似を提供します。それは全く同じには見えませんが、以下の .fvwm2rc のサンプルは同様のインターフェースを提供します: Key Tab A M WindowList Root c c NoDeskSort 2.3.2 以降、上のキー割り当ては組込まれています。 2.3.15 以降は、Alt キー押しの状態を保持できますし、Tab を打ち続けら れます。単一の Alt-Tab は直前のウィンドウを選択します。この FAQ 項目 の残りの部分で 2.3.2 より前の版について説明します。 Alt-Tab を打つと WindowList メニューをポップアップします。他の GUI と違い、Alt キー押しは保持できず、メニューは Return, Enter, Space, Escape のいずれかを打つまで出続けます。フォーカスをメニュー上のウィ ンドウに変更できますが、それは上下の矢印キーを使いメニュー選択を移動 し、そしてその後 Return, Enter を打ちます。Escape を打つと、何もせず にメニューをクローズします。WindowList メニューは、最初の 26 ウィン ドウに割り当てられたホットキーを持っていて、そのホットキーを使ってウ ィンドウへ直接進むことができます。 上の行で呼びだしたメニューは、Focus コマンドを使っていない場合 (Q3.4 参照) 最も最近フォーカスされた順番ですべてのウィンドウを表示します。 それは、各ウィンドウ名と位置情報 (geometry) を、Sticky, OnTop, アイ コン化などを示す追加のフラグ付きで表示します。 以下のようにしてより単純なスタイルを使用できます: Key Tab A M WindowList Root c c CurrentDesk NoGeometry これは、現在のデスクトップ上のウィンドウのみを一覧表示 (タイトルのみ) します。 他の GUI には、Alt-Tab を打って素早く離した場合に、直前のウィンドウ を選択する機能があります。その挙動は、完全には再現されませんが、同様 の機能を Alt-TAB を 2 度早く続けて打つこと (キーのダブルクリックのよ うなもの) に割り当てることはできます。 DestroyFunc my_dbltab2 AddToFunc my_dbltab2 "I" WindowListFunc $w DestroyFunc my_dbltab AddToFunc my_dbltab "I" Prev (CurrentDesk) my_dbltab2 Key Tab A M WindowList Root c c CurrentDesk NoGeometry my_dbltab WindowList には、どのウィンドウをどの順番で一覧表示するかを制御する たくさんのオプションがあり、Prev コマンド用の条件をキーを 2 度打った ときに 2 番目の項目を確実に選択するように設定することは多分不可能で しょう。WindowList コマンドには、CurrentPage, Transient, Visible, Maximized, Raised, パターンマッチングに対応するものがなく、Prev の条 件には、OnTop, Alphabetic, デスクトップソートに対応するものがありま せん。 ---------------------------------------------------------------------- 3.4 Focus コマンドと FlipFocus コマンドの違いは ? これらはどちらも対象となるウィンドウにキーボードフォーカスを変更しま すが、内部に保持するウィンドウの一覧に影響を与える方法においてのみ違 いがあります。その一覧は、Next, Prev, WindowList コマンドが使用し、 通常フォーカスされた順番でソートされ、新しいウィンドウは最後に追加さ れています。FlipFocus コマンドは、対象のウィンドウを一覧からむしりと ってそれを先頭に入れるのですが、Focus コマンドは、対象ウィンドウが先 頭に来るまで一覧を順繰りに進めます。フォーカスをマウスで変更したり、 ClickToFocus スタイルを使ったときに自動的にフォーカスを変更するのに FlipFocus の挙動が利用されることもあります。 Focus コマンドを全然使わなければ、一覧は最新のフォーカス順のままなの ですが、Focus コマンドを使うと、FlipFocus を使った場合と同様に、一覧 は徐々に最新のフォーカス順に戻っていきます。 Focus コマンドは、Next コマンド、Prev コマンドと組み合わせて使うとと ても便利です。例えば: Key KP_Add A M Next (AcceptsFocus CurrentDesk !Iconic) Focus Key KP_Subtract A M Prev (AcceptsFocus CurrentDesk !Iconic) Focus バージョン 2.4.1 よりも前の fvwm では: Key KP_Add A M Next [CurrentDesk !Iconic] Focus Key KP_Subtract A M Prev [CurrentDesk !Iconic] Focus これらのキー割り当てにより、現在のデスクトップ上のウィンドウ全体に渡 って、両方向にフォーカスを巡回できます。Prev FlipFocus を使うと、そ のフォーカスはウィンドウの一覧の先頭の 2 つの間を行き来するだけにな ってしまいます。 あるデスクトップに複数のウィンドウがあり、Next, Prev コマンドでの巡 回の順番を設定したければ、その設定したい順にマウスか FlipFocus でフ ォーカスをしておく必要があります。Fvwm はその順番を学習してそれを Next, Prev コマンドに使用します。その後にまたマウスでフォーカスした り FlipFocus を使うとその順番は消えてしまいます。 ---------------------------------------------------------------------- 3.5 マウス移動をキーストロークに割り当てられるようですが、マウスボタン 押しはどうやったら割り当てられますか ? 答: fvwm には移動をキーストロークに割り当てるコマンドはありますが、キー ボードによるポインタの制御は実際には X サーバが処理すべきです。以下 はこの件に関する X FAQ からの抜粋です: X Keyboard (XKB) 拡張を持っているなら、マウスキーが使えます。それ によりマウス移動とボタンイベントをキーボードで生成することが可能 になります。MouseKeys で生成されたイベントは完全に透過型で、それ は、X Keyboard 拡張を持つサーバに接続する任意のアプリケーションで 動作し、そのアプリケーションが XKB を使うかどうかを考える必要はあ りません。 XKB は、X11R6.1 ではデフォルトで有効になっています。 最初に、Shift+Num_Lock がマウスキーのトグルスイッチになるよう、 NumLock キーを設定します: xmodmap -e "keysym Num_Lock = Num_Lock Pointer_EnableKeys" (XFree86 3.1.2E は R6.1 ベースで、X Keyboard 拡張を持っていて、そ のデフォルトのキーマップに Pointer_EnableKeys への割り当ても含ま れているので、Alt+Shift+Num_Lock でマウスキーのオン/オフが行えま す。以前の版の X や XFree86 では、XKB を持っていないためにそれが 動作しないかもしれません。より詳細な情報については、 http://www.XFree86.org/FAQ を参照してください。) これを動作させるには、サーバの NumLock をオフにしないといけないか もしれません。これにより "Shift+Num_Lock" を押すことで MouseKeys が有効になります。MouseKeys がオンの場合: o) 矢印キーはマウスカーソルを移動する o) テンキーの '5' はデフォルトマウスボタンと同様の挙動 o) テンキーの '0' はデフォルトマウスボタンをロックする (ドラッ グを容易にするため) o) テンキーの '.' はデフォルトマウスボタンのロックを解除する (ドラッグを放す) o) テンキーの '+' はデフォルトマウスボタンのダブルクリック o) テンキーの '/' はデフォルトマウスボタンをボタン 1 に設定 o) テンキーの '*' はデフォルトマウスボタンをボタン 2 に設定 o) テンキーの '-' はデフォルトマウスボタンをボタン 3 に設定 これはデフォルトの設定ですが、この仕組みはほぼ無限の設定可能性を 持っています。 [Erik Fortune (erik@westworld.engr.sgi.com) に感謝, 6/96] ---------------------------------------------------------------------- 3.6 あるキーを、現在選択したものをペーストして使用することに割り当てた いのですが、どうしたらいいですか ? 答: それは fvwm では直接は行えませんが、より広く適用可能な解決策があり ます。それは、ftp://ftp.x.org/contrib/utilities/ かまたは適当なミラ ーサイトにある 'xcb' というプログラムを利用することです。多分それで お望みの効果、またはそれに近いことを行えると思います。これは、プログ ラムの実行と、選択したものをそれらに渡すという目的には最も便利でしょ う (例えば、現在選択したものを URL としてあなたの良く利用するブラウ ザを呼び出すとか)。一般性が半分位のペースト機能なら、'xse' (Q3.5 を 参照) がいいかもしれません。これに関するいい例を誰か思いついたら、こ こに入れますので、是非 fvwm のメーリングリストに送ってください。 ---------------------------------------------------------------------- 3.7 FVWM は、各デスクトップ毎に異なるカラーマップをサポートする予定は ありますか ? 答: 私もそうしたいのですが、ちょっと難しいです。あなたがデスクトップを 切り替えたときにデフォルトカラーマップを変更することは多分可能だと思 います。それはそのデスクトップがアクティブになったときに起動したプロ グラムにそのカラーマップを与えればいいのでしょう。しかし、デスクトッ プをまたがって移動したウィンドウをどのように扱えばいいでしょう ? さらに、fvwm はそれ自身がすべての描画 (境界、メニューなど) のために カラーマップのいくつかのエントリを必要としますから、それらの色はあら かじめすべてのカラーマップに割り当てられるか、それと同等の状態でなけ ればいけないことになります。 これらがすべて技術的に可能であったとしても、それが今本当に適切である とは思いません (とても多くのソースコードを追加し複雑にしてしまうでし ょう) し、特に色を貪欲に使用するほとんどのプログラム (Netscape とか) はプライベートカラーマップを使えるようになっているからです。 それでも将来は、いくつかの点において少しこれについて検討するかもしれ ません。 ---------------------------------------------------------------------- 3.8 Sticky ウィンドウのタイトルバーに出る水平線が好きなのですが、これ は他のウィンドウにも出せますか ? 答: はい。2.3.14 版以降からは、以下の行を .fvwm2rc に入れます: Style * StippledTitle 以前の版では、以下を使用してください: GlobalOpts StipledTitles (ええ、確かにスペルは変でしたよ。) ---------------------------------------------------------------------- 3.9 Sun キーボードの xxxx キーを FVWM コマンドに割り当てる方法は ? ま たはより一般に、FVWM のキー割り当ての定義に関する問題がありますが、 どうしたらいいですか ? 答: 以下は FVWM ユーザの Jon Mountjoy からの回答です: - Sun キーボードの一番上の行のファンクションキーは F1 から F8、 - Sun キーボードの左端のファンクションキーパッド内のキーは、 F11 == Stop, F12 == Again, ..., F20 == Cut となっています。 彼の例: # Sun キーボードの一番上の行のファンクションキー Key F1 A N Exec me(netscape) & Key F2 A N Exec me(netscape -install) & Key F5 A N Exec makex(Adder) Key F6 A N Exec makex(Lambda) Key F7 A N Exec makex(Castor) Key F8 A N Exec xterm -T Local & # Sun キーボードの左端のファンクションキーパッド内のキー: # F11 = Stop, F12 = Again, ..., F20 = Cut Key F11 AWF N Next (!iconic CurrentPage) Focus Key F12 AWF N Prev (!iconic CurrentPage) Focus Key F13 WF N Maximize 100 100 Key F15 WF N RaiseLower "" Key F17 WIF N Iconify "" Key F18 WF N Stick "" Key F20 WIF N Delete "" Key Help AWF N Iconify "" あなたが「本当に」必要な任意のキーの keysym (キーシンボル) が何であ るかを知るためのより一般的な方法は、xev (通常 X11 と共に配布される) か、xkeycaps (Jamie Zawinski 作の xmodmap の X11 インターフェース) を使うことであり、fvwm コマンドへの割り当てにはその keysym を利用し てください。 ---------------------------------------------------------------------- 3.10 バージョン 1.xx の .fvwmrc がうまくいかないのですがどうしたらいい ですか ? 答: 新しい初期化ファイルで最初からやるか、または古いものを変換してくだ さい。変換は、手動でやるか、または utils ディレクトリ内の 'fvwmrc_convert' が少し手助けになるでしょう。 以下に、Makoto 'MAR_kun' MATSUSHITA さんがまとめた、初期設定ファイルコマンドの変更の一覧を置きます。それ は、特に変更が進んでいるものに関しては、100% 正確、完全かどうかはわ かりませんが、取っかかりにはなると思います。 2.1.x 以降でいくつか変更がありますが、それは変換スクリプトにはまだ反 映されていません。 ** Fvwm-1.xx のコマンド ** ** Fvwm-2.xx の同等物 ** AppsBackingStore (廃止) AutoRaise delay (廃止、FvwmAuto で代用) BackingStore (廃止) BoundaryWidth Width Style (BorderWidth width) ButtonStyle button# WidthxHeight <- CenterOnCirculate (廃止) CirculateSkip windowname Style (CirculateSkip) CirculateSkipIcons Style (CirculateSkipIcon) ClickTime delay <- ClickToFocus Style (ClickToFocus) Cursor cursor_num cursor_type CursorStyle context cursornum DecorateTransients Style (DecorateTransient) DeskTopScale Scale (廃止、FvwmPager で代用) DeskTopSize HorizontalxVertical <- DontMoveOff (廃止) EdgeResistance scrolling moving <- EdgeScroll horizontal vertical <- Font fontname MenuStyle (arg4) Function FunctionName AddToFunc (非互換) HiBackColor colorname Style (HilightFore color) HiForeColor colorname Style (HilightFore color) Icon windowname bitmap-file Style (Icon iconname-file) IconBox left top right bottom Style (IconBox l t r b) IconFont fontname Style (IconFont fontname) IconPath path ImagePath path Key keyname Context Modifiers Function <- Lenience Style (Lenience) MenuBackColor colorname MenuStyle (arg2) MenuForeColor colorname MenuStyle (arg1) MenuStippleColor colorname MenuStyle (arg3) Module ModuleName <- ModulePath path <- Mouse Button Context Modifiers Function <- MWMBorders Style (MWMBorder) MWMButtons Style (MWMButtons) MWMDecorHints Style (MWMDecor) MWMFunctionHints Style (MWMFunctions) MWMHintOverride Style (HintOverride) MWMMenus MenuStyle (arg5) NoBorder windowname Style (NoBorder) NoBoundaryWidth Width Style (HandleWidth width) NoPPosition Style (NoPPosition) NoTitle windowname Style (NoTitle) OpaqueMove percentage OpaqueMoveSize percentage OpaqueResize (廃止) Pager X_Location Y_Location (廃止、FvwmPager で代用) PagerForeColor colorname (廃止、FvwmPager で代用) PagerBackColor colorname (廃止、FvwmPager で代用) PagerFont fontname (廃止、FvwmPager で代用) PagingDefault pagingdefaultvalue (廃止) PixmapPath ImagePath path Popup PopupName AddToMenu (非互換) RandomPlacement Style (RandomPlacement) SaveUnders (廃止) SloppyFocus Style (SloppyFocus) SmartPlacement Style (SmartPlacement) StartsOnDesk windowname desk-number Style (StartsOnDesk desk-number) StaysOnTop windowname Style (StaysOnTop) StdBackColor colorname Style (BackColor color) StdForeColor colorname Style (ForeColor color) StickyBackColor colorname (廃止) StickyForeColor colorname (廃止) Sticky windowname Style (Sticky) StickyIcons Style (StickyIcon) StubbornIcons (廃止) StubbornIconPlacement (廃止) StubbornPlacement (廃止) Style windowname options <- SuppressIcons Style (NoIcon) WindowFont fontname Style (Font fontname) WindowListSkip windowname Style (WindowListSkip) XORvalue number <- ** fvwm-1 組み込み関数 *** Beep <- CirculateDown [ name window_name ] Next (非互換) CirculateUp [ name window_name ] Prev (非互換) Close <- CursorMove horizonal vertical <- Delete <- Desk arg1 arg2 <- Destroy <- Exec name command <- Focus <- Function <- GotoPage x y <- Iconify [ value ] <- Lower <- Maximize [ horizontal vertical ] <- Module name ModuleName Module ModuleName Move [ x y ] <- Nop <- Popup <- Quit <- Raise <- RaiseLower <- Refresh <- Resize [ x y ] <- Restart name WindowManagerName <- Stick <- Scroll horizonal vertical <- Title <- TogglePage (廃止) Wait name <- Warp [ name window_name ] Next または Prev (非互換) WindowsDesk new_desk (廃止、MoveToDesk で代用) WindowList arg1 arg2 <- *** fvwm-2 の新機能 ** All AnimatedMove BugOpts BusyCursor DefaultColors DefaultColorset DefaultFont DefaultIcon DefaultLayers Destroy DestroyMenu EdgeThickness Emulate EscapeFunc ExecUseShell HideGeometryWindow KillModule Layer Menu menu-name double-click-action MoveToDesk MoveToPage Next (conditions) command None (arguments) command Pick PointerKey Prev (conditions) command QuitSession Read filename Recapture RecaptureWindow SaveQuitSession SaveSession Silent SnapAttraction SnapGrid StrokeFunc XORPixmap + (関数がさらに時々刻々追加されていますので、マニュアルや NEWS ファイ ルもチェックしてください)。 ---------------------------------------------------------------------- 3.11 FVWM 1.xx の 'include' コマンドはどうなったのですか ? 答: それは実際には M4 による前処理の一部でした。同じ機能が欲しければ、 'Read' 組み込みコマンドか、FvwmM4 モジュールを使用してください。 ---------------------------------------------------------------------- 3.12 例えば Netscape などのサブウィンドウのウィンドウタイトルはどうす ればつけられますか ? 答: それらのウィンドウは、通常短い時間しか存在しないので、'transient' (一時的) なウィンドウとなっています。transient ウィンドウの装飾には 以下の Style コマンドが使えます: Style * DecorateTransient それをオフにするには: Style * NakedTransient ---------------------------------------------------------------------- 3.13 バージョン 2.3.2 以上に上げましたが、私の初期設定が出ません。どう したら戻せますか ? 答: システム用の設定ファイルのディレクトリは、${sysconfdir} (configure 時に別の設定をしていなければ /usr/local/etc) から、そのサブディレク トリ ${sysconfdir}/fvwm に変わりました。あなたの設定ファイルも手動で 移動し、FVWM を再起動してください。 今の FVWM はこのディレクトリにいくつかのファイルをインストールするの で、このように変更されました。 ---------------------------------------------------------------------- 3.14 アプリケーション (Eterm など) によってはそれ用に定義したアイコン を使ってくれないものがあるようですが、これはなぜですか ? 答: Eterm はそれ自身のアイコンを持っていて、fvwm はそれが普通のアイコン か、それとも Eterm がその中に描画したいものか (xbiff が新しいメール が到着したときに書くようなもの) を知ることができません。以下の Style コマンドを使えば、アプリケーションが持っているアイコンを明示的に上書 きすることができます: Style <アプリケーション名> IconOverride ---------------------------------------------------------------------- 3.15 アプリケーションをアイコンから復帰したときのアイコンボックスの隙 間が気にいらないのですが、ある種の自動配置をする関数はありません か ? 答: Style コマンドの IconBox オプションを使っている前提で話をしますが、 fvwm 関数の裏技的な利用法によりそれは可能です。まず以下のように設定 ファイルに関数 DeiconifyAndRearrange を入れます。 AddToFunc DeiconifyAndRearrange + C Iconify off + C All (CurrentPage Iconic) RecaptureWindow そして、あなたがアイコンからウィンドウを復帰するために組み込み関数 Iconify を呼び出している場所すべてをその新しい関数で置き換えます。例 えば、 AddToFunc IconFunc + C Iconify off + M Raise + M Move + D Iconify off は以下のように置き換えます: AddToFunc IconFunc + C DeiconifyAndRearrange + M Raise + M Move + D DeiconifyAndRearrange そして以下 Mouse 1 I A Iconify off も以下のように置き換えます: Mouse 1 I A DeiconifyAndRearrange ---------------------------------------------------------------------- 3.16 Linux マシンをシャットダウンする fvwm のメニュー項目はどのように 設定すればいいですか ? 答: まず shutdown コマンドを実行する小さいシェルスクリプトを作ってくだ さい。 そして sudo をあなたのシステムにインストールしてください (そのマニュ アル等を参照)。 そしてそのシェルスクリプトを、あなたやあなたの奥さんなどが root の権 限で実行できるように設定ファイル sudoers を設定してください。 そしてあなたの FVWM の root メニュー (かまたはどこでも) に、 "sudo /my/script/name" を呼び出すメニュー項目を追加します。 ---------------------------------------------------------------------- 3.17 Recapture コマンドは非推奨ですが、あるスタイルの変更を適用するの に今でも必要でしょうか ? 答: マニュアルからの引用: fvwm には、Style, Mouse, FvwmTheme モジュールやその他多くのもののよ うな指定したウィンドウのみ、あるいはいくつかのウィンドウやまたはすべ てのウィンドウの見た目に影響を与えるたくさんのコマンドがあります。軽 快に動作するために、それらの変更はただちに適用されるのではなく、fvwm に余裕があるとき、すなわちユーザとの対話やモジュールからの入力がすべ てかたずいているときに適用されることになっています。特に、ある関数の 中で設定される新しい Style オプションは、その関数が終了するまでは適 用されません。これは、ときどき予期せぬ効果を導く恐れがあります。すべ ての未適用の変更を強制的にすぐに適用させるには、UpdateStyles, Refresh, RefreshWindow コマンドのいずれかを使ってください。 ---------------------------------------------------------------------- 3.18 特定のウィンドウ (または全部) をポップアップしたときに、それがフ ォーカスを取得する/移動する/サイズを変える/閉じる/影をつける、な どのようにしたいのですが、どうしたらいいでしょう ? 答: 以下の議論は一般的な解で、その例で使用されているアプリケーションの 名前と fvwm コマンド (Move, Iconify, Close) は、あなたが必要とするも のに置き換えて読んでください。あなたが対象とするアプリケーションのリ ソース名を取得するには、FvwmIdent モジュールを利用してください。 あなたがやりたいことを実現する最初の方法は、そのアプリケーションを起 動する別の関数を作ることです。例: DestroyFunc StartKedit AddToFunc StartKedit + I Exec kedit + I Wait kedit + I Next (kedit) Resize 100p 200p この方法の場合、以下の 3 つの問題があります: 1) そのアプリケーションを起動するのに関数 StartKedit を使う必要が あり、コマンドラインから起動した場合はこれは機能しません。 2) なんらかの理由でそのアプリケーションが起動しなかった場合、FVWM は Wait でそれを待つので、Ctrl-Alt-Esc を押す必要があります。 3) 複数の kedit ウィンドウがある場合、正しいものが使用される保証は ありません。 しかし、この方法は良い点も一つあります。それは、あなたのコマンドを実 行する前に、やっておきたい任意の fvwm コマンドを可能にもできることで す。例えば、kedit ウィンドウをアイコン化して起動し、しかしそれをサブ ウィンドウには適用したくない場合は、以下のようにできます: DestroyFunc StartAppIconic AddToFunc StartAppIconic + I Style $0 StartIconic + I Exec exec $0 $1 + I Wait $0 + I Style $0 StartNormal StartAppIconic kedit /tmp/my.txt 第 2 の方法は、FvwmEvent を利用することです。これは、上の方法の最初 の 2 つの問題 (バージョン 2.2 の場合)、または 3 つの問題全部 (バージ ョン 2.3 と 2.4 の場合) を解決します。 以下の例は fvwm のバージョン 2.2.3+ でのものです (新しく生成したウィ ンドウ "My Window" が一つだけしかないと仮定してそのサイズを変更しま す): DestroyModuleConfig FvwmEvent* *FvwmEvent add_window SetGeometryForMyWindow DestroyFunc SetGeometryForMyWindow AddToFunc SetGeometryForMyWindow + I Next ("My Window") Move +10p +10p + I Next ("My Window") Resize 100p 200p AddToFunc StartFunction I Module FvwmEvent 以下の例は fvwm のバージョン 2.3.21+ でのものです (これは新しく生成 したウィンドウ "My Window" のみを移動し、そしてすべて新しいウィンド ウに切り替えます): *FvwmEvent-NewWindow: Cmd *FvwmEvent-NewWindow: PassId *FvwmEvent-NewWindow: StartDelay 4 *FvwmEvent-NewWindow: add_window FuncFocusWindow DestroyFunc FuncFocusWindow AddToFunc FuncFocusWindow + I WindowId $0 ("My Window") Move 200p 100p + I WindowId $0 Focus + I WindowId $0 WarpToWindow AddToFunc StartFunction I FvwmEvent FvwmEvent-NewWindow ---------------------------------------------------------------------- 3.19 ある特定のウィンドウ (またはすべてのウィンドウ) を閉じたときに デスクトップを切り替えたい/私の X アプリケーションへジャンプし たい/メニューをポップアップしたい/X アプリケーションを起動した いのですがどうしたらいいですか ? 答: まず理解するには、前の質問の回答を読んでください。 繰り返しになりますが、2 つの方針があります。ある種の状況では最初のも のはいいですが、後者はうまくないです: DestroyFunc StartKedit AddToFunc StartKedit + I Exec kedit; xmessage -name DummyWindow -g +10000+10000 "dummy" + I Wait DummyWindow + I Exec xmessage -timeout 10 "Sorry, you can't close kedit" + I StartKedit 第 2 の方法は、FvwmEvent を利用するものです: *FvwmEvent-OldWindow: Cmd *FvwmEvent-OldWindow: PassId *FvwmEvent-OldWindow: destroy_window FuncPopupMyMenu DestroyFunc FuncPopupMyMenu AddToFunc FuncPopupMyMenu # 任意のウィンドウが閉じたときにデスクトップ 0 へジャンプ + I GotoDesk 0 # "panel" を閉じたときにメニューをポップアップ + I WindowId $0 ("panel") Popup MenuFvwmRoot AddToFunc StartFunction I FvwmEvent FvwmEvent-OldWindow ---------------------------------------------------------------------- 3.20 うちではマルチヘッドの設定になっています (複数のスクリーンを X で 使用)。どうすればそれぞれのスクリーン用の異なる設定を fvwm に指示 できますか ? 答: FVWM は、マニュアルで説明されている通り、コマンドラインパラメータ -s を指定しない限り、見つけたすべてのスクリーン内に fvwm を実行しま す。実行されたすべての fvwm2 プロッセスは、デフォルトでは個々のスク リーンに対して同じ設定を使用しますが、このデフォルトの挙動を変更する にはいくつかの方法があります。 まず、あなたの設定ファイルを、あなたが 1 つのスクリーンしか持ってい ない場合のように書き、そしてスクリーンに固有の行を個別の設定ファイル に移動します。例えば、 をスクリーン番号として、それらを .fvwm2rc. という名前にします。スクリーン番号は通常メインスク リーンが 0 番で、2 番目のが 1 になります。それらスクリーン専用のファ イルを $HOME/.fvwm ディレクトリか、$FVWM_USERDIR で設定した場所に置 き、そして .fvwm2rc に以下の行を追加します: Read .fvwm2rc.$[screen] $[screen] は、個々の fvwm が起動しているスクリーン番号に置き換えられ ます。 別の方法として、fvwm の古いバージョンでも使えますが、個々のスクリー ン用に分けたファイルを明示的に指定する方法があります。このためには、 あなたの .xinitrc (か .Xclients) の中で、個々のスクリーン用の fvwm を別々に起動します: fvwm2 -s -d :0.0 -f .fvwm2rc-0 & fvwm2 -s -d :0.1 -f .fvwm2rc-1 & fvwm2 -s -d :0.2 -f .fvwm2rc-2 最後のコマンドには & をつけていないことに注意してください。望むなら .fvwm2rc-* ファイルすべてに "Read .fvwm2rc-common" という行を入れて もいいでしょう。 ====================================================================== 4 - モジュール ====================================================================== 4.1 FvwmButtons (や 1.xx の GoodStuff) を使っていると、ボタンが時々押 されたままの状態になって、逆にそうならないときもありますが、それは どうしてですか ? 答: FvwmButtons のマニュアルより: command が fvwm の Exec コマンドである場合、コマンドの引用 符で囲まれた部分が、その名前やクラスに一致するようなウィン ドウに出会うまで、そのボタンは、押されたままになります。 これは、ユーザが要求した動作がこれから実行されるんだという ことを、見た目の反応としてユーザに提供することを目的として います。引用符で囲まれた部分が空文字列である場合、ボタンは すぐに前に出てきます。それが「押し込まれた」状態であっても、 ユーザがボタンを押し続けることでそのコマンドを再度実行でき ることに注意してください。 ---------------------------------------------------------------------- 4.2 FvwmButtons でアプリケーションを swallow する際、それにボタン押し で動作を割り当てることは可能ですか ? 例えば、xload を swallow し、 ボタン押しで xterm をポップアップさせる、あるいは、xbiff を swallow し、ボタン押しでメッセージの一覧を表示させたりしたいのです。 答: できますが、その方法は簡単ではありません。ボタン押しは普通 swallow したアプリケーションを通過してしまうのですが、ボタンにタイトルをつけ れば動作をそれに割り当てられます。以下は、誰かがメーリングリストに一 度投稿した例です: *FvwmButtons(1x4, \ Title 'System Info', \ Swallow "xload" 'Exec xload', \ Action(Mouse 1) 'Exec xosview -cua0 -net 200 -ul -l -geometry 325x325', \ Action(Mouse 2) 'Exec xcpustate -interval 1 -bg "#a4978e" -fg black', \ Action(Mouse 3) 'Exec rxvt -fg "khaki" -bg "dark olive green" \ -fat -n top -T Top -7 -e top' ) xbiff に関しても同様のことを思いつくでしょう (テストはまだ): *FvwmButtons(1x2, \ Title 'Check Mail' Swallow "xbiff" 'Exec xbiff', \ Action(Mouse 1) 'Exec from | xmessage -file -' ) さらに、他のボタン (例えば Mouse 3) をメールプログラムの起動に割り当 てることもできます。 将来時期がくれば、おそらくこれを試して修正することで、実際にボタン押 しをアプリケーション自身に割り当てられるようにするかもしれません。 ---------------------------------------------------------------------- 4.3 FvwmM4/Cpp モジュールでファイルを前処理しようとしているのですが、 どうも変です。 (答: 以下はバージョン 2.2 では部分的に修正され、2.4 ではほとんど修正済 みです) 答: ええと、どういうものか想像してみます。InitFunction のようなものが呼 ばれなかったとか、FVWM の起動前に動いていたウィンドウが境界や Style オプションの設定などを取得できない、とかでしょうか。 それらすべての理由は、FvwmM4 がモジュールだという事実によります。 Fvwm は、起動処理がすべて終わり、そして InitFunction の実行も試みた 「後」の、ソースコードのメインループにたどりつくまで、モジュールから 返ってくるコマンドは見ていません。 これには 2 つの解があります: - すべてのアプリケーションを InitFunction 内で起動すること - .fvwm2rc の最後に Recapture を置くこと バージョン 2.2 では、これは部分的に修正されていて、FvwmCpp/FvwmM4 は コマンドライン引数 -cmd または -f のいずれかのみを指定した場合に動作 するようになっています。 fvwm -cmd "FvwmCpp .fvwmrc.cpp" は動作しますが、以下はあてになりません: fvwm -f /usr/local/X11/etc/system.fvwm2rc -cmd "FvwmCpp .fvwmrc.cpp" バージョン 2.4 では、より完全な修正が入っていて、上の行も確実に動作 し、コマンドライン引数で起動したモジュールは、設定コマンドを送り返す モジュールであるとみなします。fvwm が InitFunction や境界の装飾やス タイルの設定の上に進む前に、コマンドラインモジュールはすべて終了しな ければなりません。FvwmCpp/FvwmM4 以外のモジュールを起動する場合は、 潜在的なデッドロックが存在しますが、タイムアウトがあるので、結局は fvwm は動き出します。 ---------------------------------------------------------------------- 4.4 FvwmFileMgr モジュールの話を聞いたんですがそれはどこにありますか ? 答: FvwmFileMgr モジュールはなくなりました。それは、ファイルマネージャ はウィンドウマネージャに統合する必要はありませんし、xfm のように良い ものがあるからです。代わりにそれらを使うことをお勧めします (ftp.x.org、あるいは好きなミラーサイトから持ってこれます)。 ---------------------------------------------------------------------- 4.5 FVWM 1.xx で使っていた GoodStuff が 2.xx にはないようですがどうす ればいいですか ? 答: GoodStuff は FvwmButtons という名前に代わりました。同じモジュールで 名前だけ新しくなっています (これは他のモジュールの名前付けのやり方に 合っています)。 ---------------------------------------------------------------------- 4.6 FvwmButtons 内のボタンの近くのデフォルトの位置ではなくスクリーン上 のどこか別なところにサブパネルを置きたいのですが、可能ですか ? 答: ええ、けど現在のパネルの実装ではないですが。詳しい方法については、 7.12 の質問をご覧ください。 ====================================================================== 5 - 開発、既知の問題、バグレポート ====================================================================== 5.1 FVWM に XYZ というかっこいい機能があるといいと思いますが、そう思い ませんか ? そのためのパッチもありますが当ててもらえませんか ? 答: パッチを書こうという計画がある場合、「どうか」まず最初に最新の開発 リリースを我々の Web サイトから取得するか、またはよりこちらの方がい いのですが、http://www.fvwm.org/cvs.html に書かれているように CVS を 使用してください。fvwm-workers メーリングリストに連絡するのもいいと 思います。古いリリース版へのパッチだと、全く意味がないことがあります。 例えば、その修正はすでに入っているとか、既にその機能が追加/削除され ているとか、あなたがパッチを作成したコードが単に現在はかなり変更され てしまっているとか。あなた自身と我々に取ってためになることを行ってく ださい。そうでないと、せっかくのあなたの偉大な仕事が無駄になってしま うかもしれません。 多くの人が常に新しい機能を要求し、提案し続けています (実際そのうち の多くがすばらしいアイデアで、現在の機能の多くがそこから来ています)。 例えば最も良く来るものの一つが、Windows 95 風の機能です (これが最初 に書かれて以来、いくつかの見た目に影響を与える機能を経由してその特有 の機能が実際に間接的に実装されてきました)。 これに関して説明しておきたいと思います。FVWM は、小さく、速く、強力 で柔軟なものと見なされているので、ときには犠牲にしなければならないも のもあります。これを救ってくれるのがモジュール機能です。全員が欲しが ったり必要であったりするわけではない機能の多くは、本体のモジュールに 入れることで、いらないと思う人達にも資源を浪費させてしまうようなこと をしてはいけないのです。 よって、あなたに提案 (またはパッチ) がある場合、もしそれを本体のモジ ュールに入れるべきと思うならば、できるだけそれを小さく、そして一般的 な形にする方法を考えてください。我々のバグ追跡システム (Q5.3 参照) にある「拡張」(enhancements) も参照してください。 パッチを書こうという計画がある場合、まず fvwm-workers メーリングリス トに連絡してください。我々はときどきソースを破壊的な方法で変更してい ますので、そのような変更の前の版へのパッチを作成してしまうと、そのよ うなパッチを統合するのには皆ものすごく時間がかかってしまい、ほとんど の時間は現在のコードに対するパッチに修正するために、我々があなたに質 問する時間になってしまいます。 我々は、公式版に要求された機能を追加したり、あるいは投稿されたパッチ を適用したりすることを、一切確約しないことを良く覚えておいてください。 しかし、これによってその投稿を思い留まらないでください。我々は、たと え提案された機能を決して fvwm に入れるつもりがない場合であっても、新 しいアイデアを得ることは好きですし、与えられた機能を他人がどのように 実装するのかを見ることには常に興味があります。また、投稿されたパッチ を、書式や機能などを変更して再実装する可能性もあります。そういうこと をされても怒らないでください。我々は悪気があってやっているわけではあ りませんし、一般的に我々の行為にはそれなりの良い理由 (少なくとも我々 の考え方では) があってやっています。 ---------------------------------------------------------------------- 5.2 どうやってパッチを作成/投稿/適用したらいいですか ? 答: まず最初に、Q5.1 の回答の最初の節を読んでください。 CVS ソースに対してパッチを作成するには (こちらの方が望ましい) - 1) 最新のソースと衝突を作らないように "cvs update -AdP" を実行 2) ChangeLog ファイル (下記参照) と必要ならすべてのマニュアルの の修正を忘れないように 3) ベースの cvs ディレクトリで以下を実行: cvs diff -u >myfeature.patch リリース版のソースに対してパッチを作成するには - 1) 元のソースファイルを、同じ名前に追加の拡張子 .orig (かそれに 似たもの) をつけた名前でコピーしてください。 2) ChangeLog ファイルの更新。あなたが (x)emacs を使うなら、あな たが変更した関数の中にカーソルを移動して -x 4 a を打っ てください。それにより空の ChangeLog 項目が正しいファイル (いくつかの ChangeLog ファイルがある場合) に生成されますので あなたが行なったことの説明を追加します。これを、関数やファイ ル (関数の外の変更の場合) を変更する度に行います。AUTHORS と NEWS ファイルも適切に更新します。ChangeLog 項目は時間をかけ て追加してください。それにより我々の作業がとても楽になります。 3) その後に -c (コンテキスト形式) か -u (ユニファイド形式) スイ ッチをつけてそのファイルの組に .orig のファイルの方を「先」 にして diff コマンドを実行します。出力が小さいので、ユニファ イド形式の方が好きですが、そちらの方が読みにくい場合もありま す (それに、ユニファイド形式をサポートしていない版の diff も あります) ので、コンテキスト形式の差分でもユニファイド形式の 差分でもどちらでも結構です (しかし、「単純な」差分はやめてく ださい)。 例: cp fvwm.c fvwm.c.orig ; <編集> ; diff -u fvwm.c.orig fvwm.c パッチを投稿するには - それを fvwm-workers メーリングリスト に メールしてください。 パッチが大きい場合は、圧縮すべきです (できれば gzip で)。それで も 25K バイトを越える場合は、ある Web ページに置いてその URL を メーリングリストへメールで通知するか、まず fvwm-workers メーリ ングリストで聞いてみてください。 Q5.1 の回答もちゃんと読んでください。 ChangeLog と付属文書も忘れないでください。 パッチを適用するには - 'patch' プログラムのコピーを、ftp://ftp.gnu.org/gnu/patch など の適当なところから取得して、それをコンパイルして、その説明書に 従ってください (普通は、単に適切なディレクトリ内に cd して、 'patch < パッチファイル' を実行するだけです)。 ---------------------------------------------------------------------- 5.3 バグレポートはどうやって送ればいいですか ? 答: XMMS に関する「バグ」の報告は、頼みますから fvmw バグ追跡システムや fvwm メーリングリストには送らず、代わりに XMMS 開発者に送ってくださ い。 我々の Web ベースのバグ追跡システムにある、あなたの問題に対する「詳 細な説明」に入ってください。我々の Web ページ (Q1.3 参照) 上にそのリ ンクがあります。単に「私のウィンドウの振舞いがおかしい」とか「バグを みつけました」ではなく詳細をお願いします (訳注: 現在は fvwm のホーム ページにはバグ追跡システムはなく、バグはメーリングリストに報告するこ とが推奨されているようです): - まず最初に: 我々のバグ追跡システムを使ってください ! そこへの リンクは我々の Web ページ (Q1.3 参照) にあります。なんらかの 理由であなたがそのバグ追跡システムを利用できない場合、fvwm に ついている fvwmbug.sh シェルスクリプトを使ってください。 - 問題をあなたが可能な限り詳細に説明してください。できれば容易 にその問題を再現する方法の提示も合わせて。 - 可能ならば、以下による情報も入れてください: xwininfo (できればオプション -all もつけて) xprop FvwmIdent xdpyinfo (できれば) - あなたが使用している FVWM の正確なバージョン - あなたが使用している OS とそのバージョン - あなたが使用している X11 のバージョンと、MIT のサーバかそれと もベンダ固有のサーバか (例えば SunOS の OpenWindow X サーバな ど) - どのように FVWM をコンパイルしたか (コンパイラ、そのバージョ ン、オプション等々) - .fvwm2rc 内に問題に関係しそうなどのような設定があるか ---------------------------------------------------------------------- 5.4 FVWM では期待通りにならず [他のウィンドウマネージャ] ではうまくい くウィンドウがある、または不規則なバグが起きるのですが、どうしたら いいですか ? 答: まず、あなたの初期設定ファイルと .Xdefaults をチェックし、そこにパ ッと見てわかるようなものがその問題を引き起こしていないかどうかを確認 してください。次に、どうーーーーか、付属の FAQ, BUGS, TODO, マニュア ルページも確認してください。最後に公式 WWW ページと、そこに保存され ているメーリングリスト保管物 (検索機能もついています) もチェックして ください。 もしその問題を見分けることができていないなら、その問題のレポートを我 々のバグ追跡システム (Q5.3 参照) に送ってください。 ---------------------------------------------------------------------- 5.5 ClickToFocus やマウスの割り当てをなぜ NumLock と CapsLock と ScrollLock が邪魔するのですか ? 答: それはそれらが修飾キーとして扱われるからです。IgnoreModifiers コマ ンドを使って個々の修飾キーの割り当てをオフにできます。XFree86 では正 しくは以下のようにします。 IgnoreModifiers L25 修飾キーを手動で変更した場合、または別の X サーバを使っている場合、 コマンド 'xmodmap' でどの修飾キーがあなたがオフにしたいキーに対応し ているのかを見つけ出してください。 あなたの CPU、ネットワークインターフェース、あなたの設定ファイル内の Key, Mouse コマンドの数、あなたが無効にしたい修飾キーの数などに依存 して、このコマンドはたくさんの余分のネットワークトラフィックを生成し ます。稲妻のように素早いマシンを持っていないか、割り当てが少なくはな い場合は、3 つ以上の修飾キーを無視すべきではないでしょう。もし問題が なければスクロールロックも無視しないでください。 この問題を解決する良い方法は、あなたの X サーバのキーボード配列を変 更することです。以下のコマンド xmodmap -e "clear Lock" xmodmap -e "clear Mod2" xmodmap -e "clear Mod5" は、CapsLock, NumLock, ScrollLock をキーボード配列から削除するので、 その後はこれらのキーを押しても何も起きなくなります。これらを再び追加 するには、以下のようにしてください: xmodmap -e "add Lock = Caps_Lock" xmodmap -e "add Mod2 = Num_Lock" xmodmap -e "add Mod5 = Scroll_Lock" Fvwm は xmodmap が作成する変更を利用する形で再起動しなければいけませ んが、詳細は xmodmap コマンドのマニュアルを参照してください。 ---------------------------------------------------------------------- 5.6 グラデーション背景のメニューがちらついたり、またはとても遅いです。 答: ちらつきは、サブメニューをポップアップ/ダウンする度に fvwm がたえず メニューを再描画して引き起こしています。これを救う一つの方法は、X サ ーバのバッキングストアを使うことです (XFree86 はバッキングストアをサ ポートしています。他のサーバについては知りませんが、真っ当な X サー バはどれもサポートしているだろうと思います)。X サーバを -bs オプショ ンつきで起動していれば、それを削除してください。そうしていなければ、 -wm オプションを試してみてください。例えば: startx -- -wm この例はあなたのシステムに合わせる必要があります (例えば X の起動に xinit を使っている場合など)。 もしこれでもだめなら、あなたの X サーバがバッキングストアをサポート していないか、またはシステムリソースが限界にきているかのいずれかでし ょう。サブメニューが親メニューに重なっていないか確認してください: MenuStyle <スタイル名> PopupOffset 1 100 残念ながら、これは fvwm メニュースタイルでは正しく動作しません。 速さの問題も、上の両方の提案が助けになると思います。他に試してみるこ ととしては、アクティブメニュー項目の前景色以外のハイライト化をオフに することでしょうか。.fvwm2rc のメニュースタイルの定義の後に、以下の 行を入れてください: MenuStyle <スタイル名> Hilight3DOff, HilightBackOff MenuStyle <スタイル名> ActiveFore <好きな色> ---------------------------------------------------------------------- 5.7 StartIconic スタイルが Netscape などで動かないのはなぜ ? 答: そのアプリケーションがそれを許していないからです。以下は Netscape についてのみの話です。Netscape が起動すると、FVWM はそのメインウィン ドウをアイコン状態にしますが、Netscape は直ちに他の MapRequest を発 行して、ウィンドウマネージャが ICCCM 規則に従ってアイコンからの復帰 を行わなければいけないようにしているのです。(しかし、Netscape はコマ ンドラインフラグ -iconic をつけて呼び出せば、起動時にアイコン化でき るはずです。) ---------------------------------------------------------------------- 5.8 fvwm の出力 (例えばエラー) をどうすれば捕まえられますか ? エラーは標準エラー出力に出力されます。標準エラー出力は、fvwm の起動 時に "fvwm2 2> fvwm-errors" のようにすればファイルにリダイレクトでき ます。xdm で起動する X セッションでは、エラーをたいてい ".xsession-errors" という名前のファイルにリダイレクトしています。 その他には、FvwmConsole や "FvwmForm FvwmForm-Talk" モジュールでもエ ラーメッセージを表示できるでしょう。 ---------------------------------------------------------------------- 5.9 あるプログラムを FVWM 上で実行したら、BadAccess のような X11 エラ ーで死んでしまいました。MWM や OLWM 上では同じプログラムがちゃんと 動作するのにこれはどういうことでしょうか ? 答: 普通は以下のようなエラーメッセージでしょう: X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 28 (X_GrabButton) Serial number of failed request: 1595 Current serial number in output stream: 1596 ええと、これはキーかマウスボタンの割り当てに衝突があることを言ってい るものなんです。あなたの .fvwm2rc に、そのプログラムが動作のために本 当に割り当てたいキーかマウスボタンの割り当てがあり、しかし FVWM が既 にそれを行っているために割り当てられないというわけです (あなたの以前 のウィンドウマネージャ用の初期設定ファイルではそうしていなかっただろ うと思います)。どのキー割り当てが怒らせているのかを見つけだし、そし てそれを .fvwm2rc から、あるいは一時的に "FvwmForm FvwmForm-Talk" を 用いて FVWM の割り当てから削除してください (Key と Mouse コマンドに 関してはマニュアルを参照してください)。 ---------------------------------------------------------------------- 5.10 インストールの度に現在動いている fvwm のセッションが死んでしまう のはなぜ ? 答: 多くの OS は、ディスクイメージを使ってプログラムをメモリからスワッ プしますが、それを上書きした場合には、あなたがそれを再起動する前に現 在のものが何かをメモリに書き戻そうとして、結果としてコアダンプします。 これを避けるには、古い実行バイナリの名前を変えるか、それを他のディレ クトリに移動することです。'mv' コマンドは i-ノードを保存するのでコア ダンプしなくなりますが、その後 fvwm を再起動するとそれは新しいコピー の方を取り上げます。 ---------------------------------------------------------------------- 5.11 fvwm を再起動すると、あるウィンドウかアイコンが他のすべてのウィン ドウの上に出て、それをどんなメニューでも下げられなくなります。そ の一例は KFM (KDE ファイルマネージャ) のショートカットですが、ど うしたらいいでしょう ? 答: いわゆる「リダイレクト無効」(override redirect) と呼ばれるウィンド ウを使うアプリケーションがありますが、ウィンドウマネージャはそのよう なウィンドウを管理しません (できません)。ICCCM で定義される規則に従 えば、本来はそのようなウィンドウは短い間しか表示できないのですが、 KFM や他のそのようなアプリケーションはこの規則を無視し、永続的な「リ ダイレクト無効」ウィンドウ (例えば KFM ショートカット) を使っている のでしょう。Fvwm は、再起動時、そしてそのようなウィンドウの下にある fvwm が管理するウィンドウの配置時には、簡単にはそれらのウィンドウの 検出はできません。 しかし、fvwm のバージョン 2.3.8 からは、それを助けるコマンドがありま すが、それは「リダイレクト無効」ウィンドウを使用する他のアプリケーシ ョンにトラブルを起こすかもしれません。KFM は規則に違反していて、それ らのアプリケーションも別な方法で違反しているでしょうから、我々は何の 確約もできません。 さて、そのコマンドですが、以下の行を .fvwm2rc ファイルのどこでもいい ので入れてください: BugOpts RaiseOverUnmanaged on ---------------------------------------------------------------------- 5.12 StartsOnPage スタイルが動作しません。なぜですか ? 答: 多くのアプリケーションは、自身が表れたい特定の位置 (いわゆる「プロ グラム固有位置」) を要求します。fvwm がそれを無視するよう明示的に指 示されていなければ、プログラム固有位置が StartsOnPage スタイルに優先 します。あなたの設定ファイルに以下の行を入れてみてください: Style * NoPPosition ---------------------------------------------------------------------- 5.13 fvwm を再起動したときに起動しないモジュールがあります。 答: 以下のエラーメッセージがコンソールに出ていると思います: [FVWM][PositiveWrite]: <> Failed to read descriptor: - data available=N - terminate signal=N これは、fvwm がそのようなモジュールの一つからの返答を待つのをあきら め、そしてそれを殺した (kill) ことを意味します。そのタイムアウトの長 さは設定パラメータにあります。あなたの .fvwm2rc ファイルに ModuleTimeout 10 を追加してみてください。単位は秒で、デフォルトの値は 5 秒です。 この問題は遅いマシンか、(たくさんウィンドウを開いている) 負荷が高い 状態でのみ起こります。 ---------------------------------------------------------------------- 5.14 Rational Rose を動かしているのですが、fvwm はそのウィンドウを無視 してしまいます。 答: この問題は、言われているもの以外のアプリケーションの上でも起こりま す。 Raymond Toy が報告している通り、その症状は以下の通りです: FVWM を長い間使っているが、いつもちゃんと動いています。しかし、 Solaris で Rational Rose を使い始めたら、FVWM が完全に混乱し始めま した。 o FVWM は Rose ウィンドウの周りのどのフレームも、(明示的に書かない ようにしたもの以外の) 他のウィンドウにするような形に描いてくれま せん。 o Rose ウィンドウは常に一番手前にいて、他のウィンドウを Rose ウィ ンドウの手前に持ってくるようにできません。 o FVWM のウィンドウ特定モジュール (FvwmIdent) は何も表示しません。 ウィンドウ情報を表示するウィンドウもポップアップしません。 o フォーカスがときどき消えてしまいます (FocusFollowsMouse を使って います)。フォーカスを戻すには一度マウスをウィンドウの外に移動し また戻す必要があります。フォーカスを戻すのにマウスクリックしなけ ればいけなくなるときもあります。 イライラすることに、これらはすべて CDE と dtwm の上ではちゃんと動 くようです。dtwm に切り替えないといけないようにはしたくないので、 何かヒント、または FVWM がこのウィンドウを理解できるようにすること を紹介するサイトへのリンクをどうかお願いいたします。 以下は我々が見つけました: Rational Rose は、MS Windows アプリケーションを UNIX 上で動くよう再 コンパイルする Mainsoft のソフトを使用しています。 UNIX ウィンドウマネージャに関連する、Mainsoft の情報のページが 2 つ あります: _+_A HREF="http://www.mainsoft.com/kb_mainwin/kbmw0027.html" _-_http://www.mainsoft.com/kb_mainwin/kbmw0027.html_+_/A_-_ _+_A HREF="http://www.mainsoft.com/kb_mainwin/kbmw0034.html" _-_http://www.mainsoft.com/kb_mainwin/kbmw0034.html_+_/A_-_ それらのページは、そのアプリケーションの起動前に export MWWM=allwm または export MWWM=MWM することを提案しています。 Raymond からの報告です: これはうまく動きました。MWWM=allwm と設定したら、Rose は WM が境界を描く通常の X アプリケーションと同様になりまし た。MWWM=MWM とした場合は、WM はメインウィンドウには境界 は描かず、Rose 自身が境界を描きます (MWM Decor ヒントを fvwm に考慮させています)。(上の情報の Web ページが述べて いる通りこれは間違いではありません。) dtwm では Rose が どう見えたか覚えていませんが、多分それは MWWM=MWM の場合 にすべてがすごく近いと思います。 次に Klaus Zeitler が、Rational Rose の公式の起動スクリプトが明示的 に ALLWM を空に設定していることを報告しています。これは、個々のユー ザがこの変数を設定することをより難しくしています。可能ならば、そのス クリプト自身を直接修正するか、それができなければ、そのスクリプトをど こかあなたが修正してそれを実行できる場所へコピーするかすればいいでし ょう。 ---------------------------------------------------------------------- 5.15 私のモジュール用に WindowListSkip スタイルを使っても、それがまだ FvwmIconMan, FvwmWinList などに表示されています。 答: あなたの .fvwm2rc ファイル内に *FvwmIconMan*UseWinList true があることを確認してください。それが助けにならなければ、あなたが使用 しているモジュールが fvwm の実行ファイルに合っていない可能性がありま す。すべてを再コンパイルし、再インストールしてください。そうすれば問 題はなくなるでしょう。 ====================================================================== 6 - その他 ====================================================================== 6.1 デスクトップ (DESK) とページ (PAGE) とスクリーン (SCREEN) の厳密な 違いは ? 答: 我々の命名規則が時々混乱の元になりますので、問題を議論したりする際 に、統一した意味を確認することはよいことです。fvwm のどの機能を指し ているのかを明らかにしてみます: 「fvwm は複数の重ならない『デスクト ップ』を持ち、それぞれのデスクトップは M x N 個の『ページ』を持ち、 それぞれのページのサイズは物理的な『スクリーン』になります。」物理的 なスクリーンは、現在のデスクトップのページの一つを見渡す窓 (ビューポ ート) として作用します。以下は説明用の図です (FvwmPager モジュール参 照): Desk 0 Desk 1 +----------+----------+ +----------+----------+ | | | | | | | Page 0 0 | Page 1 0 | | | | | | | | | | | | | | | | +----------+----------+ +----------+----------+ |+--------+| | | | | ||Page 0 1|| Page 1 1 | | | | || || | | | | |+--------+| | | | | +----------+----------+ +----------+----------+ ここには 2 x 2 のサイズのデスクトップがあります。現在のデスクトップ が番号 0 で、現在のページが 0 1 で、スクリーンはここに配置されたウィ ンドウと sticky のウィンドウのみを表示します。 デスクトップは 0 から始まり連続した番号がつきます。ユーザは新しいデ スクトップの作成には責任はなく、その細部は fvwm 内部で処理されていま す。異なるデスクトップを表示するために、ユーザはどのデスクトップを表 示するかを決めるキー割り当てを設定できます。例えば、Meta-1 から Meta-4 でデスクトップ番号 0 から 3 を表示する組を設定したければ、以 下を .fvwm2rc に追加します: Key 1 A M GotoDesk 0 Key 2 A M GotoDesk 1 Key 3 A M GotoDesk 2 Key 4 A M GotoDesk 3 同じことはページでもできます。例えば、各デスクトップに 2 x 2 のペー ジがある場合、 Meta-F1 から Meta-F4 にそれらのページの切り替えを割り 当てられます: DeskTopSize 2x2 Key F1 A M GotoPage 0 0 Key F2 A M GotoPage 1 0 Key F3 A M GotoPage 0 1 Key F4 A M GotoPage 1 1 いくつかのデスクトップを一緒に表示するページャを作るのもいい案です。 以下のコマンドは最初の 4 つのデスクトップを表示します: Module FvwmPager 0 3 ページャ内に現在のデスクトップのみ表示させたければ: Module FvwmPager * * ---------------------------------------------------------------------- 6.2 {OpenWindows, NeXT, Win95, Mac 等} の見た目、感覚がいいのですが、 これはサポートする予定はありますか ? 答: これは我々の主要な任務ではありませんが、fvwm はそれらの見た目の生成 にはとてもよい仕事をすると考えています。 以下のパッケージを調べてみてください。 _+_A HREF="http://fvwm-themes.sourceforge.net/"_-_fvwm-themes_+_/A_-_ ---------------------------------------------------------------------- 6.3 アイコン用の XPM ファイルはもっとどこかにありませんか ? 答: カラーアイコンがもっと欲しいのであれば、ctwm の配布物 (ftp.x.org に あります) にはたくさんいいものが含まれていますから、そこから取り出す といいでしょう。また、ftp.x.org にある別の配布物の中にもあるでしょう し、http://www.sct.gu.edu.au/~anthony/icons/ にもたくさん置いてある ようです。 アイコンは fvwm とともに配布されていましたが、現在はアイコンの基本セ ットが fvwm のウェブサイトに置いてあります。他のアイコンの配布元への リンクが fvwm のウェブサイトにいくつかあるのを見つけられるでしょう。 以下のパッケージを調べてみてください。 _+_A HREF="http://wm-icons.sourceforge.net/"_-_wm-icons_+_/A_-_ ---------------------------------------------------------------------- 6.4 Linux XF86 の仮想スクリーンサイズと fvwm の相互作用... 答: それがいやなら、あなたの XF86Config ファイルで、Linux Virtural Screen をオフにしてください。あなたが仮想デスクトップを実装するウィ ンドウマネージャを使っている場合は、XFree86 仮想スクリーン機能と一部 のビデオカードがサポートするハードウェアパン (表示領域移動) は、かな り役立たずな汚ない機能です。 ---------------------------------------------------------------------- 6.5 これが FVWM と関係ないのはわかりますが、Rob Nation がサポートして いた rxvt と rclock はどうなったのですか ? 今それらはどこにありま すか ? 答: rxvt の公式ホームサイトは以下です: http://www.rxvt.org/ rclock は rxvt パッケージ内にあります。 ---------------------------------------------------------------------- 6.6 どうやったら fvwm で背景を設定できますか ? 答: 背景画像の設定は、本来はウィンドウマネージャの仕事ではありません。 Linux のディストリビューションの一つを使用しているなら、おそらく背景 の設定はそれに含まれているでしょう。 fvwm に付属するプログラム (xpmroot) を使って背景にピクスマップ画像を 設定できます。他の "xv", "xli", "xloadimage", "display" などのプログ ラムはよりしっかりしていて、一般的な画像形式のほとんどを背景に置くこ とができます。 背景に固定画像を置きたいだけなら、あなたの .xsession か .xinitrc フ ァイルからそれらのプログラムを呼び出すだけでいいですが、.fvwm2rc の InitFunction からそれらを呼び出すこともできます。 fvwm モジュール FvwmBacker を使って、あなたが現在いるデスクトップ毎 に背景を変更することもできます。 ---------------------------------------------------------------------- 6.7 Fvwm を使っていると --- で色が正しくなりません。何が悪いのでしょう? 答: ほぼ同じ文面で、我々は、FvwmForm がすべて白になってしまうこと、アイ コンが表示されないこと、色を割り当てられないというメッセージに関する ことの質問を受け続けて来ました。 古いハードウェアは、いわゆる 8 ビットカラーを使っていますが、新しい ハードウェアでも 8 ビットカラーしか使わないような誤設定もできます。 その場合は、そのディスプレイでは同時には 256 色までしか使えなくなり ます。 これは、苦痛なほどの詳細が以下で紹介されています: _+_A HREF="http://www.sunhelp.org/faq/FrameBuffer.html"_-_Frame Buffer FAQ_+_/A_-_ ディスプレイが 256 色より多くの色をサポートしている場合、今はそれが 普通ですが、あなたの X サーバに関する文書を見てください。"man X" か ら始めるといいでしょう。 もし 8 ビット色に固執するなら、fvwm が手助けします。2.2.x 版では、 "ColorLimit" コマンドを使用し、Fvwm がアイコンに使用する色数を減らす ことができます。2.3.x 版以降では、色数制限は自動的に行われますが、さ らにこのコマンドを使用してさらなる色数の制限を行うことも可能です。 他にあなたができることは: - Netscape に常に "-install" 引数をつけて実行すること。 - スクリーンの背景に画像を使っているなら、それが使用する色数を減らす こと。xv を使っているなら引数 "-nc nn" を追加すること、xli なら引 数 "-colors nn" を使用すること。 - グラデーションを使用しないこと。 - 色に貪欲なアプリケーションがあるので、TK ベースのものすべて、およ び FrameMaker のデフォルトの設定に用心すること。 これでも問題が解消しない場合、fvwm メーリングリストを利用してくださ い。 ====================================================================== 7 - 開発者からのヒントと例 ====================================================================== 7.1 新しい設定をテストする簡単な方法は。 ほとんどの設定コマンドの実行を見るのに、X や fvwm を再起動する必要は ないことを知っていましたか ? fvwm コマンドを任意のタイミングで発行で きるモジュールがいくつかあります。FvwmCommand, "FvwmForm FvwmForm-Talk", FvwmConsole がそれらです。私は個人的に、FvwmCommand, FvwmConsole を使っています。 FvwmConsole を使う場合、シェルのようなウィンドウが使え、そこで fvwm に送信する設定コマンドを打ち込めます。いずれかのメニューにそれを起動 するような項目を追加してください: AddToMenu main_menu + "FvwmConsole" Module FvwmConsole FvwmCommand を使用するのはややトリッキーですが、それを使うには、 .fvwm2rc 内に以下の行を追加してサーバを立ち上げる必要があります: Module FvwmCommandS FvwmCommand が検索パスにあるかどうか確認してください。そうすれば、あ なたの好きなシェルのコマンドライン上でコマンドを入力できます: FvwmCommand "MenuStyle * Font 6x9" そのコマンドは引用符で囲まなければいけないことに注意してください。 FvwmCommand が FvwmConsole に勝る部分は、コマンドを実行するのに、あ なたの好きなシェルとそのすべての機能 (コマンド補完やヒストリ等) を利 用できることです。不利な点は、やや遅いことですが、それは、各コマンド に対して新しい FwmCommand を立ち上げなければいけないためです。 他に関連するモジュール、コマンドは、FvwmScript, PipeRead です。 ---------------------------------------------------------------------- 7.2 設定にシェルコマンドを使うには。 ときどき、.fvwm2rc 内でシェルコマンドやスクリプトの出力を使いたくな らないでしょうか。例えば、あるディレクトリ内のすべてのファイル名を項 目として持つようなメニューが欲しくなりませんか。それには PipeRead コ マンドや FvwmCommand モジュールを使うことができます。私は PipeRead を使うことを勧めますが、それは FvwmCommand では例えば 20 個のメニュ ー項目を作ろうとするとかなりの時間がかかってしまうからです。 以下は私の .fvwm2rc からの例です: # 背景メニューの作成 AddToFunc MakeBackgroundMenu + "I" DestroyMenu BackgroundMenu + "I" AddToMenu BackgroundMenu Backgrounds Title + "I" PipeRead 'for i in `/bin/ls $HOME/.fvwm2/backgrounds/*.bg.*`; \ do echo -e AddToMenu BackgroundMenu `basename $i | sed -e \ "s/\.bg\..*$//"` Function SetDefaultBackground $i; done' # デフォルト背景の設定 AddToFunc SetDefaultBackground + "I" Exec echo -e $0 > $HOME/.fvwm2/background + "I" Function SetBackground # 新しい背景の設定 AddToFunc SetBackground + "I" Exec test -r $HOME/.fvwm2/background && xv -root -quit -viewonly \ `cat $HOME/.fvwm2/background|tr -d "\n"` # 最後のセッションからの有効化の設定とメニューの構築 AddToFunc InitFunction + "I" Function SetBackground + "I" Function MakeBackgroundMenu 関数 MakeBackgroundMenu は、ディレクトリ $HOME/.fvwm2/backgrounds 内 の "*.bg.*" というパターンにマッチするすべてのファイルに対する項目を 持つメニューを構築します。最後の .bg.* は取ります。項目を選択すると、 そのファイルを背景に xv を使って表示します。さらに、そのパスとファイ ル名を $HOME/.fvwm2/background に保存します。次の fvwm セッションを 立ち上げたときには、ファイル名はそこから取られ、よって直前のセッショ ンの背景になります。 私はカラーパレットについてはさらに複雑な設定を持っています。 ---------------------------------------------------------------------- 7.3 現在のものとは違うページやデスクトップでアプリケーションを起動する には。 .fvwm2rc 内で 'StartsOnDesk' か 'StartsOnPage' スタイルを使ってくだ さい: Style Netscape* StartsOnPage 0 1 または Style Netscape* StartsOnDesk 1 これで、'Netscape' で始まるタイトルを持つ任意のウィンドウがページ 0 1 (またはデスクトップ 1) に置かれます。以下のオプションもつけた方が いいかもしれません: Style * RecaptureHonorsStartsOnPage, CaptureHonorsStartsOnPage 今のページを切り替えずに、別のページのバッググラウンドでアプリケーシ ョンを起動したい場合は、'SkipMapping' スタイルを使用します: Style Netscape* StartsOnPage 0 1, SkipMapping ---------------------------------------------------------------------- 7.4 現在のものとは違うページやデスクトップで、表示窓をそちらに移動せず にそちらの上でアプリケーションを起動するには。 SkipMapping スタイルを使用してください: Style Netscape* StartsOnPage 0 1, SkipMapping ---------------------------------------------------------------------- 7.5 より効率的な MWM メニュースタイルは。 もしかすると、MWM メニュースタイルでは、メニューの一覧をまだスクロー ルダウンしたいと思っているときでも、マウスポインタがそのメニュー項目 に入るとすぐにサブメニューが表示されることに気がついたかもしれません。 それは、MenuStyle コマンドのオプション 'PopupDelay' と 'PopupDelayed' で防ぐことができます: MenuStyle mwm MenuStyle PopupDelayed, PopupDelay 80 これでサブメニューは、メニュー項目にマウスポインタが入ってから 80 ミ リ秒後に表示されるようになりますが、その間隔にはほとんど気がつかない でしょう。80 ミリ秒は、私のカーソルキーでの自動繰り返しによるメニュ ーの移動には丁度いい間隔なのですが、あなたにとって適切かどうかは、こ の数字で試してみる必要があるかもしれません。 ---------------------------------------------------------------------- 7.6 スクリーン上にメニューを置くには。 あなたのメインメニュー (または他の任意のルートメニュー) を出せる場所 として背景の一部分を見つけるために、そのスクリーン上のウィンドウを閉 じる必要があったり、マウスポインタを移動する必要があったりしませんか ? もしそうなら、キーボードショートカットを使うべきです。例えば、 Key space A M Menu root c c main_menu をあなたの .fvwm2rc に入れると、Alt-space を押したときにスクリーンの 中央にメニュー 'main_menu' が現れるようになります。または、ウィンド ウメニューにショートカットを入れてもいいでしょう: Key space A SM Menu root c c WindowMenu メニューは、マウスポインターが丁度いる場所でなければ、あなたの望むと ころどこでも置くことができます。マニュアルの 'Menu' コマンドのセクシ ョンを読んでください。 ---------------------------------------------------------------------- 7.7 スクリーンの境界近くでマウスを動かしていると、間違ってページが切り 替わったりしないですか ? ページの切り替えは、EdgeScroll コマンドで無効にできます: EdgeScroll 0 0 をあなたの .fvwm2rc に入れるとオフになります。 ---------------------------------------------------------------------- 7.8 あなたのウィンドウとアイコンを整列するには。 SnapAttraction と SnapGrid コマンドは、あなたのデスクトップを整理す るのを手伝ってくれます。SnapAttraction ではウィンドウ (やアイコン、ま たはその両方) がお互いに「引きつけられ」ます。ウィンドウ (アイコン) をドラッグし、他のウィンドウ (アイコン) に近づけると、それは境界が隙 間なくくっつきます。以下のコマンドを .fvwm2rc に入れてください: SnapAttraction 8 SameType これは、ウィンドウが他のウィンドウと 8 ピクセルより近づいた場合にく っついて、アイコンとアイコンもくっつくことを意味します。ウィンドウか アイコンの一方だけがくっつくようにしたいなら、 SnapAttraction 8 Windows か SnapAttraction 8 Icons とします。アイコンをウィンドウとくっつかせる、またはその逆をしたい場 合は: SnapAttraction 8 All SnapGrid コマンドは、さらに大きな手助けをします: SnapGrid 8 をあなたの .fvwm2rc に入れると、ウィンドウやアイコンの配置に 8 ピク セルの枠を使うことを fvwm に指示します。それがいいかどうか、試してみ てください。 ヒント: SnapGrid には、あなたのデスクトップ幅および高さの約数を使う といいかもしれません。 ---------------------------------------------------------------------- 7.9 マウス/フォーカス/ページをキーボードで動かすには。 マウスの移動には以下のキーバインドを試してください: # 数ピクセルの移動は Shift-<矢印> Key Left A S CursorMove -1 0 Key Right A S CursorMove +1 +0 Key Up A S CursorMove +0 -1 Key Down A S CursorMove +0 +1 # 1/4 ページ幅の移動は Shift-Meta-<矢印> Key Left A SM Scroll -25 +0 Key Right A SM Scroll +25 +0 Key Up A SM Scroll +0 -25 Key Down A SM Scroll +0 +25 ページの切り替えは以下の通り。 # ページ全体の移動は Shift-Control-<矢印> Key Left A SC CursorMove -10 +0 Key Right A SC CursorMove +10 +0 Key Up A SC CursorMove +0 -10 Key Down A SC CursorMove +0 +10 # 特定のページへの移動は (Linux コンソール同様) Alt-Fn Key F1 A M GotoPage 0 0 Key F2 A M GotoPage 1 0 Key F3 A M GotoPage 0 1 Key F4 A M GotoPage 1 1 特定の方向のウィンドウへのフォーカスの変更は以下の通り。 # フォーカスの移動はテンキーの番号キー Key KP_1 A C Direction SouthWest Focus Key KP_2 A C Direction South Focus Key KP_3 A C Direction SouthEast Focus Key KP_4 A C Direction West Focus Key KP_6 A C Direction East Focus Key KP_7 A C Direction NorthWest Focus Key KP_8 A C Direction North Focus Key KP_9 A C Direction NorthEast Focus ---------------------------------------------------------------------- 7.10 デスクトップの猫対策は ^_^ あなたがコーヒーをかきまぜているときに、あなたのキーボードの上を猫が とびまわるのであれば、以下のヒントが手助けになるかもしれません: 'Style * MouseFocus' を使い、別な作業をするときはマウスポインタを 背景に置くことです。 'SloppyFocus' を手放せないのであれば、マウスポインタを、キー入力を 何もうけつけないようなウィンドウに入れて、フォーカスをそれに与える という方法があります (例えば FvwmButtons やコンソールメッセージウ ィンドウ)。けど、本当の猫好きなら、それ用にその猫の画像の別のウィ ンドウを作りますね ^_^ ---------------------------------------------------------------------- 7.11 ウィンドウの奥下げと移動。 ある設定では、マウス中ボタンでウィンドウを移動すると、そのウィンドウ を移動した後でそれを奥に下げますが、移動の前に奥に下げるといい視覚効 果が得られます: Mouse 2 T A Function MoveOrLower AddToFunc MoveOrLower + "Click" Lower + "Motion" Lower + "Motion" Move + "DoubleClick" Lower ---------------------------------------------------------------------- 7.12 ウィンドウを On/Off するトグルスイッチの設定は。 最初に使ったときにアプリケーションを起動し、2 度目に使ったときにはそ れを閉じるようなメニュー項目、あるいは FvwmButtons か FvwmWharf のボ タンを持つのが望ましい場合があります。そうするための方法は簡単ではあ りませんが、不可能でもありません。とりあえず FvwmConsole ウィンドウ の On/Off をするトグルスイッチのメニュー項目を作りたいとします。この 場合、以下の行を .fvwm2rc に入れます: AddToFunc ToggleFvwmConsole + I None (FvwmConsole) Module FvwmConsole + I Next (CurrentPage Visible FvwmConsole) Close + I Next (FvwmConsole) MoveToDesk + I Next (FvwmConsole) MoveToPage + I Next (FvwmConsole) Raise AddToMenu + "toggle FvwmConsole" Function ToggleFvwmConsole またはボタンバーにそういうボタンを入れたければ: *FvwmButtons(Action ToggleFvwmConsole) MoveToDesk, MoveToPage, Raise に関する行は、そのウィンドウを閉じる代 わりに、それが表示されていない場合は、それを現在のページのトップに移 動します。 ある特定のウィンドウ、例えば xterm 一つをトグル形式にしたくて、かつ 他にトグル形式ではない xterm も使いたい場合、トグル形式にするウィン ドウには一意の名前をつける必要があります: AddToFunc ToggleXMessages + I None (XMessages) Exec ( TERM -T XMessages -n XMessages \ -e exec tail -f /var/adm/?* ~/.X.err ) + I Next (XMessages) Close または、Netscape ボタンをトグルするためには: AddToFunc ToggleNetscape + I None (Navigator) Exec exec netscape + I All (Navigator) Close これらの関数は、単に指定した名前を持つウィンドウが存在するかどうかを チェックするだけであることを覚えておいてください。(例えば netscape のように) あるアプリケーションの起動が遅い場合、この関数は手動で開い たウィンドウを運良く閉じてくれるかもしれませんし、そのアプリケーショ ンを複数回起動してしまうかもしれません。 ---------------------------------------------------------------------- 7.13 どうすればアイコンをクリックすることでアプリケーションを起動でき ますか。 通常は、アイコンはアプリケーションを最小化したものです。それを切り替 えて、アイコンをクリックすることでアプリケーションを起動したいという なら、止めはしません。以下は FvwmButtons を利用してそれを行う方法で す: # FvwmButtons によるアイコン起動: DestroyFunc Launcher AddToFunc Launcher + I DestroyModuleConfig $0Launch: * + I *$0Launch: Geometry 64x68 + I *$0Launch: Columns 1 + I *$0Launch: Rows 4 + I *$0Launch: Frame 0 + I *$0Launch: (1x3+0+0, Icon $1, Action (Mouse 1) `Exec $2`) + I *$0Launch: Pixmap none + I *$0Launch: (1x1+0+3, Font 9x15, Fore White, Back DarkBlue, \ Title $0, Action (Mouse 1) `Exec $2`) + I Style $0Launch HandleWidth 0, NoTitle + I Module FvwmButtons $3 $0Launch # 例: Launcher RXVT xterm.xpm "rxvt -bg black" "-g +0+0" Launcher XV xv.xpm "xv" "-g +0+100" 他に、GNOME や KDE にはデスクトップアイコンアプリケーション gmc や kfm があり、それらもこの作業を機能的に行いますが、これらのアプリケー ションは FVWM でも動作するでしょう。