################################################################
#  Vine Linux 日本語システムFvwm2設定サンプル   2009年

# 画面端部抵抗 抵抗時間(ミリ秒) 端部幅しきい値(ピクセル数)
Style * EdgeMoveDelay 500
Style * EdgeMoveResistance 10

# 仮想画面間スクロール幅 横(パーセント) 縦(パーセント)
EdgeScroll 100 100
# シングル/ダブルクリック判別しきい値(ミリ秒)
ClickTime 750
# 仮想画面サイズ 幅x高さ (実画面に対して)
DeskTopSize 2x2
# メニュー配色スタイル
MenuStyle * fvwm, Foreground rgb:aa/dd/dd, Background rgb:00/66/66, Greyed grey40
# アイコン／画像パス
ImagePath  $HOME/.fvwm/icons/:/usr/share/icons/mini/:/usr/share/pixmaps/

# メニューフォント
MenuStyle * Font "xft:vl-gothic:bold:size=10"

# カラーマップのフォーカス方法
ColormapFocus FollowsMouse

# デフォルトのスタイル
Style *           Font  "xft:vl-gothic:size=10"
Style *           IconFont  "xft:vl-gothic:size=8"
Style *           HilightFore white, HilightBack rgb:33/99/99
Style *           BorderWidth 3, HandleWidth 3
Style *           Icon unknown1.xpm, Color lightgrey/dimgrey
Style *           MWMFunctions, MWMDecor, HintOverride
Style *           DecorateTransient, NoPPosition
Style *           IconBox 0 -10 -280 -1
Style *           ClickToFocus, CirculateSkipIcon
Style *           TileCascadePlacement
Style *           WindowShadeShrinks, WindowShadeSteps 20, WindowShadeLazy
#
# タイトルバーのスタイル
#@@@TitleStyle Center
#     グラデーション: グラデーションの種類 段階数 開始色 終了色 立体感
#         DGradient, BGradient, SGradient, CGradient, RGradient, YGradient
#         1 〜 128
TitleStyle ActiveUP CGradient 128 #00eeff #002233 -- Raised
TitleStyle InActiveUp CGradient 128 #777777 #333333 -- Raised
# タイトルバー・ボタンのスタイル (各ボタンの作動定義は、マウス・バインドの項で)
#     左から順に
AddButtonStyle  1  MiniIcon
#     右から順に
AddButtonStyle  2 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
AddButtonStyle  4 10 25x40@1 20x40@1 20x80@1 60x80@1 60x65@1 35x65@0 85x65@0 85x10@0 30x10@1 30x65@1
AddButtonStyle  6 10 40x55@1 40x80@0 15x80@0 15x55@1 40x55@1 30x55@1 30x30@1 70x30@1 70x70@1 45x70@1

# Fvwm モジュールのスタイル
Style Fvwm*       NoTitle,  Sticky, WindowListSkip
Style Fvwm*       BorderWidth 2, CirculateSkipIcon, CirculateSkip
Style FvwmPager   StaysOnTop
Style FvwmBanner  StaysOnTop
Style FvwmButtons Icon toolbox.xpm, ClickToFocus

# 標準使用ターミナルのスタイル
Style xterm       Icon /usr/share/icons/mini/mini-x.xpm, ClickToFocus, IconBox -70 1 -1 -140

# X-Window プログラムのスタイル
Style xmag        Icon mag_glass.xpm, ClickToFocus
Style xgraph      Icon graphs.xpm, ClickToFocus

