When it comes to functions the cleaner format might be to use a variant of the 
Bourne/Bash/"C" format such as  this:

    function name(arg1, arg2, ... argN)
    {
       <processing> 

       return <return status>   (defaults to 0 if not specified)
    }

White space would be irrelevant, whether tabs or spaces are used.  Actual 
desired white space would be in "" or '' sequences as programming languages 
require now.  Command on the same line could separated by ";" as most scripting 
and programming languages use.  Lines could be continued with "\" if desired.  
Variable would be local in scope unless the InfoStoreAdd reference method is 
used, i.e.

     InfoStoreAdd xtermopts "-sb -sl 2000 -aw -rw    -j -ls -fn 7x14 -fb 
7x14bold"

and then referenced as done now:

     +  I exec xterm  $[infostore.xtermopts] $[infostore.geo2]+0+0  &

with the sequence "$[ var.name ]" sequence.  And the sequence "{ }" would 
identify the start and ending of the function's body.  The "function" keyword 
could be "AddFunction".  An alternate format could be:

     AddFunction name(arg1, arg2, ... argN)

       <processing>

       return <return status> (defaults to 0 if not specified)
     EndFunction

Where the keyword "AddFunction" defines the name of the function and list of 
argument references, and the keyword "EndFunction" specifies that the function 
end point.  Or even something like this where keywords are used to define 
things in different method:

     AddFunction name
     FunctionArg arg1
     FunctionArg arg2
         .
         .
         .
     FunctionArg argN
     BeginFunction
        <processing>

        return <return status> (defaults to 0 if not specified)
     EndFunction

The AddFunction keyword could even be extended to specify a program (i.e. 
perl,, php, bash, etc.) to execute the script - say using the format:

     AddFunction name execuute-by

>From my perspective the first and second formats make more sense.

  Keep in mind my .fvwm2 file is pretty simple and based upon the existing 
default.  I use a single 24x4 window paging environment.  I added my .fvwm2rc 
file as fvwm2rc for reference.  I did some cleanup formatting for the regular 
comments.

    Don

John Wiggins wrote on 09/21/2016 11:31 PM:
> The python method has some serious defficiencies when applied to input files 
> like .fvwmrc2, i.e. white space you cannot see (space vs tab) matters and 
> cause read errors that drive you crazy…
> 
> IMO, the 
>       BlockB {
>               line1,
>               line2,
>               line3_and_white_space_doesNotMatter,
> So_This_isValid,
>               andSPACESORTABS_DO_NOT_MATTER}
> 
> 
>> BlockB {
>>         line1,
>>         line2,
>>         line3,
>>         line4
>> }
> 
>> On Sep 21, 2016, at 9:49 PM, elliot s <elliot...@gmail.com> wrote:
>>
>> <<
>> BlockA \
>>         line1, \
>>         line2, \
>>         line3, \
>>         line4
>>
>> Is less visually appealing and can be more difficult locate errors than
>>
>> BlockB {
>>         line1,
>>         line2,
>>         line3,
>>         line4
>> }
>>>>
>>
>> There's the python method of blocking....using indentation.  WYSIWYG
>> I was skeptical at first, but now i like it.
>>
>> if x:   # note the :
>>     y=z
>>    a=1
>>    if n:
>>        a=3
>>        b=1
>>    else:
>>        b = 0
>>    print a,b
>> print y
>>
> 
> 
#########################################################################################
#                                                                               
        #
# .fvwm2rc                                                                    
R00-00.06 #
#                                                                               
        #
# 
=====================================================================================
 #
#                                                                               
        #
# Purpose:                                                                      
        #
#                                                                               
        #
#                                                                               
        #
# 
=====================================================================================
 #
#                                                                               
        #
# Arguments:                                                                    
        #
#                                                                               
        #
# This file is copied to a new user's FVWM_USERDIR by FvwmForm-Setup form.      
        #
# This file contains the commands fvwm reads while starting.                    
        #
#                                                                               
        #
# 
=====================================================================================
 #
#                                                                               
        #
# Programming Notes:                                                            
        #
#                                                                               
        #
#  xclock -digital -padding 4 -update 10 -geometry 300x26+800-0 \               
        #
#                   -strftime "%a %d %b %Y %I:%M:%S %p %Z vm" &                 
        #
#                                                                               
        #
#  xclock -digital -padding 4 -update 10 -geometry 300x26+800-0 \               
        #
#                   -strftime "%a %d/%b/%Y %H:%M:%S %Z"                         
        #
#                                                                               
        #
# 
=====================================================================================
 #
