# metisse ametistarc revision 5
#
# It is preferable to do not edit this files. Edit: applications, background,
# bindings-functions, desks, extra, fonts, menustyle, styles
#
# If you really need, edit: bindings, modules, menus and ametistarc
#
# For colors cp colours/Cyan_Grey_Gradient.theme colours/your_colors_theme.theme,
# then reload the current colours theme (so that your_colors_theme appear in the
# ametista config menu) and edit colours/your_colors_theme.theme
#
# For window look and the buttons
#        cp window/Vectors.theme window/your_window_theme.theme
# then reload the current window theme and edit window/your_window_theme.theme
# (take a look at the others window theme and use the functions in
# bindings-functions).
#

# ---------------------------------------------------------------------------
# the following commands should not be changed/override  
# ---------------------------------------------------------------------------

# no large desktop! (see desks anyway ...)
DesktopSize 1 1

EdgeScroll 0 0
EdgeThickness 0
EdgeResistance 0 0

# out line move and resize does not work well
OpaqueMoveSize unlimited
Style * ResizeOpaque

# We need SloopyFocus for certain ametista auto mode, see below

# do not use icons
Style * NoIcon

ModuleTimeout 5

DestroyFunc sma
AddToFunc   sma
+ I  SendToModule FvwmAmetista $*

# ---------------------------------------------------------------------------
# start function(s)
# ---------------------------------------------------------------------------

# define the background: AFuncSetBackground
read background

DestroyFunc StartFunction
AddToFunc   StartFunction
# set the root bg
+ I AFuncSetBackground
# start the event handler
+ I ModuleSynchronous FvwmEvent FvwmEvent-EventsHandler
# start our panel
+ I AFuncStartFuncStartPanel

# ---------------------------------------------------------------------------
# Desk config (e.g., number of desks)
# ---------------------------------------------------------------------------

read desks

# ---------------------------------------------------------------------------
# mini-icons
# ---------------------------------------------------------------------------

# If you want mini icons install the wm-icons package (see http://sf.wm-icons/)

DestroyFunc AFuncSetupWmIcon
AddToFunc   AFuncSetupWmIcon
+ I PipeRead 'echo Read `wm-icons-config --inst-dir`/../../wm-icons/fvwm2rc-wm-icons'
+ I Style * NoIcon
+ I Style * EWMHNoMiniIconOverride
+ I Mouse 3 R CM -
+ I DestroyMenu "Window-Ops"
+ I DestroyMenu "Quit-Verify"
+ I DestroyFunc AFuncWmIconsConfigIconMan
+ I AddToFunc AFuncWmIconsConfigIconMan I *FvwmIconMan: DrawIcons always
+ I DestroyFunc AFuncWmIconsConfigPager
+ I AddToFunc AFuncWmIconsConfigPager
+ I + I *FvwmPager-Desker: MiniIcons
+ I + I *FvwmPager-Swallowed: MiniIcons
+ I + I *FvwmPager-Swallowed-Single: MiniIcons
+ I DestroyFunc AFuncWmIconsMiniIconButtons
+ I AddToFunc AFuncWmIconsMiniIconButtons
+ I + I ButtonStyle 1 MiniIcon

DestroyFunc AFuncTestSetupWmIcon
AddToFunc   AFuncTestSetupWmIcon
+ I Test (x wm-icons-config)   AFuncSetupWmIcon
+ I TestRc (Match) Break
# wm-icons package is not installed
+ I Echo "The wm-icons package is not installed (see http://sf.wm-icons/)"
# disable GNOME  and KDE mini icons
+ I Style * EWMHMiniIconOverride
+ I DestroyFunc AFuncWmIconsConfigIconMan
+ I AddToFunc AFuncWmIconsConfigIconMan I *FvwmIconMan: DrawIcons false
+ I DestroyFunc AFuncWmIconsConfigPager
+ I AddToFunc AFuncWmIconsConfigPager
+ I DestroyFunc AFuncWmIconsMiniIconButtons
+ I AddToFunc AFuncWmIconsMiniIconButtons
+ I + I ButtonStyle 1 Pixmap 16x16/programs.xpm

