### Copyright (C) 1995 Jeppe Buk (buk@imada.ou.dk) ### This program is free software; you can redistribute it and/or modify ### it under the terms of the GNU General Public License as published by ### the Free Software Foundation; either version 2 of the License, or ### (at your option) any later version. ### ### This program is distributed in the hope that it will be useful, ### but WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### ### You should have received a copy of the GNU General Public License ### along with this program; if not, write to the Free Software ### Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ### ### [Thu Jun 5 1997] ### Some messages (label, help,..) were Japanized by MOTOYAMA,mashio ### . If you want to use original messages try this URL. ### Dotfile Generator's Page proc functions {} { # メニューとバインド / 関数定義 Desc "メニューやキー・バインディングに使う関数を定義します" ShortDesc "関数定義" Entry functionName -text "新規関数名" -textafter "\t" \ -help "新たに定義する関数名を入力します" Menu builtinCall -text "組み込み関数" -entryhelp { Undefined "コマンドではない。もし選択されてもセーブされない" \ Beep "ビープを鳴らす" \ CirculateDown "次のウインドウの後ろへ順番に下げていく" \ CirculateUp "直前のウインドウの前へ順番に上げていく" \ Close "カレント・ウインドウを閉じる" \ CursorMove "カーソル移動" \ Delete "カレント・ウインドウを消す" \ Desk "デスクトップ変更" \ Destroy "カレント・ウインドウを確実に消す(但し一般的でない)" \ Exec "外部コマンド実行" \ Focus "フォーカスをカレント・ウインドウへ" \ Function "定義済み関数の呼び出し" \ GotoPage "他のページへ移る" \ Iconify "カレント・ウインドウのアイコン化と解除" \ Lower "カレント・ウインドウを最下へ" \ Maximize "カレント・ウインドウ最大化と解除" \ Module "外部 FVWM モジュール起動" \ Move "カレント・ウインドウ移動" \ Nop "何もしない - メニューのセパレータに使用 -" \ Popup "定義済みポップアップメニューの呼び出し" \ Quit "FVWM 終了 (一般に X も同様に終了する)" \ Raise "カレント・ウインドウを最全面へ" \ RaiseLower "カレント・ウインドウのレイズ、ロウアを交互に行なう" \ Refresh "スクリーン上の全てのウインドウを再描画" \ Resize "カレント・ウインドウのリサイズ" \ Restart "FVWM 再起動(もしくは他のマネージャへ変更)" \ Stick "カレント・ウインドウの張り付かせと解除" \ Scroll "ビューポートのスクロール" \ Title "何もしない - メニューのタイトルで使用 -" \ TogglePage "エッジスクロールの有効化と無効化" \ Wait "ウインドウが前面に出るのに間を持たせる" \ Warp "特定のウインドウへワープ" \ WindowsDesk "新しいデスクトップへ選択したウインドウを移す" \ WindowList "全てのウインドウのリストをポップアップする" } \ -help "このメニューから呼び出す組み込み関数を選択します" Menu events -text "イベント" -entryhelp { Immediate "コマンドを直ちに実行" \ Motion "マウスの移動によりコマンド実行" \ Click "マウスのクリックによりコマンド実行" \ DoubleClick "マウスのダブルクリックによりコマンド実行" } \ -help "コマンドを実行させるイベントを選択します" Entry arguments -text "引数" \ -help "付け加えるべき引数を入力します。但し、その入力内容については"\ "マニュアル等を参照し、貴方の責任の元で行って下さい" ExtEntry functionEntry -entries {builtinCall events arguments} ExtEntry function -lines 1 -entries {functionName functionEntry} \ -orient top Save { forevery function { if {$functionName != {}} { print "Function \"$functionName\"" forevery functionEntry { if {$builtinCall(name) != "Undefined"} { print "\t$builtinCall(name)\t\"$events(name)\"\t$arguments" } } print "EndFunction" } } } } proc popupDefinitions {} { # メニューとバインド / ポップアップメニュー定義 Desc "ポップアップメニュー" ShortDesc "ポップアップメニュー" Entry popupName -text "ポップアップ名" -textafter "\t"\ -help "キーやマウスにバインドする、または別のポップアップメニュー"\ "から呼び出す関数名になります" Menu builtinCall -text "組み込み関数" -entryhelp { Undefined "コマンドではない。もし選択されてもセーブされない" \ Beep "ビープを鳴らす" \ CirculateDown "次のウインドウの後ろへ順番に下げていく" \ CirculateUp "直前のウインドウの前へ順番に上げていく" \ Close "カレント・ウインドウを閉じる" \ CursorMove "カーソル移動" \ Delete "カレント・ウインドウを消す" \ Desk "デスクトップ変更" \ Destroy "カレント・ウインドウを確実に消す(但し一般的でない)" \ Exec "外部コマンド実行" \ Focus "フォーカスをカレント・ウインドウへ" \ Function "定義済み関数の呼び出し" \ GotoPage "他のページへ移る" \ Iconify "カレント・ウインドウのアイコン化と解除" \ Lower "カレント・ウインドウを最下へ" \ Maximize "カレント・ウインドウ最大化と解除" \ Module "外部 FVWM モジュール起動" \ Move "カレント・ウインドウ移動" \ Nop "何もしない - メニューのセパレータに使用 -" \ Popup "定義済みポップアップメニューの呼び出し" \ Quit "FVWM 終了 (一般に X も同様に終了する)" \ Raise "カレント・ウインドウを最全面へ" \ RaiseLower "カレント・ウインドウのレイズ、ロウアを交互に行なう" \ Refresh "スクリーン上の全てのウインドウを再描画" \ Resize "カレント・ウインドウのリサイズ" \ Restart "FVWM 再起動(もしくは他のマネージャへ変更)" \ Stick "カレント・ウインドウの張り付かせと解除" \ Scroll "ビューポートのスクロール" \ Title "何もしない - メニューのタイトルで使用 -" \ TogglePage "エッジスクロールの有効化と無効化" \ Wait "ウインドウが前面に出るのに間を持たせる" \ Warp "特定のウインドウへワープ" \ WindowsDesk "新しいデスクトップへ選択したウインドウを移す" \ WindowList "全てのウインドウのリストをポップアップする" } \ -help "このメニューから呼び出す関数を選択します" Entry name -text "名前" \ -help "メニューに表示する名前を入力します" Entry arguments -text "引数" \ -help "付け加えるべき引数を入力します。但し、その入力内容については"\ "マニュアル等を参照し、貴方の責任の元で行って下さい" ExtEntry popupEntry -entries {builtinCall name arguments} ExtEntry popup -lines 1 -entries {popupName popupEntry} \ -orient top Save { forevery popup { if {$popupName != {}} { print "Popup \"$popupName\"" forevery popupEntry { if {$builtinCall(name) != "Undefined"} { print "\t$builtinCall(name)\t\"$name\"\t$arguments" } } print "EndPopup" } } } } proc keyBindings {} { # メニューとバインド / キー・バインディング Desc "キー・バインディング" ShortDesc "キー・バインディング" Entry keysymEntry -text "キーシム" -width 3 \ -help "キーシムがリストされていなければ、適切なキーシムを入力します" ListBox keysymBox -entries { F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10} \ -width 8 -selectmode single \ -help "キーシムをリストから選択します。もしリストに希望するシンボル"\ "が無ければ、それを入力します" Frame keysym -entries {keysymEntry keysymBox} -orient top ListBox keyContext -text "コンテキスト" -selectmode multiple -entries { Any Root Window "Title bar" Sides Frame Icon "0 button" "1 button"\ "2 button" "3 button" "4 button" "5 button" "6 button" "7 button" \ "8 button" "9 button"} -width 8 \ -help "何処でこのキーを押したときの動作かを選択します" ListBox keyModifier -text "モディファイア" -selectmode multiple -entries { None Control Shift Meta 1mod 2mod 3mod 4mod 5mod} -width 8 \ -help "どの装飾キーと組み合わせて使うか選択します" Label funcLabel -text "関数" \ -help "どの関数をバインドするか選択します" Menu builtinCall -entryhelp { Undefined "コマンドではない。もし選択されてもセーブされない" \ Beep "ビープを鳴らす" \ CirculateDown "次のウインドウの後ろへ順番に下げていく" \ CirculateUp "直前のウインドウの前へ順番に上げていく" \ Close "カレントウインドウを閉じる" \ CursorMove "カーソル移動" \ Delete "カレント・ウインドウを消す" \ Desk "デスクトップ変更" \ Destroy "カレント・ウインドウを確実に消す(但し一般的でない)" \ Exec "外部コマンド実行" \ Focus "フォーカスをカレント・ウインドウへ" \ Function "定義済み関数の呼び出し" \ GotoPage "他のページへ移る" \ Iconify "カレント・ウインドウのアイコン化と解除" \ Lower "カレント・ウインドウを最下へ" \ Maximize "カレント・ウインドウ最大化と解除" \ Module "外部 FVWM モジュール起動" \ Move "カレント・ウインドウ移動" \ Nop "何もしない - メニューのセパレータに使用 -" \ Popup "定義済みポップアップメニューの呼び出し" \ Quit "FVWM 終了 (一般に X も同様に終了する)" \ Raise "カレント・ウインドウを最全面へ" \ RaiseLower "カレント・ウインドウのレイズ、ロウアを交互に行なう" \ Refresh "スクリーン上の全てのウインドウを再描画" \ Resize "カレント・ウインドウのリサイズ" \ Restart "FVWM 再起動(もしくは他のマネージャへ変更)" \ Stick "カレント・ウインドウの張り付かせと解除" \ Scroll "ビューポートのスクロール" \ Title "何もしない - メニューのタイトルで使用 -" \ TogglePage "エッジスクロールの有効化と無効化" \ Wait "ウインドウが前面に出るのに間を持たせる" \ Warp "特定のウインドウへワープ" \ WindowsDesk "新しいデスクトップへ選択したウインドウを移す" \ WindowList "全てのウインドウのリストをポップアップする" } \ -help "このメニューから呼び出す組み込み関数を選択します" Label argLabel -text "引数" \ -help "付け加えるべき引数を入力します。但し、その入力内容については"\ "マニュアル等を参照し、貴方の責任の元で行って下さい" Entry keyArgs \ -help "付け加えるべき引数を入力します。但し、その入力内容については"\ "マニュアル等を参照し、貴方の責任の元で行って下さい" Frame called -entries {funcLabel builtinCall argLabel keyArgs} -orient top Frame keyFrame -entries {keysym keyContext keyModifier called} ExtEntry keys -lines 1 -entries {keyFrame} -orient top Line keyDelimiter Change { if {$changeElm == "keysymEntry"} { if {$keysymEntry != {}} { Disable keysymBox } else { Enable keysymBox } } } Save { forevery keys { if {$keysymEntry != {}} { set keysym $keysymEntry } else { set keysym $keysymBox(name) } if {$keysym!={} && $keyContext(name)!={} && $keyModifier(name)!={}} { set context [makeContextOrModifier $keyContext(name)] set modifier [makeContextOrModifier $keyModifier(name)] print "Key $keysym $context $modifier $builtinCall(name) $keyArgs" } } } } proc mouseBindings {} { # メニューとバインド / マウス・バインディング Desc "マウス・バインディング" ShortDesc "マウス・バインディング" Label buttonLabel -text "ボタン" \ -help "このメニューをマウスのどのボタンにバインドするか選択します" Menu menuButton -entries {Any 1 2 3} \ -help "このメニューをマウスのどのボタンにバインドするか選択します" Frame mouseButton -entries {buttonLabel menuButton} -orient top ListBox mouseContext -text "コンテキスト" -selectmode multiple -entries { Any Root Window "Title bar" Sides Frame Icon "0 button" "1 button"\ "2 button" "3 button" "4 button" "5 button" "6 button" "7 button" \ "8 button" "9 button"} -width 8 \ -help "マウスが何処にあるときの動作かを選択します" ListBox mouseModifier -text "モディファイア" -selectmode multiple -entries { None Control Shift Meta 1mod 2mod 3mod 4mod 5mod} -width 8 \ -help "どの装飾キーと組み合わせて使うか選択します" Label mouseFuncLabel -text "関数" \ -help "どの関数をバインドするか選択します" Menu mouseBuiltin -entryhelp { Beep "ビープを鳴らす" \ CirculateDown "次のウインドウの後ろへ順番に下げていく" \ CirculateUp "直前のウインドウの前へ順番に上げていく" \ Close "カレント・ウインドウを閉じる" \ CursorMove "カーソル移動" \ Delete "カレント・ウインドウを消す" \ Desk "デスクトップ変更" \ Destroy "カレント・ウインドウを確実に消す(但し一般的でない)" \ Exec "外部コマンド実行" \ Focus "フォーカスをカレント・ウインドウへ" \ Function "定義済み関数の呼び出し" \ GotoPage "他のページへ移る" \ Iconify "カレント・ウインドウのアイコン化と解除" \ Lower "カレント・ウインドウを最下へ" \ Maximize "カレント・ウインドウ最大化と解除" \ Module "外部 FVWM モジュール起動" \ Move "カレント・ウインドウ移動" \ Nop "何もしない - メニューのセパレータに使用 -" \ Popup "定義済みポップアップメニューの呼び出し" \ Quit "FVWM 終了 (一般に X も同様に終了する)" \ Raise "カレント・ウインドウを最全面へ" \ RaiseLower "カレント・ウインドウのレイズ、ロウアを交互に行なう" \ Refresh "スクリーン上の全てのウインドウを再描画" \ Resize "カレント・ウインドウのリサイズ" \ Restart "FVWM 再起動(もしくは他のマネージャへ変更)" \ Stick "カレント・ウインドウの張り付かせと解除" \ Scroll "ビューポートのスクロール" \ Title "何もしない - メニューのタイトルで使用 -" \ TogglePage "エッジスクロールの有効化と無効化" \ Wait "ウインドウが前面に出るのに間を持たせる" \ Warp "特定のウインドウへワープ" \ WindowsDesk "新しいデスクトップへ選択したウインドウを移す" \ WindowList "全てのウインドウのリストをポップアップする" } \ -help "このメニューから呼び出す組み込み関数を選択します" Label mouseArgLabel -text "引数" \ -help "付け加えるべき引数を入力します。但し、その入力内容については"\ "マニュアル等を参照し、貴方の責任の元で行って下さい" Entry mouseArgs Frame mouseCalled -entries {mouseFuncLabel mouseBuiltin mouseArgLabel \ mouseArgs} -orient top Frame mouseEntry -entries {mouseButton mouseContext mouseModifier mouseCalled} ExtEntry mouse -lines 1 -entries {mouseEntry} -orient top Save { forevery mouse { if {$mouseContext(name)!={} && $mouseModifier(name)!={}} { set context [makeContextOrModifier $mouseContext(name)] set modifier [makeContextOrModifier $mouseModifier(name)] if {$menuButton(name) == "Any"} { set button 0 } else { set button $menuButton(name) } print "Mouse $button $context $modifier $mouseBuiltin(name) $mouseArgs" } } } }