#                                                                               
        #
# Revision:                                                                     
        #
#                                                                               
        #
# Revision   Who          When         Why                                      
        #
# =========  ===========  ===========  
================================================ #
# R00-00.00  DRLJr/I-AS   01/Dec/2014  Header added and other formatting done.  
        #
# R00-00.01  DRLJr/I-AS   04/Mar/2015  Added other focus options as comments.   
        #
# R00-00.02  DRLJr/I-AS   06/May/2015  Change geo1 size for top support.        
        #
# R00-00.03  DRLJr/I-AS   15/Jun/2015  Turned off adding of 4 xterms at 
start-up.  The  #
#                                      functionality will be added to 
do_openxterms.    #
# R00-00.04  DRLJr/I-AS   18/Sep/2015  Added VLC and disable some items not 
used.       #
# R00-00.05  DRLJr/I-AS   07/Jun/2016  Added geo2 and activated 3 xterms on 
startup.    #
# R00-00.06  DRLJr/I-AS   06/Jul/2016  Change the selection of top to put the 
display   #
#                                      in a specific location in the viewport 
based     #
#                                      upon a 1920x1080 screen setup.           
        #
#                                                                               
        #
#########################################################################################

#=======================================================================================#
#                                                                               
        #
#=======================================================================================#

#InfoStoreAdd xtermopts "-sb -sl 2000 -aw -rw +t -j -ls -fn 7x14 -fb 7x14bold"
 InfoStoreAdd xtermopts "-sb -sl 2000 -aw -rw    -j -ls -fn 7x14 -fb 7x14bold"

 InfoStoreAdd xtermt    "-title $[HOSTDISPLAY]"
 InfoStoreAdd xtermn    "-n $[HOSTDISPLAY]"

 InfoStoreAdd geo0      "-g 99x55"
#InfoStoreAdd geo1      "-g 99x52"
 InfoStoreAdd geo1      "-g 99x42"
 InfoStoreAdd geo2      "-g 72x50"

 InfoStoreAdd pagerloc  "720x80+0-0"
 InfoStoreAdd clockopts "-digital -padding 4 -update 10 -geometry 300x26+725-0"

#=======================================================================================#
#                                                                               
        #
#=======================================================================================#

#EdgeResistance 250 10
EdgeScroll 100 100
ClickTime 750

EdgeResistance -1
Style * EdgeMoveDelay 250
Style * EdgeMoveResistance 20

#DeskTopSize 2x2
DeskTopSize 24x4

MenuStyle * fvwm, Foreground white, Background cornflowerblue, Greyed grey40
MenuStyle * Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*

ColormapFocus FollowsMouse

#=======================================================================================#
# Default Styles: Make sure these fonts exist on your system.                   
        #
#=======================================================================================#

Style *           Font -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
Style *           IconFont -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
Style *           HilightFore black, HilightBack cornflowerblue
#Style *          BorderWidth 7, HandleWidth 7
Style *           BorderWidth 4, HandleWidth 4
Style *           Icon unknown1.xpm, Color lightgrey/dimgrey
Style *           MWMFunctions, MWMDecor, HintOverride
Style *           DecorateTransient, NoPPosition
Style *           IconBox 0 -10 -280 -1
#Style *          FocusFollowsMouse
Style *           TileCascadePlacement

#=======================================================================================#
# Styles for various Fvwm modules.                                              
        #
#=======================================================================================#

Style Fvwm*       NoTitle,  Sticky, WindowListSkip
Style Fvwm*       BorderWidth 2, CirculateSkipIcon, CirculateSkip
#Style FvwmPager  StaysOnTop
Style FvwmPager   Sticky
Style FvwmBanner  StaysOnTop
Style FvwmButtons Icon toolbox.xpm, ClickToFocus

#=======================================================================================#
# Styles for common terminal emulator programs.  xterms and rxvts in separate a 
icon    #
# box.                                                                          
        #
#=======================================================================================#

Style XTerm       Icon xterm.xpm, SloppyFocus, IconBox -70 1 -1 -140
Style rxvt        Icon term.xpm, SloppyFocus, IconBox -70 1 -1 -140
Style rxvt        MWMBorder, MWMButtons

#=======================================================================================#
# Styles for various common programs                                            
        #
#=======================================================================================#