AFuncTestSetupWmIcon

# ---------------------------------------------------------------------------
# global feel (focus, placement policy, ...) and specific style
# ---------------------------------------------------------------------------

DestroyFunc AFuncWindowThemesOverride
AddToFunc   AFuncWindowThemesOverride

read styles

# ---------------------------------------------------------------------------
# Mouse and Key Bindings
# ---------------------------------------------------------------------------

# NOTE: it is better to edit functions-bindings than bindings

# define some generic functions for window bindings
read bindings-functions

# the real bindings
read bindings


# ---------------------------------------------------------------------------
# colours themes
# ---------------------------------------------------------------------------

DestroyFunc AFuncColoursTheme
AddToFunc   AFuncColoursTheme
+ I read colours/$0.theme
#
+ I DestroyFunc AFuncConfigMenuCurrentColoursTheme
+ I AddToFunc   AFuncConfigMenuCurrentColoursTheme
+ I + I + "Current: $0"
#
+ I AFuncColoursThemeUpdateMenu
#
+ I DestroyFunc AFuncSaveConfigColoursTheme
+ I AddToFunc   AFuncSaveConfigColoursTheme
+ I + I Exec echo "AFuncColoursTheme $0" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

DestroyFunc AFuncColoursThemeUpdateMenu
AddToFunc   AFuncColoursThemeUpdateMenu
+ I DestroyMenu AMenuConfigColoursTheme
+ I AddToMenu   AMenuConfigColoursTheme "Colours Themes" Title
+ I PipeRead 'for f in `ls $[FVWM_USERDIR]/colours/*.theme`; do \
	t=`basename $f | sed -e s/\.theme//`; \
	echo "+ $t AFuncColoursTheme  $t"; \
    done
+ I + "" Nop
+ I AFuncConfigMenuCurrentColoursTheme

# the theme is loaded via the Config section below

# set the general colorset

Style * Colorset 1, HilightColorset 2
Style * IconTitleColorset 1, HilightIconTitleColorset 2

TitleStyle InActive Colorset 1
TitleStyle Active Colorset 2

# Better with Xwnc ...
Style * IconBackgroundColorset 1

# ---------------------------------------------------------------------------
# Window buttons and look: theme
# ---------------------------------------------------------------------------

DestroyFunc AFuncWindowTheme
AddToFunc   AFuncWindowTheme
+ I read window/$0.theme
#
+ I DestroyFunc AFuncConfigMenuCurrentWindowTheme
+ I AddToFunc   AFuncConfigMenuCurrentWindowTheme
+ I + I + "Current: $0"
#
+ I AFuncWindowThemeUpdateMenu
#
+ I AFuncWindowThemesOverride
#
+ I DestroyFunc AFuncSaveConfigWindowTheme
+ I AddToFunc   AFuncSaveConfigWindowTheme
+ I + I Exec echo "AFuncWindowTheme $0" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

DestroyFunc AFuncWindowThemeUpdateMenu
AddToFunc   AFuncWindowThemeUpdateMenu
+ I DestroyMenu AMenuConfigWindowTheme
+ I AddToMenu   AMenuConfigWindowTheme "Window Theme" Title
+ I PipeRead 'for f in `ls $[FVWM_USERDIR]/window/*.theme`; do \
	t=`basename $f | sed -e s/\.theme//`; \
	echo "+ $t AFuncWindowTheme $t"; \
    done
+ I + "" Nop
+ I AFuncConfigMenuCurrentWindowTheme

# the theme is loaded via the Config section below

# ---------------------------------------------------------------------------
# fonts
# ---------------------------------------------------------------------------

read fonts

# ---------------------------------------------------------------------------
# menus styles
# ---------------------------------------------------------------------------

read menustyle

# ---------------------------------------------------------------------------
# some menus (root, window ops, ..., Programs is in "applications")
# ---------------------------------------------------------------------------

read menus

# ---------------------------------------------------------------------------
#  Aplications
# ---------------------------------------------------------------------------

# Edit this file to setup your prefered applications

Read applications