# キーバインド
#   書式: Key [(window)] Keyname Context Modifiers Function
#         Key [(window)] キー名 押下場所 修飾キー 実行機能
#   例: 
#     Key B  A SC  Exec exec firefox
#       → 任意場所での 'Shift+Ctrl+B' で外部コマンド 'exec firefox' を実行
#     Key F1 A N   Popup MenuFvwmRoot
#       → 任意場所での 'F1' でルート(メイン)メニューをポップアップ
#
#   windw: ウィンドウ名
#       操作対象ウィンドウを限定する場合に指定。
#   押下場所: Context
#       R: (R)oot Window
#       W: Application(W)indoe
#       F: (F)rame Corners
#       S: Frame (S)ides
#       T: (T)itle Bar
#       I: (I)con
#       A: (A)ny
#   修飾キー: Modifiers
#       N: (N)o modifiers
#       C: (C)ontrol
#       S: (S)hift
#       M: (M)eta = Alt
#       L: Caps(L)ock
#       A: (A)ny modifiers
#   キー名   押下場所  修飾キー  作動
Key Next         A       SCM     Next [*] Focus
Key Prior        A       SCM     Prev [*] Focus
#   仮想画面スクロール: Scroll [-]width(%) [-]height(%)
#                       % = -100 〜 0 〜 100
#       1/4 ページ・スクロール
Key Right        A       SC      Scroll 25 0
Key Left         A       SC      Scroll -25 0
Key Down         A       SC      Scroll 0 25
Key Up           A       SC      Scroll 0 -25
#       1 ページ・スクロール
Key Right        A       SCM     Scroll 100 0
Key Left         A       SCM     Scroll -100 0
Key Down         A       SCM     Scroll 0 100
Key Up           A       SCM     Scroll 0 -100
#       ルート(メイン)メニュー表示
Key Down         A       M       Popup MenuFvwmRoot
Key F1           A       N       Popup MenuFvwmRoot
#   ウィンドウ最大化
Key F            A       CM      FuncMaximizeFull       # 全方向 (垂直は 90%)
Key V            A       CM      FuncMaximizeVertical   # 垂直方向(90% に制限)
Key H            A       CM      Maximize 100 0         # 水平方向
#   ウィンドウ・シェード
Key F2           A       N       WindowShade
#       コマンド実行
Key T            A       SC      Exec exec `mlterm -E $LANG || xterm`
Key B            A       SC      Exec exec firefox
Key M            A       SC      Exec exec sylpheed
Key F            A       SC      Exec exec rox
Key N            A       SC      Exec exec nautilus --no-desktop
Key C            A       SC      Exec exec `zenity --title=コマンド実行 --entry --text=コマンドを入力して下さい`

# マウス・バインド
#   書式: Mouse [(window)] Button Context Modifiers Function
#   書式: Mouse [(window)] ボタン番号 押下場所 修飾キー 実行機能
#   例:
#     Mouse 1 W M FuncFvwmMoveOrRaise
#       → ウィンドウの任意場所での Alt+左ボタン(ドラッグ)で
#          ウィンドウの移動とライズ
#     Mouse 5 A M Scroll 0 25
#       → 任意場所での Alt+ホイール後転で仮想画面を 25% スクロールダウン
#
#   ボタン番号: Button
#       1: 左  2: 中  3: 右  4:ホイール前転  5: ホイール後転  0: どれでも
#   押下場所: Context
#       R: ルートウィンドウ (R)oot Window
#       W: アプリケーションウィンドウ Application (W)indoe
#       D: デスクトップ (D)esktop -> [nautilus, rox, kdesktop,
#                               xfdesktop, pcmanfm Desktop]
#       T: タイトルバー Window (T)itle Bar
#       S: 上下左右枠 Window (S)ide Bars
#       [,],-,_:
#          左/右/上/下枠 left,right,top,bottom Window Side Bar 
#       F: コーナー Window (F)rame Corners
#       <,^,>,v: 
#          左上/右上/右下/左下コーナー
#          top left,top right,bottom right,bottom left Frame Corner
#       I: アイコン(最小化)ウィンドウ (I)con Window [minimized window]
#       1-9: タートルバー・ボタン上
#             ※ボタンの配置順: 左端 1 3 5 7 9    0 8 6 4 2 右端
#       A: 全ての場所 (A)ny Context
#   修飾キー: キーバインドの項と同じ
#
#   ※一つの実行機能に対する複数のバインドは有効
#   ※重複するバインドがある時は、より後で定義した実行機能が有効
#
#   仮想画面内スクロール
#       1/4 ページ・スクロール
Mouse 4 A       M       Scroll 0 25
Mouse 5 A       M       Scroll 0 -25
Mouse 4 A       CM      Scroll 25 0
Mouse 5 A       CM      Scroll -25 0
#       1 ページ・スクロール
Mouse 4 R       N       Scroll 100 0
Mouse 5 R       N       Scroll -100 0
Mouse 4 R       S       Scroll 0 100
Mouse 5 R       S       Scroll 0 -100
#       任意スクロール
Mouse 1 A       CM      Scroll