Style *lock       NoTitle, NoHandles, Sticky, WindowListSkip, ClickToFocus
Style xbiff       NoTitle, Sticky, WindowListSkip, ClickToFocus
#Style xcalc       Icon xcalc.xpm, NoButton 2,ClickToFocus
Style fcalc       Icon xcalc.xpm, NoButton 2,ClickToFocus
Style xmh         Icon mail1.xpm, NoIconTitle,StickyIcon
Style xmh         NoButton 2
Style xman        Icon xman.xpm, ClickToFocus
Style xmag        Icon mag_glass.xpm, ClickToFocus
Style xgraph      Icon graphs.xpm, ClickToFocus
Style xmosaic     Color Green/Yellow, ClickToFocus

#=======================================================================================#
# Key Bindings                                                                  
        #
#=======================================================================================#

#---------------------------------------------------------------------------------------#
# Some simple default key bindings                                              
        #
#---------------------------------------------------------------------------------------#

Key Next         A       SCM     Next [*] Focus
Key Prior        A       SCM     Prev [*] Focus

#---------------------------------------------------------------------------------------#
# Some simple default mouse bindings: For the root window                       
        #
#---------------------------------------------------------------------------------------#

Mouse 1 R       A       Menu MenuFvwmRoot Nop
Mouse 2 R       A       Menu MenuFvwmWindowOps Nop
Mouse 3 R       A       WindowList

#---------------------------------------------------------------------------------------#
# Some simple default mouse bindings: For the title bar button                  
        #
#---------------------------------------------------------------------------------------#

Mouse 0 1       A       Menu MenuFvwmWindowOps2 Close
Mouse 0 2       A       FuncFvwmMaximize
Mouse 0 4       A       Iconify

#---------------------------------------------------------------------------------------#
# Some simple default mouse bindings: For other parts of the 
window/borders/icons       #
#---------------------------------------------------------------------------------------#

Mouse 1 F       A       FuncFvwmResizeOrRaise
Mouse 1 TS      A       FuncFvwmMoveOrRaise
Mouse 1 I       A       FuncFvwmMoveOrIconify
Mouse 2 I       A       Iconify
Mouse 2 FST     A       Menu MenuFvwmWindowOps2 Nop
Mouse 3 TSIF    A       RaiseLower

#=======================================================================================#
# Initialization Functions                                                      
        #
#=======================================================================================#

#---------------------------------------------------------------------------------------#
# Start Function Initialization                                                 
        #
#---------------------------------------------------------------------------------------#

AddToFunc StartFunction
+ I Module FvwmAnimate
+ I Module FvwmBanner
+ I Module FvwmButtons
+ I Module FvwmPager  

#---------------------------------------------------------------------------------------#
# Init Function Initialization                                                  
        #
#---------------------------------------------------------------------------------------#

AddToFunc InitFunction
#
#+ I exec xsetroot -mod 2 2 -fg rgb:55/40/55 -bg rgb:70/50/70
#+  I exec xterm  $[infostore.xtermopts] $[infostore.geo0]+0+900    
$[infostore.xtermt]-2 $[infostore.xtermn]-2 &
#+  I exec xterm  $[infostore.xtermopts] $[infostore.geo0]+720+900  
$[infostore.xtermt]-3 $[infostore.xtermn]-3 &
#+  I exec xterm  $[infostore.xtermopts] $[infostore.geo0]+0+2700   
$[infostore.xtermt]-4 $[infostore.xtermn]-4 &
#+  I exec xterm  $[infostore.xtermopts] $[infostore.geo0]+720+2700 
$[infostore.xtermt]-5 $[infostore.xtermn]-5 &
#
#+  I exec xterm  $[infostore.xtermopts] $[infostore.geo0]+0+0      
$[infostore.xtermt]-0 $[infostore.xtermn]-0 &
#+  I exec xterm  $[infostore.xtermopts] $[infostore.geo1]+720+0    
$[infostore.xtermt]-1 $[infostore.xtermn]-1 &
#
+  I exec xterm  $[infostore.xtermopts] $[infostore.geo2]+0+0      
$[infostore.xtermt]-0 $[infostore.xtermn]-0 &
+  I exec xterm  $[infostore.xtermopts] $[infostore.geo2]+530+0    
$[infostore.xtermt]-0 $[infostore.xtermn]-0 &
+  I exec xterm  $[infostore.xtermopts] $[infostore.geo2]+1060+0   
$[infostore.xtermt]-0 $[infostore.xtermn]-0 &
#
+  I exec xclock $[infostore.clockopts] &

#---------------------------------------------------------------------------------------#
# Session Init Function Initialization : For some SM-s (like gnome-session) 
there is an #
#                                        internal background setter.            
        #
#---------------------------------------------------------------------------------------#

AddToFunc SessionInitFunction
+ I Nop