# ---------------------------------------------------------------------------
# Modules (The Panels and some related stuff)
# ---------------------------------------------------------------------------

Read modules

# ---------------------------------------------------------------------------
# Our general propose Event Handler 
# ---------------------------------------------------------------------------

DestroyModuleConfig FvwmEvent-EventsHandler: *

*FvwmEvent-EventsHandler: PassId
*FvwmEvent-EventsHandler: startup		AEFuncStartup
*FvwmEvent-EventsHandler: enter_window		AEFuncEnterWindow
*FvwmEvent-EventsHandler: leave_window		AEFuncLeaveWindow
*FvwmEvent-EventsHandler: configure_window 	AEFuncConfigureWindow
*FvwmEvent-EventsHandler: add_window 		AEFuncAddWindow
*FvwmEvent-EventsHandler: focus_change 		AEFuncFocusChange

DestroyFunc FuncEnterWindowAutoRaise
AddToFunc   FuncEnterWindowAutoRaise
+ I WindowId $0 (FvwmButtons-Panel*) Raise
+ I WindowId $0 (FvwmPager) Raise
+ I WindowId $0 (FvwmTaskBar) Raise

DestroyFunc AEFuncEnterWindow
AddToFunc   AEFuncEnterWindow
+ I Deschedule 6 
+ I Schedule 300 6 FuncEnterWindowAutoRaise $0
# ...etc.
+ I WindowId $0 (FvwmButtons-Panel*) sma SetTransparency 1.0

DestroyFunc AEFuncLeaveWindow
AddToFunc   AEFuncLeaveWindow
+ I WindowId $0 (FvwmButtons-Panel*) sma SetTransparency 0.7

DestroyFunc AEFuncAddWindow
AddToFunc   AEFuncAddWindow
+ I WindowId $0 (FvwmButtons-Panel*) sma SetTransparency 0.7
+ I AFuncAutoScaleAddWindow $0
+ I AFuncAutoSurfaceAddWindow $0

DestroyFunc AEFuncConfigureWindow
AddToFunc   AEFuncConfigureWindow
+ I WindowId $0 (FvwmButtons-Panel*) sma SetTransparency 0.7

DestroyFunc AEFuncStartup
AddToFunc   AEFuncStartup

DestroyFunc AEFuncFocusChange
AddToFunc   AEFuncFocusChange
+ I AFuncAutoScaleFocusChange $0
+ I AFuncAutoSurfaceFocusChange $0

# ---------------------------------------
### auto scale

DestroyFunc AFuncAutoScaleFocusChange
AddToFunc   AFuncAutoScaleFocusChange

DestroyFunc AFuncAutoScaleAddWindow
AddToFunc   AFuncAutoScaleAddWindow

DestroyFunc AFuncSetAutoScaleFactor
AddToFunc   AFuncSetAutoScaleFactor
+ I DestroyFunc AFuncAutoScaleCmd
+ I AddToFunc   AFuncAutoScaleCmd
+ I + I sma AbsoluteScale $0
#
+ I DestroyFunc AFuncAutoScaleFocusChangeCmd
+ I AddToFunc   AFuncAutoScaleFocusChangeCmd
+ I + I WindowId $$$[FOCUSED_WINDOW] (!Focused) AFuncAutoScaleCmd
+ I + I WindowId $$$0 (AcceptsFocus) sma AbsoluteScale 1
+ I + I SetEnv FOCUSED_WINDOW $$$0
#
+ I DestroyFunc AFuncConfigMenuCurrentAutoScaleFactor
+ I AddToFunc   AFuncConfigMenuCurrentAutoScaleFactor
+ I + I AddToMenu AMenuConfigAutoScaleFactor "Current: $1 %%"
#
+ I AFuncAutoScaleFactorUpdateMenu
#
+ I DestroyFunc AFuncSaveConfigAutoScaleFactor
+ I AddToFunc   AFuncSaveConfigAutoScaleFactor
+ I + I Exec echo "AFuncSetAutoScaleFactor $0 $1" >> $[FVWM_USERDIR]/.aconfig

