FvwmForm - fvwm に対する入力フォームモジュール |
FvwmForm は fvwm によって実行されるのでコマンドラインから の呼び出しでは動作しません。 |
FvwmForm は、ユーザの入力とそれに伴う動作を取得する仕組 み を提供します。これは、ユーザが入力でき、また fvwm にこうさ せたいという動作を選択することができるような一つのフォーム に よって実現されています。フォームは、次の 5 つの種類の部 品からなります: テキストラベル、単一行の文字列入力、相互排 他的な選択形式、複数選択可能な選択形式、動作ボタン。これら の部品は、柔軟性に富んだレイアウトで複数の行に配置で き ま す。 テキストラベルは、説明を行うためだけのもので、どんな入力も 受け付けません。文字列入力部分は、単一行の文字列を編集する の に使うことができます。 FvwmForm は Emacs スタイルのカー ソル移動キーを受け付けます。 選択形式は、複数の選択項目から成り、それ自身は論理的な存在 でしかなく、どんな表示機能も持ちません。各選択項目は、説明 のためのテキストラベルのついた押しボタン形式として表示され ます。それが選択された場合、排他的な選択の場合は真ん中に円 を表示し、複数選択可能な場合は、チェックマークを表示 し ま す。 動作ボタンは、それがクリックされて ON になると、 fvwm にコ マンドの組を送信します。 FvwmForm は、ユーザの入力を反映す るようなコマンド文字列内の変数の置き換えを行います。 |
FvwmForm は、fvwm と同じ設定ファイル (通常はユーザのホーム ディレクトリにある .fvwmrc) を使用します。複数の入力フォー ム用に FvwmForm を使うには、単に別名のシンボリックリンクを 生成すれば、それらは別のモジュールとして扱われます。 ま た は、FvwmForm をオプションパラメータつきで呼び出せば、その パラメータがその代わりの名前として使われ ま す ( 例 え ば ’Module FvwmForm QuitVerify’)。これなら、シンボリックリン クを作る必要はありません。 あなたの .fvwmrc ファイルの ModulePath の設定に、 FvwmForm のパスがちゃんと含まれるようにしてください。 FvwmForm がウィンドウを特定した状況 (window context) で呼 びだされた場合、例えばウィンドウメニューからなど、そ れ が fvwm に送信するすべてのコマンドもそのウィンドウを特定した 状況を持つことになります。 |
以下のオプションを .fvwmrc ファイルで設定できます。違う 名 前 の 別 の モ ジュー ル を 使 う ようにした場合は、文字列 "FvwmForm" の部分を変えなければいけないことに注意してく だ さい。 オプションの順番は意味を「持ちます」。一般に、色やフォント は最初に指定すべきで、行、テキストラベル、入力項目はそれら の論理的な順番に現れるべきです。 |
*FvwmFormGrabServer |
こ のオプションは、起動時に FvwmForm にマウスポインタ をつかまえさせます。この機能は、ログアウト認証のよ う なものに便利です。 |
*FvwmFormWarpPointer |
こ のオプションは、起動時に FvwmFrom にマウスポインタ をそのウィンドウの中に移動させます。これは、ユーザ の マウスの移動を保存します。 |
*FvwmFormPosition x y |
こ れは、スクリーン上の位置 (x, y) に FvwmForm ウィン ドウを出力させます。慣習に従い、負の x (y) 座標は、ス クリーンの右 (下) からの距離を意味します。 こ のオプションを省略した場合、 FvwmForm はスクリーン 中央に立ち上がります。 |
*FvwmFormBack color |
これは、FvwmForm ウィンドウの背景色を指定します。 |
*FvwmFormFore color |
これは、文字列の表示用の前景色を指定します。 |
*FvwmFormItemBack color |
これは、文字列入力ウィンドウとボタンの背景色を指定 し ます。 |
*FvwmFormItemFore color |
こ れは、入力文字列とボタンのマーカの前景色を指定しま す。 |
*FvwmFormFont font |
これは、文字列を表示するのに使用するフォントを指定 し ます。 |
*FvwmFormButtonFont font |
こ れは、動作ボタンにマークされる文字列用のフォントを 指定します。 |
*FvwmFormInputfont font |
これは、入力文字列のフォントを指定します。このフォ ン トは固定幅でなければいけません。 |
*FvwmFormLine justification |
改 行を行い、新しい行を始めます。一行には、それらのオ プションが後に続く、任意の個数の部品を含ませ ら れ ま す。 FvwmForm ウィンドウは任意の行数を持つことがで き、そのウィンドウの幅は、最も長い行のものに な り ま す。 行の中の部品の位置合わせは、 justification で指定し、 それは以下のうちの一つです: |
left |
部品はウィンドウの左に揃います。 |
||
right |
部品はウィンドウの右に揃います。 |
||
center |
部品はウィンドウの中央に置かれ ま す。 |
||
expand |
その行の中に部品が一つしかなけれ ば、その部品はウィンドウの中央に置かれ ま す が、 2 つ以上の部品があれば、それらは ウィンドウ幅全体を埋めるように広 が り ま す。 |
*FvwmFormText string |
これは、string を文字列として表示します。改行は、複数 の *FvwmFormLine と *FvwmFormText オプションの組で 実 現 しなければいけません。空白は、部品の間に追加の余白 を与えるのに使われます。 |
*FvwmFormInput name size init_string |
これは、文字列入力の部品に名前 name を指定 し、 size 文 字 幅 の 部 分 ウィ ン ド ウが編集用として使われ、 init_string が与えられれば、それは FvwmForm 起動時 か リ セット時の初期文字列として使われます。デフォルトの 初期文字列は "" です。 |
*FvwmFormSelection name type |
このオプションは、名前 name の選択形式部品を開始し ま す。 選 択 項目はこれに続く行で指定しなければいけませ ん。オプション type は次のうちの一つです: |
single |
この選択形式は相互排他的です。 |
||
multiple |
この選択形式は複数指定 可 能 で す。 |
*FvwmFormChoice name value on | off string |
こ れは、選択形式の選択項目を指定します。選択項目は、 一つの name と一つの value を持ちます。 string は、ラ ベルとして選択ボタンの右に表示されます。 FvwmForm の起動時かリセット時に、選択項目は指定された 初期状態 ("on" は選択されていることを意味する) である と 仮 定 さ れ ます。選択部品が相互排他的である場合、 FvwmForm は選択項目の初期状態の矛盾、すなわち 2 つ 選 択 されている状態、または全く選択されていない状態、を 検出「しない」ことに注意してください。しか し、 一 度 ユー ザが何かを選択すれば、 FvwmForm はその一つのみが 選択されたことを保証します。 |
*FvwmFormButton type string [key] |
このオプションは、動作ボタンを指定します。ボ タ ン は string をラベルとし、そのボタンが有効になったときに fvwm コマンド command の組を実行します。そのコマン ド は、 オプション *FvwmFormCommand を使って指定しなけれ ばいけません。 オプション key は、そのボタンを有効にするキー ボー ド ショー ト カットを指定します。それは、^@, ^A, ..., ^_ のような指定によるコントロール文字か、 F1, F2, ..., F35 のような指定によるファンクションキーのどちらかで す。テキスト入力部分でカーソルの移動に使われるよう な コ ントロールキーは、どんなボタンも有効にはできません が、タブ、リターン、改行キーはカーソルがテキスト入 力 部分にあるときでもボタンを有効にできます。 ボタンの振舞いは type によって決定されます: |
continue |
FvwmForm は、コマンドの送信後に 実行を再開復帰します。 |
||
restart |
FvwmForm は、コマンドの送信後 に すべての値を初期状態にリセットします。 |
||
quit |
FvwmForm は、コマンドの送信後に終了 します。 |
*FvwmFormCommand command |
このオプションは、現在のボタンに関連する Fvwm コマ ン ドを指定します。すべての *FvwmFormButton オプションよ り前にあるコマンドは、起動時に実行されます。これ は、 普通はユーザの注意を引くためのビープ音などです。 各 コ マ ン ド を fvwm に送る前に、 FvwmForm は以下の フォームの変数を認識し、それらに値を与えます。 |
$(name) |
name が文字列入力フィールドに 対 応 する場合、その結果はユーザの入力文字列 になります。 " や ’ や \ のような特別な文 字 の 前 にはバックスラッシュがつけられま す。 |
name が選択項目に対応する場合、その選択項 目 が 選 択 さ れ て い れ ば、その結果は (*FvwmFromChoice で指定された) 選択項目の 値 になります。その選択項目が選択されてい なければ、その結果は空文字列となります。 name が選択部品に対応している場合、その結 果 は、その選択項目すべての選択された値の リストになります。 |
$(name?string) |
name が文字列入力フィール ド で、その値が空文字列でない場合、その結 果は、再帰的な変数の置き換えが適用され た string になります。入力文字列が空の場合、 その結果は空です。 |
もし name が選択項目で、それが選択され て い る場合、その結果は、再帰的な変数の置き 換えが適用された string になります。そ の 選 択項目が選択されていない場合、結果は空 です。 |
$(name!string) |
条件を逆に取る以外は、 上 と全く同じです。 |
以下の例は、mwm のログアウト確認のまねをします。 *QuitVerifyGrabServer |
*QuitVerifyFont |
||
*helvetica*m*r*n*14* |
||
*QuitVerifyButtonFont |
||
*helvetica*m*o*n*14* |
||
*QuitVerifyFore |
||
Black |
||
*QuitVerifyBack |
||
Light Gray |
||
*QuitVerifyItemFore |
||
Wheat |
||
*QuitVerifyItemBack |
||
Gray50 |
# begin items |
*QuitVerifyCommand |
||
Beep |
||
*QuitVerifyLine |
||
center |
||
*QuitVerifyText |
||
"本当にログアウトしてもよろしいで すか ?" |
||
*QuitVerifyLine |
||
expand |
||
*QuitVerifyButton |
||
quit |
||
"ログアウト" |
||
^M |
||
*QuitVerifyCommand |
||
Quit |
||
*QuitVerifyButton |
||
quit |
||
"キャンセル" |
||
^[ |
||
*QuitVerifyCommand |
||
Nop |
# Fvwm window style |
以下の例は、ユーザにリモートホスト名と、必要ならばそのホス ト 上でのユーザ名を入力させ、リモートホストの xterm のウィ ンドウを開きます。 *RloginWarpPointer |
*RloginFont |
||
*helvetica*m*r*n*14* |
||
*RloginButtonFont |
||
*helvetica*m*o*n*14* |
||
*RloginInputFont |
||
*cour*m*r*n*14* |
||
*RloginFore |
||
Black |
||
*RloginBack |
||
Light Gray |
||
*RloginItemFore |
||
Wheat |
||
*RloginItemBack |
||
Gray50 |
# begin items |
*RloginLine |
||
center |
||
*RloginText |
||
"リモートホストへのログイン" |
||
*RloginLine |
||
center |
||
*RloginText |
||
"ホスト名:" |
||
*RloginInput |
||
HostName |
||
20 |
||
"" |
||
*RloginLine |
||
center |
||
*RloginSelection |
||
UserSel |
||
single |
||
*RloginChoice |
||
Default |
||
Default |
||
on |
||
"同じ ユー ザ 名" |
||
*RloginChoice |
||
Custom |
||
Custom |
||
off |
||
"ユーザ名:" |
||
*RloginInput |
||
UserName |
||
10 |
||
"" |
||
*RloginLine |
||
expand |
||
*RloginButton |
||
quit |
||
"ログイン" |
||
^M |
||
*RloginCommand |
||
Exec exec rsh $(Custom?-l $(UserName)) $(HostName) xterm -T xterm@$(HostName) -display $HOSTDISPLAY & |
||
*RloginButton |
||
restart |
||
"クリア" |
||
*RloginButton |
||
quit |
||
"キャンセル" |
||
^[ |
||
*RloginCommand |
||
Nop |
以 下 の 例は、xwd, xwud, xpr へのフロントエンドを提供しま す。 |
*CaptureFont |
||
*helvetica*m*r*n*14* |
||
*CaptureButtonFont |
||
*helvetica*m*o*n*14* |
||
*CaptureInputFont |
||
*cour*m*r*n*14* |
||
*CaptureLine |
||
center |
||
*CaptureText |
||
"ウィンドウのキャプチャ" |
||
*CaptureLine |
||
left |
||
*CaptureText |
||
"ファイル名: " |
||
*CaptureInput |
||
file |
||
25 |
||
"/tmp/Capture" |
||
*CaptureLine |
||
left |
||
*CaptureText |
||
"プリンタ名: " |
||
*CaptureInput |
||
printer |
||
20 |
||
"ps1" |
||
*CaptureLine |
||
expand |
||
*CaptureSelection |
||
PtrType |
||
single |
||
*CaptureChoice |
||
PS |
||
ps |
||
on |
||
"PostScript" |
||
*CaptureChoice |
||
Ljet |
||
ljet |
||
off |
||
"HP LaserJet" |
||
*CaptureLine |
||
left |
||
*CaptureText |
||
"xwd へのオプション:" |
||
*CaptureLine |
||
expand |
||
*CaptureSelection |
||
Options |
||
multiple |
||
*CaptureChoice |
||
Brd |
||
-nobdrs |
||
off |
||
"枠なし" |
||
*CaptureChoice |
||
Frm |
||
-frame |
||
on |
||
"枠あり" |
||
*CaptureChoice |
||
XYZ |
||
-xy |
||
off |
||
"XY フォーマット" |
||
*CaptureLine |
||
expand |
||
*CaptureButton |
||
continue |
||
"キャプチャ" |
||
^M |
||
*CaptureCommand |
||
Exec exec xwd -out $(file) $(Options) & |
||
*CaptureButton |
||
continue |
||
"プレビュー" |
||
*CaptureCommand |
||
Exec exec xwud -in $(file) & |
||
*CaptureButton |
||
continue |
||
"印刷" |
||
*CaptureCommand |
||
Exec xpr -device $(PtrType) $(file) | lpr -P $(printer) & |
||
*CaptureButton |
||
quit |
||
"終了" |
項目の数に関する制限が、プログラム内部であらかじめ定義され ています。 Report bugs to [email protected]. |
FvwmForm is original work of Thomas Zuwei Feng. Copyright Feb 1995, Thomas Zuwei Feng. No guarantees or warantees are provided or implied in any way whatsoever. Use this program at your own risk. Permission to use, modify, and redistribute this program is hereby given, provided that this copyright is kept intact. |
FvwmForm は、Thomas Zuwei Feng のオリジナルな仕事によるも のです。 1995 年の Thomas Zuwei Feng による著作物です。いかなる保険 も、いかなる保証も、全くどんな方法でも与えられませんし暗示 もしません。このプログラムはあなた自身の責任で使用してくだ さい。このプログラムは、この著作権がこのまま保持されている 元で、これによりその使用、改変、再配布が許可されます。 |