#=======================================================================================#
# Menus                                                                         
        #
#=======================================================================================#

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmRoot                                                     
        #
#---------------------------------------------------------------------------------------#

DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot  "$[gt.Root Menu]"             Title
+                       "&1. Xterm"             Exec exec xterm 
$[infostore.xtermopts] $[infostore.geo0] $[infostore.xtermt] 
$[infostore.xtermn] 
+                       "&2. Rxvt"              Exec exec rxvt
+                       ""              Nop
+                       "&R. $[gt.Remote Logins]"     Popup MenuFvwmLogins
+                       ""              Nop
+                       "&U. $[gt.Utilities]"         Popup MenuFvwmUtilities
+                       ""              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
+                       "&X. $[gt.Exit Fvwm]" Popup MenuFvwmQuitVerify

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmUtilities                                                
        #
#---------------------------------------------------------------------------------------#

DestroyMenu MenuFvwmUtilities
AddToMenu MenuFvwmUtilities     "$[gt.Utilities]" Title
#+                      "&T. Top"        Exec exec xterm -T Top -n Top -e top
+                       "&T. Top"        Exec exec xterm -T Top -n Top  
-geometry 87x18+529-83 -e top
+                       ""               Nop
#+                      "&C. Calculator" Exec exec xcalc
+                       "&C. Calculator" Exec exec kcalc
+                       ""               Nop
+                       "&S. Seamonkey"  Exec exec /usr/bin/seamonkey
+                       "&X. Xmms"       Exec exec xmms -m           
+                       "&V. VLC"        Exec exec vlc
+                       ""               Nop
#+                      "&M. Xman"       Exec exec xman
#+                      "&G. Xmag"       Exec exec xmag
+                       "&R. Editres"    Exec exec editres
#+                      ""               Nop
#+                      "&E. XEmacs"     Exec exec xemacs
#+                      "&A. Xmh Mail"   FuncFvwmMailXmh xmh "-font fixed"
#+                      ""               Nop
#+                      "&L. XLock"      Exec exec xlock -mode random
+                       "&L. XLock"      Exec exec xlock -mode blank 
+                       ""               Nop
+                       "&D. $[gt.Reset X defaults]" Exec xrdb -load 
$HOME/.Xdefaults

#---------------------------------------------------------------------------------------#
# Create Menu:  MenuFvwmConfig                                                  
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Create Menu: FvwmWindowCommon                                                 
        #
# The window Ops menus exhibit a different HotKey style.  There are 2 versions 
of the   #
# WindowOps Menu, meant to be bound to different things.  This 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

#---------------------------------------------------------------------------------------#
# Create Menu: FvwmWindowOps                                                    
        #
# 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

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmWindowOps2                                               
        #
# 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

#---------------------------------------------------------------------------------------#
# Create Menu: FuncFvwmRloginXterm                                              
        #
#---------------------------------------------------------------------------------------#

DestroyFunc FuncFvwmRloginXterm
AddToFunc FuncFvwmRloginXterm \
  I Exec xterm -name $0 -title "$USER @ $0" -e rlogin $0

#---------------------------------------------------------------------------------------#
# Create Menu: FuncFvwmRloginRxvt                                               
        #
#---------------------------------------------------------------------------------------#

DestroyFunc FuncFvwmRloginRxvt
AddToFunc FuncFvwmRloginRxvt \
  I Exec rxvt -name $0 -n $0 -title $USER@$0 -e rlogin $0

#---------------------------------------------------------------------------------------#
# Create Menu: FuncFvwmRloginSshRxvt                                            
        #
#---------------------------------------------------------------------------------------#

DestroyFunc FuncFvwmRloginSshRxvt
AddToFunc FuncFvwmRloginSshRxvt \
  I Exec exec ssh $0 rxvt -display $HOSTDISPLAY

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmLogins (fill these in with your correct machine names)   
        #
#---------------------------------------------------------------------------------------#

DestroyMenu MenuFvwmLogins
AddToMenu MenuFvwmLogins
#+ &dopey  FuncFvwmRloginXterm dopey
#+ &snoopy FuncFvwmRloginXterm snoopy
 + dns1    FuncFvwmRloginSshRxvt dns1
 + dns2    FuncFvwmRloginSshRxvt dns2
+ s&ignal Exec rxterm signal

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmModules                                                  
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Create Menu: 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

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmForms                                                    
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Create Menu: FuncFvwmConfigureIconBox (Configure/start using an iconbox on 
the fly)   #
#---------------------------------------------------------------------------------------#