DestroyFunc AFuncAutoScaleFactorUpdateMenu
AddToFunc   AFuncAutoScaleFactorUpdateMenu
+ I DestroyMenu AMenuConfigAutoScaleFactor
+ I AddToMenu   AMenuConfigAutoScaleFactor "Reduction" Title
+ I + "90 %%" AFuncSetAutoScaleFactor 0.9 90
+ I + "80 %%" AFuncSetAutoScaleFactor 0.8 80 
+ I + "70 %%" AFuncSetAutoScaleFactor 0.7 70 
+ I + "60 %%" AFuncSetAutoScaleFactor 0.6 60 
+ I + "50 %%" AFuncSetAutoScaleFactor 0.5 50 
+ I + "40 %%" AFuncSetAutoScaleFactor 0.4 40 
+ I + "30 %%" AFuncSetAutoScaleFactor 0.3 30 
+ I + "20 %%" AFuncSetAutoScaleFactor 0.2 20 
+ I + "10 %%" AFuncSetAutoScaleFactor 0.1 10 
+ I + "" Nop
+ I AFuncConfigMenuCurrentAutoScaleFactor

DestroyFunc AFuncEnableAutoScale
AddToFunc   AFuncEnableAutoScale
+ I DestroyFunc AFuncAutoScaleFocusChange
+ I AddToFunc   AFuncAutoScaleFocusChange
+ I + I DeSchedule 7
+ I + I Schedule 250 7 AFuncAutoScaleFocusChangeCmd $0
#
+ I DestroyFunc AFuncAutoScaleAddWindow
+ I AddToFunc   AFuncAutoScaleAddWindow
+ I + I WindowId $0 (AcceptsFocus !Focused) AFuncAutoScaleCmd
#
+ I Current SetEnv FOCUSED_WINDOW $[w.id]
+ I All (AcceptsFocus !Focused) AFuncAutoScaleCmd
#
+ I DestroyMenu AMenuConfigAutoScale
+ I AddToMenu   AMenuConfigAutoScale "Auto Scale" Title
+ I + "Disable" AFuncDisableAutoScale
+ I + "Enable" AFuncEnableAutoScale
+ I + "" Nop
+ I + "Current: Enabled" Title
#
+ I DestroyFunc AFuncSaveConfigAutoScale
+ I AddToFunc   AFuncSaveConfigAutoScale
+ I + I Exec echo "AFuncEnableAutoScale" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

DestroyFunc AFuncDisableAutoScale
AddToFunc   AFuncDisableAutoScale
+ I DestroyFunc AFuncAutoScaleFocusChange
+ I AddToFunc   AFuncAutoScaleFocusChange
+ I DestroyFunc AFuncAutoScaleAddWindow
+ I AddToFunc   AFuncAutoScaleAddWindow
+ I UnsetEnv FOCUSED_WINDOW
+ I All (AcceptsFocus) sma AbsoluteScale 1
#
+ I DestroyMenu AMenuConfigAutoScale
+ I AddToMenu   AMenuConfigAutoScale "Auto Scale" Title
+ I + "Disable" AFuncDisableAutoScale
+ I + "Enable" AFuncEnableAutoScale
+ I + "" Nop
+ I + "Current: Disabled" Title
#
+ I DestroyFunc AFuncSaveConfigAutoScale
+ I AddToFunc   AFuncSaveConfigAutoScale
+ I + I Exec echo "AFuncDisableAutoScale" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

# ---------------------------------------
# auto surface

DestroyFunc AFuncAutoSurfaceFocusChange
AddToFunc   AFuncAutoSurfaceFocusChange

DestroyFunc AFuncAutoSurfaceAddWindow
AddToFunc   AFuncAutoSurfaceAddWindow

DestroyFunc AFuncAutoSurfaceFocusChangeCmd
AddToFunc   AFuncAutoSurfaceFocusChangeCmd
+ I WindowId $[SURFACE_FOCUSED_WINDOW] (!Focused) sma AllowsSurfaceRotation
+ I WindowId $0 (AcceptsFocus) sma NoSurfaceRotation
+ I SetEnv SURFACE_FOCUSED_WINDOW $0