#   ルート・ウィンドウ上
Mouse 1 R       N       Menu MenuFvwmRoot Nop
Mouse 2 R       N       Menu MenuFvwmWindowOps Nop
#Mouse 3 R       N       WindowList
#   タイトルバー
Mouse 1 T       N       RaiseOrShade
Mouse 1 T       C       Iconify
Mouse 1 T       M       FuncMaximizeFull
Mouse 2 T       N       Menu MenuFvwmWindowOps2 Nop
Mouse 3 T       N       LowerOrRaise
Mouse 3 T       M       WindowShade
Mouse 3 T       S       WindowShade
#   タイトルバー上のボタン
#       ボタン左端から順に [1][3][5][7][9]
Mouse 0 1       N       Menu MenuFvwmWindowOps2 Close
#       ボタン右端から順に [0][8][6][4][2]
Mouse 0 2       N       Close
Mouse 1 4       N       FuncMaximizeFull
Mouse 2 4       N       FuncMaximizeVertical
Mouse 3 4       N       Maximize 100 0
Mouse 0 6       N       Iconify
#   ウィンドウ枠／コーナー
Mouse 1 SF      N       FuncFvwmResizeOrRaise
Mouse 2 SF      N       Menu MenuFvwmWindowOps2 Nop
Mouse 3 SF      N       FuncFvwmMoveOrRaise
#   アイコン(最小化されたウィンドウ)
Mouse 1 I       A       FuncFvwmMoveOrIconify
Mouse 2 I       A       Iconify
#   ウィンドウ全体
Mouse 1 W       M       FuncFvwmMoveOrRaise
Mouse 2 W       M       Menu MenuFvwmWindowOps2 Nop
Mouse 3 W       M       FuncFvwmResizeOrRaise

# マウス・ストローク(マウス・ジェスチャー)
#   書式: Stroke [(window)] Sequence Button Context Modifiers Function
#   書式: Stroke [(window)] シーケンス ボタン番号 押下場所 修飾キー 実行機能
#     ※ シーケンス(mouse stroke sequence)は、以下のように電話番号ボタン状に
#     並んだ数字をなぞるように "マウスをドラッグ" する事を指す
#         1 2 3
#         4 5 6
#         7 8 9
#     シーケンスの例:
#       シーケンス  : 実際のマウス操作
#         1235789  → 左上から Ｚ 字状にマウス・ドラッグ
#         7415963  → 左下から Ｎ 字状にマウス・ドラッグ
#         159      → 左上から ＼ 字状にマウス・ドラック
#         357      → 右上から ／ 字状にマウス・ドラッグ
#       ※ シーケンスに 0 を指定した時は、単発のクリックと同等
#   記述例:
#     Stroke 159 3  R  N  Exec exec mlterm
#       → "＼" 字状(159)の右ボタンドラッグ(3)をルートウィンドウ(R)上で
#          行う(修飾キーなし(N)) → mlterm を実行
#
#   ボタン番号、押下場所、修飾キーの指定は、マウスバインドの項と同じ

Stroke 0          3  R  N  WindowList Nop
Stroke 159        3  R  N  Exec exec mlterm
Stroke 357        3  R  N  Exec exec gnome-terminal
Stroke 7415963    3  R  N  Exec exec xterm 
Stroke 1235789    3  R  N  Exec exec Terminal

Stroke 0          2  R  N  Menu MenuFvwmWindowOps Nop
Stroke 357        2  R  N  Exec exec lxterminal

############ 初期化処理 #############
AddToFunc StartFunction
# ログイン時から使用するモジュール
+ I Module FvwmAnimate
+ I Module FvwmBanner
+ I Module FvwmButtons
+ I Module FvwmTaskBar
+ I Module FvwmPager 0 1
AddToFunc InitFunction

