FvwmSaveDesk

名前
形式
説明
fvwmm4 モジュールを使った設定
FvwmCpp モジュールを使った設定
呼び出し
作者

名前

FvwmSaveDesk も う 一 つの FVWM デスクトップ配置の保存モ ジュール

形式

FvwmSaveDesk は fvwm によって実行されるので、コマンドラ イ ンからの呼び出しでは動作しません。

説明

両 方の版のものをどちらも実行できるように Fvwm2 をコンパイ ルできます。よって、それぞれのファイル名は違っていなければ い け ません。私はこのオプションで Fvwm をコンパイルしまし た。 2 つのファイルは、この説明の中では以下であるとします: .fvwm2rc (.fvwmrc) および .fvwm2desk (.fvwmdesk)

このモジュールが呼び出されると、これは現在のデスクトップの レイアウトを、あなたのホームディ レ ク ト リ の ファ イ ル .fvwm2desk の 中の関数 InitFunction に対する追加行定義に よって保存します。他の文書で説明されている通り、この関数は fvwm2 の起動時に呼び出されます。あなたは、このファイルを、 .fvwm2rc の中で、関数 InitFunction の定義の後で読み込む 必 要 がありますが、モジュール FvwmM4 または FvwmCpp を使うこ とでもこれを行うことができます。

あなたが使用するアプリケーションが、 X ウィンドウシステ ム への確実なヒント情報を提供している必要があります。例えば、 EmacsNetscape はそうしませんので、FvwmSaveDesk はそ れ らからなんら情報を取得できません。

さ らに、FvwmSaveDesk は、アプリケーションがコマンドライン オプションを大域的に受け付けると仮定しますが、実際は違って いるかもしれません。

fvwmm4 モジュールを使った設定

M4 マクロプロセッサは、そのマクロが単語の中に含まれていて も置き換えを行います。そのため、インクルードしたり定義した 定義済みマクロが問題を引き起こすことがあります。これを避け るために、GNU M4 にはすべての組み込みマクロに ’m4_’ という 接頭辞を付けるためのオプションがあり、 FvwmM4 をオプション -m4-prefix つきで呼び出すと、 m4 にオプション -P がつけ ら れます。私は個人的に FvwmM4 モジュールをこの方法で使ってい ます。

fvwm2 -f "FvwmM4 -m4-prefix -m4opt -I$HOME $HOME/.fvwm2rc"

これは、単に以下の行を .fvwm2rc の最終行に追加します:

m4_include(‘.fvwm2desk’)

FvwmCpp モジュールを使った設定

FvwmCpp を使う場合、.fvwm2rc にコメントを入れている場合、 プリプロセッサ命令がコメント記号 ’#’ で始まるために、未 知 の命令に関して文句を言ってくるような問題が起こるかもしれま せん。

fvwm2 -f "FvwmCpp -C-I$HOME $HOME/.fvwm2rc"

これは、単に以下の行を .fvwm2rc の最終行に追加します:

#include ".fvwm2desk"

呼び出し

FvwmSaveDesk は、ファイル .fvwm2rc 内にそれをメニューに 追 加したり、マウスボタンやキーストロークに割り当てることで呼 び出すことができます。 fvwm2 は、FvwmSaveDesk の置き場所を 探すときに設定オプション ModulePath で指定されているディレ クトリを検索します。

メニューにそれを入れるには、以下の行

+

"Save Desktop" Module FvwmSaveDesk

をメニューの定義に追加します。マウスボタンに割り当てるのは 多分それほど便利ではありませんが、以下のような行を追加する ことでそれは行えます:

Mouse 3

R

CS

Module FvwmSaveDesk

この場合、ルートウィンドウ上でシフトキーとコントロールキー を押したままマウス右ボタンが押された場合に FvwmSaveDesk が 呼び出されます。

FvwmSaveDesk をファンクションキー F10 に割り当てるには、例 えば以下の行を追加してください:

Key

F10

A

Module FvwmSaveDesk

私 は個人的に FvwmButtons モジュールのボタンとして追加して います:

*FvwmButtons SaveDesc desk.xpm Module FvwmSaveDesk

作者

Carsten Paeth ([email protected])