FvwmCommand − FVWM コマンド外部インターフェース |
Module FvwmCommandS [name] として、スクリプトファイルやシェルから以下のようにします: FvwmCommand [-mrvw] [-i level] [-f name] [command...] |
FvwmCommand は、fvwm の処理を監視したり、シェルコマンドラ インやスクリプトから fvwm コマンドを発行することを可能にし ま す。 FvwmCommand は、各引数を fvwm コマンドとしてとりま す。空白を含むコマンドを送信するには引用符を利用できます。 FvwmCommand.pm は、fvmw の設定ファイルと同等の書式を利用す る perl スクリプト用のものです。 use FvwmCommand; if( $ARGV[0] eq ’home’ ) { Desk 0,0; GotoPage ’1 1’; }elsif( $ARGV[0] eq ’jump’ ) { } Fvwm のコマンド引数を分離するのにコンマを使い、引数をま と めるのに引用符を利用できます。コマンドは小文字と大文字は区 別します。 FvwmCommand.sh は、B shell 系のシェル用の関数群です。こ れ は、シェルスクリプトソース内で以下のように利用します: . FvwmCommand.sh DesktopSize 5x5 FvwmCommand.sh、FvwmCommand.pl 内のコマンドは、小文字と大 文字は区別されます。 |
FvwmCommandS は、.fvwm2rc ファ イ ル か ま た は メ ニュー、FvwmConsole のいずれかから、fvwm により一度だけ呼 び出さなければいけません。それにより、FvwmCommand をシェル やスクリプトから fvwm コマンドを実行できるようになります。 |
-f <name> |
これは、FvwmCommandS と通信する、別の fifo の組を指定 し ます。デフォルトの fifo は ~/.FvwmCommand と設定さ れていて、 ~/.FvwmCommandC がコマンドを送信するのに、 ~/.FvwmCommandM が メッセージを受信するのに使われま す。 FvwmCommand の呼び出しの前に、同じ <name> を最初 の 引数として FvwmCommandS が呼び出されていなければい けません。このオプションは、他の接続を対話的に利用 し 続 けていながらある専用の接続をバックグラウンドジョブ として動作させる必要がある場合に便利でしょう。 |
-i <level> |
これは、FvwmCommand が出力する情報のレベルを指定し ま す。 |
0 |
エラーメッセージのみ出力します。 ´windowid´ そ れ自身が有効なコマンドなので、以下のような場 合、 Fvwm はどんなエラーメッセージも返さないことに注意 してください。 |
FvwmCommand -i 0 ’windowid abcd move’ |
1 |
エラーとウィンドウ設定情報を出力します。これが デフォルトです。 |
FvwmCommand FvwmIconMan 以下の情報が表示されます。 0x03400003 window FvwmIconMan 0x03400003 icon FvwmIconMan 0x03400003 class FvwmModule 0x03400003 resource FvwmIconMan 最初の列はウィンドウ ID 番号で、これは ’windowid’ コマンドで使用できます。第 2 列目は情報の型を、最 後 の列は、情報の内容を示しています。情報が何も返 されなかった場合、-w <time> オプションを追加し て く だ さ い。これは、負荷の重いシステムでは必要で しょう。 |
2 |
上記、および静的なウィンドウ情報を出力します。 |
FvwmCommand -i2 ’FvwmIconBox’ 以下がその出力です。 0x02400002 frame x 0, y 0, width 410, height 116 0x02400002 desktop 0 0x02400002 StartIconic no 0x02400002 OnTop no 0x02400002 Sticky yes 0x02400002 WindowListSkip yes 0x02400002 SuppressIcon no 0x02400002 NoiconTitle no 0x02400002 Lenience no 0x02400002 StickyIcon no 0x02400002 CirculateSkipIcon no 0x02400002 CirculateSkip no 0x02400002 ClickToFocus no 0x02400002 SloppyFocus no 0x02400002 SkipMapping no 0x02400002 Handles no 0x02400002 Title no 0x02400002 Mapped no 0x02400002 Iconified no 0x02400002 Transient no 0x02400002 Raised no 0x02400002 Visible no 0x02400002 IconOurs no 0x02400002 PixmapOurs no 0x02400002 ShapedIcon no 0x02400002 Maximized no 0x02400002 WmTakeFocus no 0x02400002 WmDeleteWindow yes 0x02400002 IconMoved no 0x02400002 IconUnmapped no 0x02400002 MapPending no 0x02400002 HintOverride yes 0x02400002 MWMButtons no 0x02400002 MWMBorders no 0x02400002 title height 0 0x02400002 border width 4 0x02400002 base size width 0, height 0 0x02400002 size increment width 72, height 66 0x02400002 min size width 114, height 108 0x02400002 max size width 32767, height 32767 0x02400002 gravity NorthWest 0x02400002 pixel text 0xffff, back 0x7bef 0x02400002 window FvwmIconBox 0x02400002 icon FvwmIconBox 0x02400002 class FvwmIconBox 0x02400002 resource FvwmIconBox |
3 |
すべての情報が有効となります。 |
FvwmCommand -i3 ’Killmodule FvwmIcon*’ こ れは、どのウィンドウが閉じられたかをリポートし ます。 0x03400003 destroy 0x02400002 destroy |
-m |
これは、fvwm ウィンドウの情報処理を監視し ま す。 FvwmCommand は、終了せずに受けとった情報を連続的に出 力します。これは、ウィンドウを動的に制御するため に、 よく -i3 オプションとともにバックグラウンドジョブで使 われます。 |
FvwmCommand -mi3 | grep ’iconify’ これは、ウィンドウがアイコン化またはその逆がいつ行 わ れたかをリポートします。 注 意: FvwmCommand は、標準出力をバッファリングしませ んが、 grep や sed などの多くのユーティリティはブロッ ク バッ ファ を 使 用 し ま す。 よって、次の例の出力 は、FvwmCommand が終了するか、または grep の標準出 力 バッファが一杯になるまで表示されません。 FvwmCommand -mi3 | grep ’ map’ | sed ’s/\(0x[0-9a-f]*\).*/windowid \1 move 0 0/’ 代わりに、perl のようなバッファリング制御を行うツール を使ってください。以下のレイは、新しいウィンドウが 開 いたときにアイコン化します。 Fvwm -mi3 | perl -ne ’ $|=1; print "windowid $1 iconify\n" if /^(0x\S+) add/; ´ > ~/.FvwmCommandC |
-r |
これは、終了する前に応答を待ちます。 FvwmCommand は、一定時間の間情報がない、またはエラーが返った場 合 に 終了します。このオプションは、この時間制限を上書き し、少なくとも一つのメッセージが返ってくるまで待ち ま す。 初期メッセージ後、時間制限まで他のメッセージを待 ちます。このオプションは、システムの負荷が大 き す ぎ て、 システムがいつ反応し、かつそのコマンドが何らかの メッセージを返してくるかが予想できない場合に 有 用 で す。 |
||
-v |
これは、FvwmCommand のバージョン番号を返して終了 します。 |
-w <time> |
これは、<time> ミ リ 秒 メッ セー ジ を 待 ち ま す。 FvwmCommand は、一定時間の間情報がない、またはエラー が返った場合に終了します。デフォルトは 500 ミリ秒で、 このオプションは、このデフォルトの値を上書きします。 FvwmCommand -w 0 ’killme’ |
以 下 の エ ラー メッ セージが表示された場合は、ほとんどが FvwmCommandS が動作していないことを意味しています。 FvwmCommand error in opening message --No such file or directory-- |
fvwm2 |
Toshi Isogai [email protected] |