# For some SM-s (like gnome-session) there is an internal background setter.
AddToFunc SessionInitFunction
+ I Nop


######### メインメニュー ############
DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot  "$[gt.Root Menu]"  Title
+                       "&1. XTerm"             Exec exec xterm
+                       "&2. MLterm"            Exec exec mlterm -E "$LANG"
+                       "&3. Firefox"           Exec exec firefox
+                       "&4. Sylpheed"          Exec exec sylpheed
+                       "&5. ROX-Filer"         Exec exec rox
+                       "&6. コマンド実行"      Exec exec `zenity --title="コマンド実行" --entry --text="コマンドを入力して下さい"`
+                       ""              Nop
+                       "&C. 設定ファイル編集"  Exec exec emacs $HOME/.fvwm/.fvwm2rc.my
+                       "&A. オートスタート編集" Exec exec emacs $HOME/.fvwm/autostart
+                       "&7. 壁紙設定"          Exec exec fvwm-setwallpaper
+                       "&8. 壁紙再表示"        Exec exec fvwm-resetwallpaper
+                       "&9. モジュール復帰"    FuncRevertModules
+                       "&0. Fvwm README 閲覧"       Exec exec `BROWSER="firefox" && [ -x /usr/bin/firefox ] || BROWSER="xterm -e w3m" && [ -x /usr/bin/w3m ] ;$BROWSER /usr/share/fvwm/Blue-Vine-theme/index.html`
+                       "&0. Fvwm manual 閲覧"       Exec exec `BROWSER="firefox" && [ -x /usr/bin/firefox ] || BROWSER="xterm -e w3m" && [ -x /usr/bin/w3m ] ;$BROWSER /usr/share/doc/fvwm/index.html`
+                       ""              Nop
+                       "&T. ターミナル"        Popup MenuTerminal
+                       "&F. ファイルマネージャ"      Popup MenuFileManager
+                       "&W. ウエブ"            Popup MenuWebBrowser
+                       "&U. $[gt.Utilities]"   Popup MenuFvwmUtilities
+                       "&S. システム"          Popup MenuSystem
+                       ""              Nop
+                       "&R. $[gt.Remote Logins]"     Popup MenuFvwmLogins
+                       ""              Nop
+                       "&M. $[gt.Fvwm Modules]"      Popup MenuFvwmModules
+                       "&W. $[gt.Fvwm Window Ops]"   Popup MenuFvwmWindowOps
+                       "&S. $[gt.Fvwm Config Ops]"   Popup MenuFvwmConfig
+                       ""              Nop
+                       "&F. $[gt.Refresh Screen]"    Refresh
+                       "&C. $[gt.Recapture Screen]"  Recapture
+                       ""              Nop
+                       "&E スタイル変更"       Popup MenuChangeStyle
+                       ""              Nop
+                       "&X. $[gt.Exit Fvwm]"   Popup MenuFvwmQuitVerify
                                              
### サブメニュー: ターミナルエミュレータ
DestroyMenu MenuTerminal
AddToMenu MenuTerminal     "ターミナル" Title
+                       "&G. GNOME端末" Exec exec gnome-terminal
+                       "&M. MLterm"    Exec exec mlterm -E $LANG
+                       "&T. Terminal"  Exec exec terminal
+                       "&L. LX端末"    Exec exec lxterminal

### サブメニュー: スタイル変更
DestroyMenu MenuChangeStyle
AddToMenu MenuChangeStyle  "スタイル変更" Title
+                       "&M. My Style"   FuncChangeStyleToMyStyle
+                       "&S. Standard"   FuncChangeStyleToStandard
+                       "&J. Standard-J" FuncChangeStyleToStandardJa
+                       "&1. Sample1"    FuncChangeStyleToSample1
+                       "&2. Sample2"    FuncChangeStyleToSample2
+                       "&9. Sample95"   FuncChangeStyleToSample95
+                       "&V. Blue Vine"  FuncChangeStyleToBlueVine

