# Menu with preferences
#
DestroyMenu /Preferences
AddToMenu /Preferences
+ '$[gt.Used recipe]'		Popup /Preferences/Recipes
+ '$[gt.Music player]'		Popup /Preferences/MusicPlayer
+ '$[gt.Default terminal]'	Popup /Preferences/DefaultTerminal
+ '$[gt.QuakeConsole terminal]'	Popup /Preferences/QuakeConsoleTerminal
+ "" Nop
+ '$[gt.Window focus policy]'	Popup /Preferences/FocusPolicy
+ '$[gt.Privileged terminals]'	Popup /Preferences/PrivilegedTerminals

#
# Default terminal
#
DestroyMenu /Preferences/DefaultTerminal
AddToMenu /Preferences/DefaultTerminal
Test (x gnome-terminal) + 'gnome-terminal' SelectDefaultTerminal gnome-terminal
Test (x urxvt) + 'urxvt'	SelectDefaultTerminal urxvt
Test (x Eterm) + 'Eterm'	SelectDefaultTerminal Eterm
Test (x aterm) + 'aterm'	SelectDefaultTerminal aterm
Test (x mrxvt) + 'mrxvt'	SelectDefaultTerminal mrxvt
Test (x xterm) + 'xterm'	SelectDefaultTerminal xterm

DestroyFunc SelectDefaultTerminal
AddToFunc SelectDefaultTerminal
+ I FindCommand DefaultTerminal $0 urxvt aterm mrxvt xterm
+ I SavePreferences DefaultTerminal "FindCommand DefaultTerminal $0 urxvt aterm mrxvt xterm"

#
# QuakeConsole terminal
#
DestroyMenu /Preferences/QuakeConsoleTerminal
AddToMenu /Preferences/QuakeConsoleTerminal
#Test (x gnome-terminal) + 'gnome-terminal' SelectQuakeConsoleTerminal gnome-terminal
Test (x mrxvt) + 'mrxvt'	SelectQuakeConsoleTerminal mrxvt
Test (x urxvt) + 'urxvt'	SelectQuakeConsoleTerminal urxvt
Test (x aterm) + 'aterm'	SelectQuakeConsoleTerminal aterm
Test (x xterm) + 'xterm'	SelectQuakeConsoleTerminal xterm

DestroyFunc SelectQuakeConsoleTerminal
AddToFunc SelectQuakeConsoleTerminal
+ I FindCommand QuakeConsoleTerminal $0 mrxvt urxvt aterm xterm
+ I SavePreferences QuakeConsoleTerminal "FindCommand QuakeConsoleTerminal $0 mrxvt urxvt aterm xterm"

#
# Music player
#
DestroyMenu /Preferences/MusicPlayer
AddToMenu /Preferences/MusicPlayer
Test (x mpc)		+ 'MPD'		SelectMusicPlayer mpd
Test (x quodlibet)	+ 'Quod Libet'	SelectMusicPlayer quodlibet
Test (x xmms-shell) 	+ 'XMMS'	SelectMusicPlayer xmms
Test (x cdcd) 		+ 'cdcd'	SelectMusicPlayer cdcd

DestroyFunc SelectMusicPlayer
AddToFunc SelectMusicPlayer
+ I FindCommand MusicPlayer $0 mpd quodlibet xmms cdcd
+ I Include components/functions/Music-$[MusicPlayer]
+ I SavePreferences DefaultMusicPlayer "Include components/functions/Music-$[MusicPlayer]"

#
# Window focus policy
#
DestroyMenu /Preferences/FocusPolicy
AddToMenu /Preferences/FocusPolicy
+ 'FVWM-Crystal'	ActivateFocusPolicy-FVWM-Crystal
+ 'FVWM-Crystal with raise'	ActivateFocusPolicy-FVWM-Crystal-Raise
+ 'MS Windows'		ActivateFocusPolicy-MSWindows