DestroyFunc AFuncEnableAutoSurface
AddToFunc   AFuncEnableAutoSurface
+ I DestroyFunc AFuncAutoSurfaceFocusChange
+ I AddToFunc   AFuncAutoSurfaceFocusChange
+ I + I DeSchedule 8
+ I + I Schedule 300 8 AFuncAutoSurfaceFocusChangeCmd $0
#
+ I DestroyFunc AFuncAutoSurfaceAddWindow
+ I AddToFunc   AFuncAutoSurfaceAddWindow
#
+ I Current SetEnv SURFACE_FOCUSED_WINDOW $[w.id]
+ I All (!Focused) sma AllowsSurfaceRotation
+ I Current sma NoSurfaceRotation
#
+ I DestroyMenu AMenuConfigAutoSurface
+ I AddToMenu   AMenuConfigAutoSurface "Auto Flat" Title
+ I + "Disable" AFuncDisableAutoSurface
+ I + "Enable"  AFuncEnableAutoSurface
+ I + "" Nop
+ I + "Current: Enabled" Title
#
+ I DestroyFunc AFuncSaveConfigAutoSurface
+ I AddToFunc   AFuncSaveConfigAutoSurface
+ I + I Exec echo "AFuncEnableAutoSurface" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

DestroyFunc AFuncDisableAutoSurface
AddToFunc   AFuncDisableAutoSurface
+ I DestroyFunc AFuncAutoSurfaceFocusChange
+ I AddToFunc   AFuncAutoSurfaceFocusChange
+ I DestroyFunc AFuncAutoSurfaceAddWindow
+ I AddToFunc   AFuncAutoSurfaceAddWindow
+ I UnsetEnv SURFACE_FOCUSED_WINDOW
+ I All sma AllowsSurfaceRotation
#
+ I DestroyMenu AMenuConfigAutoSurface
+ I AddToMenu   AMenuConfigAutoSurface "Auto Flat" Title
+ I + "Disable" AFuncDisableAutoSurface
+ I + "Enable"  AFuncEnableAutoSurface
+ I + "" Nop
+ I + "Current: Disabled" Title
#
+ I DestroyFunc AFuncSaveConfigAutoSurface
+ I AddToFunc   AFuncSaveConfigAutoSurface
+ I + I Exec echo "AFuncDisableAutoSurface" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

# -----------------------------------------------------------------------------
# Config Stuff
# -----------------------------------------------------------------------------

# --------------------------------------
# Configurable Move
 
DestroyFunc AFuncConfigMoveTransparencyUpdateMenu
AddToFunc   AFuncConfigMoveTransparencyUpdateMenu
+ I DestroyMenu AMenuConfigMoveTransparency
+ I AddToMenu   AMenuConfigMoveTransparency "Transparency" Title
+ I + "1 (None)" AFuncConfigMoveTransparency 1
+ I + "0.9" AFuncConfigMoveTransparency 0.9
+ I + "0.8" AFuncConfigMoveTransparency 0.8
+ I + "0.7" AFuncConfigMoveTransparency 0.7
+ I + "0.6" AFuncConfigMoveTransparency 0.6
+ I + "0.5" AFuncConfigMoveTransparency 0.5
+ I + "0.4" AFuncConfigMoveTransparency 0.4
+ I + "0.3" AFuncConfigMoveTransparency 0.3
+ I + "0.2" AFuncConfigMoveTransparency 0.2
+ I + "0.1" AFuncConfigMoveTransparency 0.1
+ I + "" Nop
+ I AFuncConfigMenuCurrentMoveTransparency

DestroyFunc AFuncConfigMoveTransparency
AddToFunc   AFuncConfigMoveTransparency
+ I DestroyFunc AFuncMove
+ I AddToFunc   AFuncMove
+ I + I ModuleWindowOperation FvwmAmetista Move MOVE $0
#
+ I DestroyFunc  AFuncConfigMenuCurrentMoveTransparency
+ I AddToFunc    AFuncConfigMenuCurrentMoveTransparency
+ I + I AddToMenu AMenuConfigMoveTransparency "Current: $0"
#
+ I AFuncConfigMoveTransparencyUpdateMenu
#
+ I DestroyFunc AFuncSaveConfigMoveTransparency
+ I AddToFunc   AFuncSaveConfigMoveTransparency
+ I + I Exec echo "AFuncConfigMoveTransparency $0" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