### サブメニュー: ファイルマネージャ
DestroyMenu MenuFileManager
AddToMenu MenuFileManager     "ファイルマネージャ" Title
+                       "&N. Nautilus"  Exec exec nautilus --no-desktop
+                       "&R. ROX-Filer" Exec exec rox
+                       "&T. Thunar"    Exec exec thunar
+                       "&P. Pcmanfm"   Exec exec pcmanfm --no-desktop

### サブメニュー: ウェブ
DestroyMenu MenuWebBrowser
AddToMenu MenuWebBrowser     "ウェブ" Title
+                       "&F. Firefox"   Exec exec firefox
+                       "&M. Midori"    Exec exec midori
+                       "&K. Konqueror" Exec exec kfmclient openProfile webbrowsing
+                       "&W. W3m"       Exec exec xterm -e w3m
+                       ""              Nop
+                       "&S. Sylpheed"  Exec exec sylpheed
+                       "&T. Thunderbird" Exec exec thunderbird
+                       "&P. Pidgin"    Exec exec pidgin
+                       "&G. Gftp"      Exec exec gftp

### サブメニュー: システム
DestroyMenu MenuSystem
AddToMenu MenuSystem         "システム" Title
+                       "&S. Synaptic"  Exec exec synaptic
+                       "&A. App-Install" Exec `vine-app-install || zenity --info --text="vine-app-installl はインストールされていません。\\nsynaptic 又は apt-get install でインストールして\n下さい"`
+                       "&R. RpmInstall"  Exec `rpminstall || zenity --info --text="rpminstall はインストールされていません。\\nsynaptic 又は apt-get install でインストールして\n下さい"`

### サブメニュー: X ユーティリティ
DestroyMenu MenuFvwmUtilities
AddToMenu MenuFvwmUtilities     "$[gt.Utilities]" Title
+                       "&T. Top"       Exec exec xterm -T Top -n Top -e top
+                       "&C. 電卓"      Exec exec `gcalctool || kcalc`
+                       "&X. 端末"      Exec exec `mlterm -E $LANG || xterm || gnome-terminal || terminal || lxterminal || `
+                       "&M. manpage"   Exec exec xterm -e man `zenity --title="コマンドマニュアル表示" --entry --text="表示するマニュアル名を入力して下さい"` 
+                       "&G. 拡大鏡"      Exec exec `kmag || wmagnify || xmag`
+                       "&A. アプリ検索"  Exec exec `xfce4-appfinder || zenity --info --text="xfce4-appfinder はインストールされていません。\\nsynaptic 又は apt-get install でインストールして\n下さい"`
+                       "&R. Editres"   Exec exec editres
+                       ""              Nop
+                       "&E. XEmacs"    Exec exec xemacs
+                       ""              Nop
+                       "&D. $[gt.Reset X defaults]" Exec xrdb -load $HOME/.Xdefaults

### サブメニュー: Fvwm 設定
DestroyMenu MenuFvwmConfig
AddToMenu MenuFvwmConfig "$[gt.Fvwm Config Ops]" Title
+ "&S. $[gt.Sloppy Focus]"        FuncFvwmFocusPolicyChange SloppyFocus
+ "&C. $[gt.Click To Focus]"      FuncFvwmFocusPolicyChange ClickToFocus
+ "&F. $[gt.Focus Follows Mouse]" FuncFvwmFocusPolicyChange FocusFollowsMouse
+ "" Nop
+ "&1. $[gt.Colormap Follows Mouse]" ColormapFocus FollowsMouse
+ "&2. $[gt.Colormap Follows Focus]" ColormapFocus FollowsFocus
+ "" Nop
+ "&3. $[gt.Full Paging ON]"           EdgeScroll 100 100
+ "&4. $[gt.All Paging OFF]"           EdgeScroll 0 0
+ "&5. $[gt.Horizontal Paging Only]"   EdgeScroll 100 0
+ "&6. $[gt.Vertical Paging Only]"     EdgeScroll 0 100
+ "&7. $[gt.Partial Paging]"           EdgeScroll 50 50
+ "&8. $[gt.Full Paging && Edge Wrap]" EdgeScroll 100000 100000