DestroyFunc FuncFvwmConfigureIconBox
AddToFunc FuncFvwmConfigureIconBox
+ I Module FvwmIconBox
+ I Style     *  NoIcon

#---------------------------------------------------------------------------------------#
# Create Menu: MenuFvwmQuitVerify                                               
        #
#---------------------------------------------------------------------------------------#

DestroyMenu MenuFvwmQuitVerify
AddToMenu MenuFvwmQuitVerify "$[gt.Really Quit Fvwm?]" Title
+ "&Q. $[gt.Yes, Really Quit]" Quit
+ ""                     Nop
+ "&R. $[gt.Restart]"          Restart
+ ""                     Nop
+ "&T. $[gt.Start] twm"        Restart twm
+ "&C. $[gt.Start] ctwm"       Restart ctwm
+ "&2. $[gt.Start] tvtwm"      Restart tvtwm
+ "&V. $[gt.Start] vtwm"       Restart vtwm
+ "&M. $[gt.Start] mwm"        Restart mwm
+ "&O. $[gt.Start] olwm"       Restart /usr/openwin/bin/olwm
+ ""                     Nop
+ "&X. $[gt.Just an Xterm]"    Restart xterm -n '"X Console"' -T '"X Console"'
+ ""                     Nop
+ "&N. $[gt.No, Don't Quit]"   Nop

#=======================================================================================#
# Sample Functions                                                              
        #
#=======================================================================================#

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmMailXmh                                                     
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmMoveOrRaise                                                 
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmMaximize                                                    
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmMoveOrIconify                                               
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmResizeOrRaise                                               
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmPrint                                                       
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmPrintReverse                                                
        #
#---------------------------------------------------------------------------------------#

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

#---------------------------------------------------------------------------------------#
# Function: FuncFvwmFocusPolicyChange                                           
        #
#---------------------------------------------------------------------------------------#

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

#=======================================================================================#
# Read Default Configurations for modules                                       
        #
#=======================================================================================#

read ConfigFvwmBacker
#read ConfigFvwmButtons
read ConfigFvwmIconBox
read ConfigFvwmIconMan
read ConfigFvwmIdent
read ConfigFvwmPager
read ConfigFvwmScroll
read ConfigFvwmTaskBar
read ConfigFvwmWinList

#=======================================================================================#
# Place the Fvwm Window Pager on the screen                                     
        #
#=======================================================================================#

*FvwmPager: Geometry $[infostore.pagerloc]

#=======================================================================================#
# Set the styles to use                                                         
        #
#=======================================================================================#

Style *           ClickToFocus
#Style *          MouseFocus
#Style *          FocusFollowsMouse
#Style *          SloppyFocus

#=======================================================================================#
# Define Keyboard shortcuts.                                                    
        #
#=======================================================================================#

#---------------------------------------------------------------------------------------#
# Keyboard Shortcuts: Arrow Keys: press arrow + control anywhere, and scroll by 
1 page  #
#---------------------------------------------------------------------------------------#

Key Left        A       C       Scroll -100 0
Key Right       A       C       Scroll +100 +0
Key Up          A       C       Scroll +0   -100
Key Down        A       C       Scroll +0   +100

#---------------------------------------------------------------------------------------#
# Keyboard Shortcuts: Arrow Keys: press arrow + meta key, and scroll by 1/10 of 
a page  #
#---------------------------------------------------------------------------------------#

Key Left        A       M       Scroll -10 +0
Key Right       A       M       Scroll +10 +0
Key Up          A       M       Scroll +0   -10
Key Down        A       M       Scroll +0   +10

#---------------------------------------------------------------------------------------#
# Keyboard Shortcuts: Arrow Keys: press shift arrow + control anywhere, and 
move the    #
#                                 pointer by 1% of a page                       
        #
#---------------------------------------------------------------------------------------#

Key Left        A       SC      CursorMove -1 0
Key Right       A       SC      CursorMove +1 +0
Key Up          A       SC      CursorMove +0   -1
Key Down        A       SC      CursorMove +0   +1

#---------------------------------------------------------------------------------------#
# Keyboard Shortcuts: Arrow Keys: press shift arrow + meta key, and move the 
pointer by #
#                                 1/10 of a page                                
        #
#---------------------------------------------------------------------------------------#

Key Left        A       SM      CursorMove -10 +0
Key Right       A       SM      CursorMove +10 +0
Key Up          A       SM      CursorMove +0   -10
Key Down        A       SM      CursorMove +0   +10

#########################################################################################
#                                                                               
        #
#########################################################################################

Reply via email to