# See also the Config section below

# -------------------------------------
# Resize Transparency Config
 
DestroyFunc AFuncConfigResizeTransparencyUpdateMenu
AddToFunc   AFuncConfigResizeTransparencyUpdateMenu
+ I DestroyMenu AMenuConfigResizeTransparency
+ I AddToMenu   AMenuConfigResizeTransparency "Transparency" Title
+ I + "1 (None)" AFuncConfigResizeTransparency 1
+ I + "0.9" AFuncConfigResizeTransparency 0.9
+ I + "0.8" AFuncConfigResizeTransparency 0.8
+ I + "0.7" AFuncConfigResizeTransparency 0.7
+ I + "0.6" AFuncConfigResizeTransparency 0.6
+ I + "0.5" AFuncConfigResizeTransparency 0.5
+ I + "0.4" AFuncConfigResizeTransparency 0.4
+ I + "0.3" AFuncConfigResizeTransparency 0.3
+ I + "0.2" AFuncConfigResizeTransparency 0.2
+ I + "0.1" AFuncConfigResizeTransparency 0.1
+ I + "" Nop
+ I AFuncConfigMenuCurrentResizeTransparency

DestroyFunc AFuncConfigResizeTransparency
AddToFunc   AFuncConfigResizeTransparency
+ I sma ResizeTransparency $0
#
+ I DestroyFunc  AFuncConfigMenuCurrentResizeTransparency
+ I AddToFunc    AFuncConfigMenuCurrentResizeTransparency
+ I + I AddToMenu AMenuConfigResizeTransparency "Current: $0"
#
+ I AFuncConfigResizeTransparencyUpdateMenu
#
+ I DestroyFunc AFuncSaveConfigResizeTransparency
+ I AddToFunc   AFuncSaveConfigResizeTransparency
+ I + I Exec echo "AFuncConfigResizeTransparency $0" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

# --------------------------------------
# Surface

DestroyFunc AFuncSetSurfaceUpdateMenu
AddToFunc   AFuncSetSurfaceUpdateMenu
+ I DestroyMenu AMenuConfigSurface
+ I AddToMenu   AMenuConfigSurface "Surface Type" Title
+ I + "None" AFuncSetSurface Off "" None
+ I + "Sphere"  AFuncSetSurface On Sphere Sphere
+ I + "Cylinder tb"  AFuncSetSurface On TBCylinder "Cylinder tb"
+ I + "Cylinder lr"  AFuncSetSurface On LRCylinder "Cylinder lr"
+ I + "Sphere - Cylinder"  AFuncSetSurface On SphereCylinder "Sphere - Cylinder"
+ I + "Cylinder - Sphere" AFuncSetSurface On CylinderSphere "Cylinder - Sphere"
+ I + "" Nop
+ I AFuncConfigMenuCurrentSurface

DestroyFunc AFuncSetSurfaceCurvatureUpdateMenu
AddToFunc   AFuncSetSurfaceCurvatureUpdateMenu
+ I DestroyMenu AMenuConfigSurfaceCurvature
+ I AddToMenu   AMenuConfigSurfaceCurvature "Curvature" Title
+ I + "0.8" AFuncSetSurfaceCurvature 0.8
+ I + "0.7" AFuncSetSurfaceCurvature 0.7
+ I + "0.6" AFuncSetSurfaceCurvature 0.6
+ I + "0.5" AFuncSetSurfaceCurvature 0.5
+ I + "0.4" AFuncSetSurfaceCurvature 0.4
+ I + "0.3" AFuncSetSurfaceCurvature 0.3
+ I + "0.2" AFuncSetSurfaceCurvature 0.2
+ I + "0.1" AFuncSetSurfaceCurvature 0.1
+ I + "" Nop
+ I AFuncConfigMenuCurrentSurfaceCurvature