# The window Ops menus exhibit a different HotKey style.
# There are 2 versions of the WindowOps Menu, meant to be bound to different
# things.  Here is the "common" part:
DestroyFunc FuncFvwmWindowCommon
AddToFunc FuncFvwmWindowCommon
+ I AddToMenu $0 "$[gt.&Move]"              Move
+ I AddToMenu $0 "$[gt.&Resize]"            Resize
+ I AddToMenu $0 "$[gt.R&aise]"             Raise
+ I AddToMenu $0 "$[gt.&Lower]"             Lower
+ I AddToMenu $0 "$[gt.(De)&Iconify]"       Iconify
+ I AddToMenu $0 "$[gt.(Un)&Stick]"         Stick
+ I AddToMenu $0 "$[gt.(Un)Ma&ximize]"      Maximize
+ I AddToMenu $0 ""                 Nop
+ I AddToMenu $0 "$[gt.&Delete]"            Delete
+ I AddToMenu $0 "$[gt.&Close]"             Close
+ I AddToMenu $0 "$[gt.Destroy]"            Destroy
+ I AddToMenu $0 ""                 Nop

# First windowops menu, bound to:
# mouse 2 on root
# Root menu
DestroyMenu MenuFvwmWindowOps
AddToMenu MenuFvwmWindowOps     "$[gt.Window Ops]"    Title
FuncFvwmWindowCommon MenuFvwmWindowOps
+ "$[gt.Re&fresh Window]" RefreshWindow

# Second windowops menu, bound to:
# any mouse on titlebar button 1
# mouse 2 on frame, side or titlebar
DestroyMenu MenuFvwmWindowOps2
AddToMenu MenuFvwmWindowOps2
FuncFvwmWindowCommon MenuFvwmWindowOps2
+ Scroll&Bar       Module FvwmScroll 2 2
+ "&$[gt.Print]"           FuncFvwmPrint
+ "$[gt.Print Re&verse]" FuncFvwmPrintReverse

# 3 different ways to log on, take your pick:
DestroyFunc FuncFvwmRloginXterm
AddToFunc FuncFvwmRloginXterm \
  I Exec xterm -name $0 -title "$USER @ $0" -e rlogin $0
DestroyFunc FuncFvwmRloginRxvt
AddToFunc FuncFvwmRloginRxvt \
  I Exec rxvt -name $0 -n $0 -title $USER@$0 -e rlogin $0
DestroyFunc FuncFvwmRloginSshRxvt
AddToFunc FuncFvwmRloginSshRxvt \
  I Exec Exec ssh $0 rxvt -display $HOSTDISPLAY

# be sure to fill these in with your correct machine names:
DestroyMenu MenuFvwmLogins
AddToMenu MenuFvwmLogins
+ &dopey  FuncFvwmRloginXterm dopey
+ &snoopy FuncFvwmRloginXterm snoopy
+ s&ignal Exec rxterm signal

DestroyMenu MenuFvwmModules
AddToMenu MenuFvwmModules "$[gt.Fvwm Modules]"        Title
+ "&1. $[gt.Control Animation]" Popup  MenuFvwmAnimate
+ "&B. Button-Bar"        Module FvwmButtons
+ "&O. IconBox"           FuncFvwmConfigureIconBox
+ "&F. Forms"             Popup  MenuFvwmForms
+ "&I. Identify"          Module FvwmIdent
+ "&M. IconMan"           Module FvwmIconMan
+ "&N. Banner"            Module FvwmBanner
+ "&C. Console"           Module FvwmConsole
+ "&P. Pager"             Module FvwmPager 0 0
+ "&2. Pager (2 $[gt.desks])"   Module FvwmPager 0 1
+ "&R. Backer"            Module FvwmBacker
+ "&S. ScrollBar"         Module FvwmScroll 50 50
+ "&T. FvwmTaskBar"       Module FvwmTaskBar
+ "&U. AutoRaise"         Module FvwmAuto 200 Raise Nop
+ "&W. WinList"           Module FvwmWinList
+ "&X. $[gt.Stop Module Menu]"  Popup  MenuFvwmStopModule

