FvwmCommand

名前
形式
説明
呼び出し
オプション
エラー
参照
作者

名前

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 isogai@enshin.com