DestroyFunc AFuncSetSurface
AddToFunc   AFuncSetSurface
+ I sma Surface $0 $1
#
+ I DestroyFunc  AFuncConfigMenuCurrentSurface
+ I AddToFunc    AFuncConfigMenuCurrentSurface
+ I + I AddToMenu AMenuConfigSurface "Current: $2"
#
+ I AFuncSetSurfaceUpdateMenu
#
+ I DestroyFunc AFuncSaveConfigSurface
+ I AddToFunc   AFuncSaveConfigSurface
+ I + I Exec echo "AFuncSetSurface $0 \"$1\" \"$2\"" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

DestroyFunc AFuncSetSurfaceCurvature
AddToFunc   AFuncSetSurfaceCurvature
+ I sma DefineSurface Current $0
#
+ I DestroyFunc  AFuncConfigMenuCurrentSurfaceCurvature
+ I AddToFunc    AFuncConfigMenuCurrentSurfaceCurvature
+ I + I AddToMenu AMenuConfigSurfaceCurvature "Current: $0"
#
+ I AFuncSetSurfaceCurvatureUpdateMenu
#
+ I DestroyFunc AFuncSaveConfigSurfaceCurvature
+ I AddToFunc   AFuncSaveConfigSurfaceCurvature
+ I + I Exec echo "AFuncSetSurfaceCurvature $0" >> $[FVWM_USERDIR]/.aconfig
+ I AFuncSaveConfig

# -----------------------------------
# Default and saved config

DestroyFunc AFuncSaveConfig
AddToFunc   AFuncSaveConfig

DestroyFunc AFuncUpdateConfigMenu
AddToFunc   AFuncUpdateConfigMenu

# Default Config
AFuncDisableAutoSurface
AFuncDisableAutoScale
AFuncSetAutoScaleFactor 0.7 70 
AFuncSetSurface Off "" None
AFuncSetSurfaceCurvature 0.4
AFuncWindowTheme Devel
AFuncColoursTheme Cyan_Grey_Gradient
AFuncConfigMoveTransparency 0.7
AFuncConfigResizeTransparency 0.7
AFuncModuleConfigPanel Small
AFuncModuleConfigWindowListResolution global

# override: saved config
read .aconfig

# Should be defined only now!

DestroyFunc AFuncSaveConfig
AddToFunc   AFuncSaveConfig
+ I PipeRead 'echo "#Automatically generated!" > $[FVWM_USERDIR]/.aconfig'
+ I AFuncSaveConfigSurface
+ I AFuncSaveConfigSurfaceCurvature
+ I AFuncSaveConfigAutoSurface
+ I AFuncSaveConfigAutoScale
+ I AFuncSaveConfigAutoScaleFactor
+ I AFuncSaveConfigMoveTransparency
+ I AFuncSaveConfigResizeTransparency
+ I AFuncSaveConfigWindowTheme
+ I AFuncSaveConfigColoursTheme
+ I AFuncSaveConfigModulePanel
+ I AFuncSaveConfigWindowListResolution

# -----------------------------------
# Configuration menu

DestroyMenu AMenuConfig
AddToMenu   AMenuConfig "Configuration" Title
+ "Move Transparency"		Popup AMenuConfigMoveTransparency
+ "Resize Transparency"		Popup AMenuConfigResizeTransparency
+ "" Nop
+ "Auto Scale Window"		Popup AMenuConfigAutoScale
+ "Auto Scale Reduction"	Popup AMenuConfigAutoScaleFactor
+ "" Nop
+ "Surface Rotation"		Popup AMenuConfigSurface
+ "Surface Curvature"		Popup AMenuConfigSurfaceCurvature
+ "Focus Auto Flat"		Popup AMenuConfigAutoSurface
+ "" Nop
+ "Window Themes"		Popup AMenuConfigWindowTheme
+ "Colour Themes"		Popup AMenuConfigColoursTheme
+ "Panel Config"		Popup AMenuConfigPanel
+ "" TearMenuOff

# ------------------------------------------------------------------------------
# For more user customization
# ------------------------------------------------------------------------------

read extra