DestroyMenu MenuFvwmStopModule
AddToMenu MenuFvwmStopModule "$[gt.Stop Fvwm Modules]" Title
+ "&B. $[gt.Stop] Button-Bar"  KillModule FvwmButtons
+ "&O. $[gt.Stop] IconBox"     KillModule FvwmIconBox
+ "&M. $[gt.Stop] IconMan"     KillModule FvwmIconMan
+ "&P. $[gt.Stop] Pager"       KillModule FvwmPager
+ "&R. $[gt.Stop] Backer"      KillModule FvwmBacker
+ "&S. $[gt.Stop] ScrollBar"   KillModule FvwmScroll
+ "&T. $[gt.Stop] FvwmTaskBar" KillModule FvwmTaskBar
+ "&U. $[gt.Stop] AutoRaise"   KillModule FvwmAuto
+ "&W. $[gt.Stop] WinList"     KillModule FvwmWinList

DestroyMenu MenuFvwmForms
AddToMenu MenuFvwmForms
+ "&C. Capture"       Module FvwmForm FvwmForm-Capture
+ "&D. Form Defaults" Module FvwmForm FvwmForm-Form
+ "&R. Rlogin"        Module FvwmForm FvwmForm-Rlogin
+ "&P. RootCursor"    Module FvwmForm FvwmForm-RootCursor
+ "&S. Setup"         Module FvwmForm FvwmForm-Setup
+ "&T. Talk Form"     Module FvwmForm FvwmForm-Talk
+ "&Q. QuitVerify"    Module FvwmForm FvwmForm-QuitVerify

DestroyMenu MenuFvwmQuitVerify
AddToMenu MenuFvwmQuitVerify "$[gt.Really Quit Fvwm?]" Title
+ "&Q. $[gt.Yes, Really Quit]"  Quit
+ ""                     Nop
+ "&R. $[gt.Restart]"           Restart
+ ""                     Nop
# 他のウィンドウマネージャ・セッションに切り替え
+ "&W. $[gt.Start] WindowMaker" Restart wmaker
+ "&F. $[gt.Start] Fluxbox"     Restart fluxbox
+ "&I. $[gt.Start] IceWM"       Restart icewm
+ "&T. $[gt.Start] twm"         Restart twm
+ ""                     Nop
# fvwm-themes を追加した場合、ここをコメントアウト
#+ "&F. $[gt.Start] fvwm-themes" Restart fvwm-themes-start 
#+ ""                     Nop
# xterm セッションに切り替え
+ "&X. $[gt.Just an Xterm]"    Restart xterm -n '"X Console"' -T '"X Console"'
+ ""                     Nop
# 終了中止
+ "&N. $[gt.No, Don't Quit]"   Nop

# Configure and start using an iconbox on the fly
DestroyFunc FuncFvwmConfigureIconBox
AddToFunc FuncFvwmConfigureIconBox
+ I Module FvwmIconBox
+ I Style     *  NoIcon

### 関数: 最大化
#   垂直方向最大化
#       ウィンドウがタスクバー／scim パネルに隠れる事を防ぐ為、
#       垂直最大化幅を 90% に抑える
DestroyFunc FuncMaximizeVertical
AddToFunc FuncMaximizeVertical
+ I Maximize 0 90
+ I Move w+0 w+2        # 'w' は現在位置からの相対移動
#   全方向最大化
#       垂直方向は'垂直方向最大化'と同じ
DestroyFunc FuncMaximizeFull
AddToFunc FuncMaximizeFull
+ I Maximize 100 90
+ I Move 0 2