DestroyFunc ActivateFocusPolicy-FVWM-Crystal
AddToFunc ActivateFocusPolicy-FVWM-Crystal
+ I Include components/styles/FocusPolicy-FVWM-Crystal
+ I Include components/styles/FVWM
+ I Include components/styles/QuakeConsole
+ I Append components/styles/Applications
+ I SavePreferences DefaultFocusPolicy "Include components/styles/FocusPolicy-FVWM-Crystal"

DestroyFunc ActivateFocusPolicy-FVWM-Crystal-Raise
AddToFunc ActivateFocusPolicy-FVWM-Crystal-Raise
+ I Include components/styles/FocusPolicy-FVWM-Crystal-Raise
+ I Include components/styles/FVWM
+ I Include components/styles/QuakeConsole
+ I Append components/styles/Applications
+ I SavePreferences DefaultFocusPolicy "Include components/styles/FocusPolicy-FVWM-Crystal-Raise"

DestroyFunc ActivateFocusPolicy-MSWindows
AddToFunc ActivateFocusPolicy-MSWindows
+ I Include components/styles/FocusPolicy-MSWindows
+ I Include components/styles/FVWM
+ I Include components/styles/QuakeConsole
+ I Append components/styles/Applications
+ I SavePreferences DefaultFocusPolicy "Include components/styles/FocusPolicy-MSWindows"

#
# Privileged terminals
#
DestroyMenu /Preferences/PrivilegedTerminals
AddToMenu /Preferences/PrivilegedTerminals
+ '$[gt.On]'	SetPrivilegedTerminals
+ '$[gt.Off]'	UnsetPrivilegedTerminals

DestroyFunc SetPrivilegedTerminals
AddToFunc SetPrivilegedTerminals
+ I SavePreferences PrivilegedTerminals "Style XTerm FPOverrideGrabFocus"
+ I AppendPreferences PrivilegedTerminals "Style URxvt FPOverrideGrabFocus"
+ I AppendPreferences PrivilegedTerminals "Style Eterm FPOverrideGrabFocus"
+ I LoadPreferences PrivilegedTerminals

DestroyFunc UnsetPrivilegedTerminals
AddToFunc UnsetPrivilegedTerminals
+ I SavePreferences PrivilegedTerminals "Style XTerm !FPOverrideGrabFocus"
+ I AppendPreferences PrivilegedTerminals "Style URxvt !FPOverrideGrabFocus"
+ I AppendPreferences PrivilegedTerminals "Style Eterm !FPOverrideGrabFocus"
+ I LoadPreferences PrivilegedTerminals


#
# Recipes
#
DestroyMenu /Preferences/Recipes
AddToMenu /Preferences/Recipes
+ MissingSubmenuFunction Recipes-generator
+ '$[gt.System]' Popup $[FVWM_SYSTEMDIR]/recipes
Test (f $[FVWM_USERDIR]/recipes) + '$[gt.User]' Popup $[FVWM_USERDIR]/recipes

DestroyFunc Recipes-generator
AddToFunc Recipes-generator
+ I DestroyMenu recreate $0
+ I AddToMenu $0
+ I PipeRead 'for i in $0/*; do \
  name=$(basename "${i}"); \
  echo \"AddToMenu $0 \'${name}\' Recipe-Set \'${i}\'\"; done'

DestroyFunc Recipe-Set
AddToFunc Recipe-Set
+ I SavePreferences LastChoosenRecipe "Read \"$*\""
+ I Module FvwmForm Recipe-Restart-Dialog

All (Recipe-Restart-Dialog) Close
DestroyModuleConfig Recipe-Restart-Dialog: *
*Recipe-Restart-Dialog: Title "$[gt.Restart FVWM-Crystal]"
*Recipe-Restart-Dialog: Text "$[gt.New recipe will be used after next startup]"
*Recipe-Restart-Dialog: Line center
*Recipe-Restart-Dialog: Line center
*Recipe-Restart-Dialog: Button quit " $[gt.Restart] " ^M
*Recipe-Restart-Dialog: Command Restart
*Recipe-Restart-Dialog: Button quit " $[gt.Not now] " ^[
*Recipe-Restart-Dialog: Command Nop
*Recipe-Restart-Dialog: Line center