### 関数: My Style に変更
### ('.fvwm2rc.my' という名前で保存された任意のスタイル - カスタマイズ用)
DestroyFunc FuncChangeStyleToMyStyle
AddToFunc FuncChangeStyleToMyStyle
+ I Exec opt="-w"; [ "$LANG" == "ja_JP.eucJP" ] && opt="-e"; nkf $opt $HOME/.fvwm/.fvwm2rc.my > $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: Vine Style に変更
DestroyFunc FuncChangeStyleToBlueVine
AddToFunc FuncChangeStyleToBlueVine
+ I Exec opt="-w"; [ "$LANG" == "ja_JP.eucJP" ] && opt="-e"; nkf $opt /usr/share/fvwm/Blue-Vine-theme/.fvwm2rc > $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: 標準 Style (system.fvwm2rc) に変更
DestroyFunc FuncChangeStyleToStandard
AddToFunc FuncChangeStyleToStandard
+ I Exec cp -f /usr/share/fvwm/fvwm-system-styles/system.fvwm2rc $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: Sample1 (system.fvwm2rc-sample-1) に変更
DestroyFunc FuncChangeStyleToSample1
AddToFunc FuncChangeStyleToSample1
+ I Exec cp -f /usr/share/fvwm/fvwm-system-styles/system.fvwm2rc-sample-1 $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: sample2 (system.fvwm2rc-sample-2) に変更
DestroyFunc FuncChangeStyleToSample2
AddToFunc FuncChangeStyleToSample2
+ I Exec cp -f /usr/share/fvwm/fvwm-system-styles/system.fvwm2rc-sample-2 $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: sample95 (system.fvwm2rc-sample-95) に変更
DestroyFunc FuncChangeStyleToSample95
AddToFunc FuncChangeStyleToSample95
+ I Exec cp -f /usr/share/fvwm/fvwm-system-styles/system.fvwm2rc-sample-95 $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: 標準日本語 Style (system.fvwm2rc.ja-utf-8) に変更
DestroyFunc FuncChangeStyleToStandardJa
AddToFunc FuncChangeStyleToStandardJa
+ I Exec opt="-w"; [ "$LANG" == "ja_JP.eucJP" ] && opt="-e"; nkf $opt /usr/share/fvwm/fvwm-system-styles/system.fvwm2rc.ja-utf-8 > $HOME/.fvwm/.fvwm2rc
+ I Restart

### 関数: モジュール復帰
DestroyFunc FuncRevertModules
AddToFunc FuncRevertModules
+ I Exec exec `zenity --question --text="本当にモジュールを復帰しますか" && cp /usr/share/fvwm/Blue-Vine-theme/* $HOME/.fvwm/ && zenity --info --text="モジュールを復帰しました。FVWM を再起動して下さい"`

### 関数: ウィンドウシェード
DestroyFunc RaiseOrShade
AddToFunc RaiseOrShade
+ I Raise
+ M Move
+ D WindowShade

### 関数: 背面へ／前面へ
DestroyFunc LowerOrRaise
AddToFunc LowerOrRaise
+ I Lower
+ M Move
+ D Raise

######################## Sample Functions ##########################

DestroyFunc FuncFvwmMailXmh
AddToFunc FuncFvwmMailXmh
+ I Next [$0] Iconify false
+ I Next [$0] Focus
+ I None [$0] Exec $0 $1

DestroyFunc FuncFvwmMoveOrRaise
AddToFunc FuncFvwmMoveOrRaise
+ I Raise
+ M Move
+ D Lower

DestroyFunc FuncFvwmMaximize
AddToFunc FuncFvwmMaximize
+ M Maximize   0 100
+ H Maximize   0 100
+ C Maximize   0  80
+ D Maximize 100 100

DestroyFunc FuncFvwmMoveOrIconify
AddToFunc FuncFvwmMoveOrIconify
+ I Raise
+ M Move
+ D Iconify

DestroyFunc FuncFvwmResizeOrRaise
AddToFunc FuncFvwmResizeOrRaise
+ I Raise
+ M Resize
+ D Lower

DestroyFunc FuncFvwmPrint
AddToFunc FuncFvwmPrint
+ I Raise
+ I Exec xdpr -id $w

DestroyFunc FuncFvwmPrintReverse
AddToFunc FuncFvwmPrintReverse
+ I Raise
+ I Exec xdpr 1/2 -h -rv -id $w

DestroyFunc FuncFvwmFocusPolicyChange
AddToFunc FuncFvwmFocusPolicyChange
+ I Style * $0
+ I Recapture

# Read config files for modules:
read ConfigFvwmBacker
read ConfigFvwmButtons
read ConfigFvwmIconBox
read ConfigFvwmIconMan
read ConfigFvwmIdent
read ConfigFvwmPager
read ConfigFvwmScroll
read ConfigFvwmTaskBar
read ConfigFvwmWinList
