###########################################################################
# set up the colors
#
# OK some people like bright clear colors on their window decorations.
# These people, I guess would mostly be from nice sunny/good weather places
# line California.
#
# StdForeColor 		Black
# StdBackColor		LightSkyBlue
# HiForeColor 		yellow
# HiBackColor		PeachPuff1
# PagerBackColor	BlanchedAlmond

# Me, I'm from Upstate New York, and live in New Hampshire, so I prefer
# these dark muddy colors...

# this is used for non-selected windows, menus, and the panner
StdForeColor 		Black
StdBackColor 		#60a0c0

# this is used for the selected window
HiForeColor 		Black
HiBackColor 	        DarkGrey

PagerBackColor		magenta
PagerForeColor		orchid

StickyForeColor		Black
StickyBackColor	       Green
# Menu colors
MenuForeColor           Black
MenuBackColor           grey
MenuStippleColor        SlateGrey

############################################################################
# Now the fonts - one for menus, another for window titles, another for icons
Font			-adobe-helvetica-medium-r-*-*-14-*-*-*-*-*-*-*
#Font			-*-times-medium-i-*-*-*-140-*-*-*-*-*-*
WindowFont		-adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
#IconFont		-adobe-helvetica-medium-r-*-*-11-*-*-*-*-*-*-*
IconFont		fixed

###########################################################################
# Set up the major operating modes
#
########################      FOCUS STUFF     ##############################
# Set windows to auto-raise after 750 milliseconds if you like it.
# Autoraise can sometimes obscure pop-up windows. Performance is now
# similar to olvwm's auto-raise feature.
#AutoRaise 750

# Normally, we'll be in focus-follows mouse mode, but uncomment this 
# for mwm-style click-to-focus
ClickToFocus

########################      ICON STUFF     ##############################
# Auto Place Icons is a nice feature....
# This creates two icon boxes, one on the left side, then one on the
# bottom. Leaves room in the upper left for my clock and xbiff,
# room on the bottom for the Pager.
IconBox -150 90 -5 -140
IconBox 5 -140 -140 -5
#IconBox -70 1 -1 -140

# If you uncomment this, and make sure that the WindowList is bound to
# something, it works pretty much like an icon manager.
#SuppressIcons

# StubbornIcons makes icons de-iconify into their original position on the
# desktop, instead of on the current page.
#StubbornIcons

# With AutoPlacement, icons will normally place themselves underneath active
# windows. This option changes that.
#StubbornIconPlacement

# If you want ALL you icons to follow you around the desktop (Sticky), try
# this
#StickyIcons

########################      MWM EMULATION     #######################
#
# My feeling is that everyone should use MWMDecorHints and MWMFunctionHints,
# since some applications depend on having the window manager respect them

# MWMFunction hints parses the function information in the MOTIF_WM_HINTS
# property, and prohibits use of these functions on the window. Appropriate
# portions of the window decorations are removed.
MWMFunctionHints

# MWM is kinda picky about what can be done to transients, and it was keeping
# me from iconifying some windows that I like to iconify, so here's an
# over-ride that will allow me to do the operation, even tough the menu
# item is shaded out.
MWMHintOverride

# MWMDecor hints parses the decoration information in the MOTIF_WM_HINTS
# property, and removes these decoratons from the window. This does not affect
# the functions that can be performed via the menus.
MWMDecorHints

# These are affect minor aspects for the look-and-feel.
# Sub-menus placement mwm-style?
# MWMMenus
# mwm-style border reliefs (less deep than default fvwm) ?
# MWMBorders
# Maximize button does mwm-inversion thingy
# MWMButtons
########################      MISCELLANEOUS STUFF     #######################
# If you don't like the default 150 msec click delay for the complex functions
# change this and uncomment it.
#ClickTime 150

# OpaqueMove has a number (N) attached to it (default 5).
# if the window occupies less than N% of the screen, 
# then opaque move is used. 0 <= N <= 100
OpaqueMove 100

# flip by whole pages on the edge of the screen.
EdgeScroll 100 100

# A modest delay before flipping pages seems to be nice...
# I thresh in a 50 pixel Move-resistance too, just so people
# can try it out.
#EdgeResistance 250 50

# I like to use a large virtual screen and move from page to page with the
# pager.
EdgeResistance 10000 0


########################      WINDOW PLACEMENT     #######################
# RandomPlacement prevents user interaction while placing windows:
# RandomPlacement

# SmartPlacement makes new windows pop-up in blank regions of screen 
# if possible, or falls back to random or interactive placement.
#SmartPlacement

# With SmartPlacement, windows will normally place themselves over icons. 
# Uncomment this to change that.
#StubbornPlacement

# NoPPosition instructs fvwm to ignore the PPosition field in window 
# geometry hints. Emacs annoyingly sets PPosition to (0,0)!
NoPPosition


########################      DECORATIONS     #######################
# If you want decorated transient windows, uncomment this:
DecorateTransients

###########################################################################
# Set up the virtual desktop and pager

#set the desk top size in units of physical screen size
DeskTopSize 3x3 #I changed this to setup 9 virtual screens

# and the reduction scale used for the panner/pager
DeskTopScale 36

# Use the Fvwm Pager
#Pager 5 5

##########################################################################
# Module path and paths to the icons
#
# ModulePath is a colon-separated list, just like regular unix PATH
ModulePath /usr/lib/X11/fvwm
PixmapPath /usr/include/X11/pixmaps/
IconPath   /usr/include/X11/bitmaps/

############################################################################
# Set the decoration styles and window options
# Order is important!!!!
# If compatible styles are set for a single window in multiple Style
# commands, then the styles are ORed together. If conflicting styles
# are set, the last one specified is used.

# These commands should command before any menus or functions are defined,
# and before the internal pager is started.

# change the default width.
Style "*" BorderWidth 5, HandleWidth 5, Color Black/#60a0c0,Icon unknown1.xpm

Style "Fvwm*"      NoTitle, Sticky, WindowListSkip
#Style "Fvwm Pager" StaysOnTop #Igot sick of this little devil being in
                               #the way all the time
Style "FvwmBanner" StaysOnTop
Style "GoodStuff"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0
Style "*lock"      NoTitle, NoHandles, Sticky, WindowListSkip
Style "xbiff"      NoTitle,            Sticky, WindowListSkip
Style "Maker"      StartsOnDesk 1
#Style "matlab"     StartsOnDesk 3 #not installed
Style "signal"     StartsOnDesk 3 
Style "rxvt"       Icon  term.xpm
Style "xterm"      Icon xterm.xpm, Color black/grey
Style "Appointment" Icon datebook.xpm
Style "xcalc"      Icon xcalc.xpm
Style "xbiff"      Icon mail1.xpm
Style "xmh"        Icon mail1.xpm, StartsOnDesk 2
Style "xman"	   Icon xman.xpm
Style "xvgr"	   Icon graphs.xpm
Style "matlab"	   Icon math4.xpm
Style "xmag"	   Icon mag_glass.xpm
Style "xgraph"	   Icon graphs.xpm
Style "GoodStuff"  Icon toolbox.xpm


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

# Stuff to do at start-up

Function "InitFunction"
	Module	"I"	FvwmBanner
#	Exec	"I"	xpmroot /usr/include/X11/pixmaps/fvwm.xpm &
#	Module	"I"	GoodStuff
#	Module	"I"	FvwmPager 0 3
#	Exec	"I"	exec xterm -geometry 80x64+0+0 &
#	Wait	"I"	xterm
#	Desk	"I"	0 2
#	Exec	"I"	exec xmh -font fixed -geometry 507x750+0+0 &
#	Wait	"I"	xmh
#	Desk 	"I"	0 0
EndFunction

Function "RestartFunction"
#	Exec	"I"	xsetroot -solid "#266294"      
#	Module	"I"	GoodStuff
#	Module	"I"	FvwmPager 0 3
EndFunction


############################################################################
# Now define some handy complex functions

# This one moves and then raises the window if you drag the mouse,
# only raises the window if you click,  or does a RaiseLower if you double 
# click
Function "Move-or-Raise"
	Move 		"Motion"
	Raise		"Motion"
	Raise		"Click"
	RaiseLower	"DoubleClick" 
EndFunction

# This one maximizes vertically if you click (leaving room for the GoodStuff bar at the
# bottom, or does a full maximization if you double click, or a true full vertical 
# maximization if you just hold the mouse button down.
Function "maximize_func"
	Maximize	"Motion" 0 100
	Maximize	"Click" 0 80
	Maximize	"DoubleClick" 100 100
EndFunction


# This one moves and then lowers the window if you drag the mouse,
# only lowers the window if you click,  or does a RaiseLower if you double 
# click
Function "Move-or-Lower"
	Move 		"Motion"
	Lower		"Motion"
	Lower		"Click"
	RaiseLower	"DoubleClick"
EndFunction

# This one moves or (de)iconifies:
Function "Move-or-Iconify"
	Move 		"Motion"
	Iconify		"DoubleClick"
EndFunction

# This one resizes and then raises the window if you drag the mouse,
# only raises the window if you click,  or does a RaiseLower if you double 
# click
Function "Resize-or-Raise"
	Resize 		"Motion"
	Raise		"Motion"
	Raise		"Click"
	RaiseLower	"DoubleClick"
EndFunction


# This is provided as a hint only.
# Move to a known page on the desktop, then start an application in a 
# known location. Could also switch to a known desktop, I guess
#Function "abs_coord"
#	GoToPage "Immediate"	1,1
#	Exec	"Immediate"	exec xcalc -geometry +100+100&
#EndFunction


##############################################################################
#now define the menus - defer bindings until later

Popup "Shells"
        Title   "Shells"
        Exec    "Xterm (7x14 font)"     exec /usr/bin/X11/xterm -sb -sl 500 -j -ls -fn 7x14 &
        Exec    "Color Rxvt (VT100 emulator)" exec rxvt  &
        Exec    "Color Xterm (7x14 font)"       exec /usr/bin/X11/color_xterm -sb -sl 500 -j -ls -fn 7x14 &
        Exec    "Large Xterm (10x20 font)"      exec /usr/bin/X11/xterm -sb -sl 500 -j -ls -fn 10x20 &
        Exec    "Large Rxvt (10x20 font)"       exec/usr/bin/X11/rxvt-font 10x20 -ls &
        Exec    "Large Color Xterm (10x20 font)"     exec /usr/bin/X11/color_xterm -sb -sl 500 -j -ls -fn 10x20 &
EndPopup

Popup "Internet" #this is a popup of my own- notice how it is setup and
                 #you can do similar popups
       Title     "Internet"
       Exec      "linuxware"             exec color_xterm -font 7x14 -e linuxware
       Exec      "yakko"                 exec color_xterm -font 7x14 -e yakko
       Exec      "Weather"             exec color_xterm -font 7x14 -e umweather
       Exec      "netlink"               exec xterm -font 7x14 -e netlink
       Exec    "lynx"                     exec xterm -font 7x14 -e lynx
       Exec    "Zircon"                 exec zircon &
       Exec    "Netscape"                 exec /netscape  &    
EndPopup

Popup "Screensaver1" 
        Title   "Screensaver (a-h)"
        Exec    "Ant" 	 	exec xlock -nolock -nice 0 -mode ant &
        Exec    "Bat" 	 	exec xlock -nolock -nice 0 -mode bat &
        Exec    "Blank" 	exec xlock -nolock -nice 0 -mode blank &
	Exec	"Blot" 		exec xlock -nolock -nice 0 -mode blot &
	Exec	"Bouboule"	exec xlock -nolock -nice 0 -mode bouboule &
        Exec    "Bob"   	exec xlock -nolock -nice 0 -mode image &
	Exec	"Bounce" 	exec xlock -nolock -nice 0 -mode bounce &
	Exec	"Braid" 	exec xlock -nolock -nice 0 -mode braid &
	Exec	"Bug"   	exec xlock -nolock -nice 0 -mode bug &
	Exec	"Clock" 	exec xlock -nolock -nice 0 -mode clock &
	Exec	"Daisy" 	exec xlock -nolock -nice 0 -mode daisy &
	Exec	"Demon" 	exec xlock -nolock -nice 0 -mode demon &
	Exec	"Eyes" 		exec xlock -nolock -nice 0 -mode eyes &
	Exec	"Flag" 		exec xlock -nolock -nice 0 -mode flag &
        Exec    "Flame" 	exec xlock -nolock -nice 0 -mode flame &
        Exec    "Forest" 	exec xlock -nolock -nice 0 -mode forest &
        Exec    "Galaxy" 	exec xlock -nolock -nice 0 -mode galaxy &
        Exec    "Geometry" 	exec xlock -nolock -nice 0 -mode geometry &
	Exec	"Grav" 		exec xlock -nolock -nice 0 -mode grav &
	Exec	"Helix" 	exec xlock -nolock -nice 0 -mode helix &
        Exec    "Hop"   	exec xlock -nolock -nice 0 -mode hop   &
	Exec	"Hyper" 	exec xlock -nolock -nice 0 -mode hyper &
EndPopup

Popup "Screensaver2" 
	Title 	"Screensaver (i-z)"
	Exec	"Kaleid" 	exec xlock -nolock -nice 0 -mode kaleid &
	Exec	"Laser" 	exec xlock -nolock -nice 0 -mode laser &
        Exec    "Life"  	exec xlock -nolock -nice 0 -mode life   &
        Exec    "Life1d"  	exec xlock -nolock -nice 0 -mode life1d &
        Exec    "Life3d"  	exec xlock -nolock -nice 0 -mode life3d &
        Exec    "Lightning"  	exec xlock -nolock -nice 0 -mode lightning &
        Exec    "Lissie"  	exec xlock -nolock -nice 0 -mode lissie &
        Exec    "Marquee"  	exec xlock -nolock -nice 0 -mode marquee &
	Exec	"Maze" 		exec xlock -nolock -nice 0 -mode maze &
	Exec	"Mountain"	exec xlock -nolock -nice 0 -mode mountain &
        Exec    "Nose"  	exec xlock -nolock -nice 0 -mode nose &
        Exec    "Penrose"  	exec xlock -nolock -nice 0 -mode penrose &
        Exec    "Petal"  	exec xlock -nolock -nice 0 -mode petal &
        Exec    "Puzzle"  	exec xlock -nolock -nice 0 -mode puzzle &
        Exec    "Pyro"  	exec xlock -nolock -nice 0 -mode pyro &
        Exec    "Qix"   	exec xlock -nolock -nice 0 -mode qix &
        Exec    "Random"	exec xlock -nolock -nice 0 -mode random &
	Exec	"Rock" 		exec xlock -nolock -nice 0 -mode rock &
        Exec    "Rotor" 	exec xlock -nolock -nice 0 -mode rotor &
        Exec    "Shape" 	exec xlock -nolock -nice 0 -mode shape &
        Exec    "Slip"  	exec xlock -nolock -nice 0 -mode slip &
	Exec	"Sphere" 	exec xlock -nolock -nice 0 -mode sphere &
	Exec	"Spiral" 	exec xlock -nolock -nice 0 -mode spiral &
	Exec	"Spline" 	exec xlock -nolock -nice 0 -mode spline &
        Exec    "Swarm" 	exec xlock -nolock -nice 0 -mode swarm &
        Exec    "Swirl" 	exec xlock -nolock -nice 0 -mode swirl &
        Exec    "Tri" 		exec xlock -nolock -nice 0 -mode tri &
        Exec    "Triangle" 	exec xlock -nolock -nice 0 -mode triangle &
        Exec    "Wator"  	exec xlock -nolock -nice 0 -mode wator &
        Exec    "Wire"  	exec xlock -nolock -nice 0 -mode wire &
	Exec	"World"	 	exec xlock -nolock -nice 0 -mode world &
        Exec    "Worm"  	exec xlock -nolock -nice 0 -mode worm &
EndPopup

Popup "Screenlock1"
	Title	"Lock Screen (a-h)"
        Exec    "Ant" 	 	exec xlock -nice 0 -mode ant &
        Exec    "Bat" 	 	exec xlock -nice 0 -mode bat &
        Exec    "Blank" 	exec xlock -nice 0 -mode blank &
	Exec	"Blot" 		exec xlock -nice 0 -mode blot &
	Exec	"Bouboule"	exec xlock -nice 0 -mode bouboule &
        Exec    "Bob"   	exec xlock -nice 0 -mode image &
	Exec	"Bounce" 	exec xlock -nice 0 -mode bounce &
	Exec	"Braid" 	exec xlock -nice 0 -mode braid &
	Exec	"Bug"   	exec xlock -nice 0 -mode bug &
	Exec	"Clock" 	exec xlock -nice 0 -mode clock &
	Exec	"Daisy" 	exec xlock -nice 0 -mode daisy &
	Exec	"Demon" 	exec xlock -nice 0 -mode demon &
	Exec	"Eyes" 		exec xlock -nice 0 -mode eyes &
	Exec	"Flag" 		exec xlock -nice 0 -mode flag &
        Exec    "Flame" 	exec xlock -nice 0 -mode flame &
        Exec    "Forest" 	exec xlock -nice 0 -mode forest &
        Exec    "Galaxy" 	exec xlock -nice 0 -mode galaxy &
        Exec    "Geometry" 	exec xlock -nice 0 -mode geometry &
	Exec	"Grav" 		exec xlock -nice 0 -mode grav &
	Exec	"Helix" 	exec xlock -nice 0 -mode helix &
        Exec    "Hop"   	exec xlock -nice 0 -mode hop   &
	Exec	"Hyper" 	exec xlock -nice 0 -mode hyper &
EndPopup

Popup "Screenlock2"
	Title	"Lock Screen (i-z)"
	Exec	"Kaleid" 	exec xlock -nice 0 -mode kaleid &
	Exec	"Laser" 	exec xlock -nice 0 -mode laser &
        Exec    "Life"  	exec xlock -nice 0 -mode life   &
        Exec    "Life1d"  	exec xlock -nice 0 -mode life1d &
        Exec    "Life3d"  	exec xlock -nice 0 -mode life3d &
        Exec    "Lightning"  	exec xlock -nice 0 -mode lightning &
        Exec    "Lissie"  	exec xlock -nice 0 -mode lissie &
        Exec    "Marquee"  	exec xlock -nice 0 -mode marquee &
	Exec	"Maze" 		exec xlock -nice 0 -mode maze &
	Exec	"Mountain"	exec xlock -nice 0 -mode mountain &
        Exec    "Nose"  	exec xlock -nice 0 -mode nose &
        Exec    "Penrose"  	exec xlock -nice 0 -mode penrose &
        Exec    "Petal"  	exec xlock -nice 0 -mode petal &
        Exec    "Puzzle"  	exec xlock -nice 0 -mode puzzle &
        Exec    "Pyro"  	exec xlock -nice 0 -mode pyro &
        Exec    "Qix"   	exec xlock -nice 0 -mode qix &
        Exec    "Random"	exec xlock -nice 0 -mode random &
	Exec	"Rock" 		exec xlock -nice 0 -mode rock &
        Exec    "Rotor" 	exec xlock -nice 0 -mode rotor &
        Exec    "Shape" 	exec xlock -nice 0 -mode shape &
        Exec    "Slip"  	exec xlock -nice 0 -mode slip &
	Exec	"Sphere" 	exec xlock -nice 0 -mode sphere &
	Exec	"Spiral" 	exec xlock -nice 0 -mode spiral &
	Exec	"Spline" 	exec xlock -nice 0 -mode spline &
        Exec    "Swarm" 	exec xlock -nice 0 -mode swarm &
        Exec    "Swirl" 	exec xlock -nice 0 -mode swirl &
        Exec    "Tri" 		exec xlock -nice 0 -mode tri &
        Exec    "Triangle" 	exec xlock -nice 0 -mode triangle &
        Exec    "Wator"  	exec xlock -nice 0 -mode wator &
        Exec    "Wire"  	exec xlock -nice 0 -mode wire &
	Exec	"World"	 	exec xlock -nice 0 -mode world &
        Exec    "Worm"  	exec xlock -nice 0 -mode worm &
EndPopup
# comments in this section reflect things I don't have installed
Popup "Games"
        Title   "Games"
        Exec    "Maze"          exec maze &
        Exec    "Spider"        exec spider &
#        Exec    "Xcolormap"     exec xcolormap &
        Exec    "Workman"       exec workman &
#       Exec    "Xboard"        exec xboard &
        Exec    "Xcuckoo"       exec xcuckoo &
        Exec    "Xeyes"         exec xeyes &
        Exec    "Xhextris"      exec xhextris &
        Exec    "Xlander"       exec xlander &
        Exec    "Xlogo"         exec xlogo &
        Exec    "Xmahjongg"     exec xmahjongg &
        Exec    "Xroach"        exec xroach &
        Exec    "Xtetris"       exec xtetris &
        Exec    "Xvier"         exec xvier &
#        Exec    "Xbombs"        exec xbombs &
#        Exec    "Puzzle"        exec puzzle &
#        Exec    "Xgas"          exec xgas &
EndPopup
 
Popup "PPP" #another popup I made- it only works when i startx as root,
#but if you change the right permissions it could be usable by any
#user-Exercise caution !!
      Title      "PPP"
      Exec       "pppON"       exec ppp-on
      Exec       "pppOFF"      exec ppp-off
EndPopup
# again, comments mean it's not installed
Popup "Applications"
        Title   "Applications"
 #      Exec    "Ghostview"     exec ghostview &
 #      Exec    "GNU Emacs"     exec emacs &
 #      Exec    "Lucid Emacs"   exec lemacs &
        Exec    "Seyon"         exec seyon -modem /dev/modem &
        Exec    "XV"            exec xv &
        Exec    "X3270"         exec x3270 &
        Exec    "Xedit"         exec xedit &
 #      Exec    "Xfig"          exec xfig &
#       Exec    "Xfilemanager"  exec xfilemanager &
#       Exec    "Xfm"           exec xfm &
#       Exec    "Xfractint"     exec rxvt -font 7x14 -e xfractintmap=chroma &
#       Exec    "Xgrab"         exec xgrab &
        Exec    "Xpaint"        exec xpaint &
#       Exec    "Xspread"       exec xspread &
        Exec    "Xxgdb"         exec xxgdb &
EndPopup

# This menu is invoked as a sub-menu - it allows you to quit,
# restart, or switch to another WM.
Popup "Quit-Verify"
	Title	"Really Quit Fvwm?"
	Quit	"Yes, Really Quit"
	Restart "Restart Fvwm"	fvwm
	Restart "Start twm" 	twm
	Restart "Start tvtwm" 	tvtwm
	Restart "Start mwm" 	mwm
	Restart "Start olvwm" 	/usr/openwin/bin/olvwm
	Restart "Start olwm" 	/usr/openwin/bin/olwm
	Nop	""
	Nop	"No, Don't Quit"
EndPopup

# Provides a list of modules to fire off
Popup "Module-Popup"
	Title	"Modules"
	Module	"GoodStuff"	GoodStuff
	Module	"Clean-Up"	FvwmClean
	Module	"Identify"	FvwmIdent
	Module  "SaveDesktop"   FvwmSave
	Module	"Debug"		FvwmDebug
	Module  "Pager"         FvwmPager 0 3
	Module  "FvwmWinList"   FvwmWinList
EndPopup

# This menu will fire up some very common utilities
Popup "Utilities"
	Title 	"Utilities"
        Exec    "Edith"         exec edith &
        Exec    "SysLogTk"      exec wish /tmp/syslogtk &
#       Exec    "Top"           exec rxvt  -T Top -n Top -e top &
        Exec    "TkDesk"        exec tkdesk &
        Exec    "Calculator"    exec xcalc &
        Exec    "Xman"          exec xman &
        Exec    "Xmag"          exec xmag &
        Exec    "Oclock"        exec oclock &
        Nop     ""
        Popup   "Applications"  Applications
        Nop     ""
        Popup   "Internet"      Internet
        Nop     ""
        Popup   "PPP"           ppp
        Nop     ""
        Popup   "Shells"        Shells
        Nop     ""
        Popup   "Games"         Games
        Nop     ""
        Popup   "Screensaver (a-h)"   Screensaver1
        Popup   "Screensaver (i-z)"   Screensaver2
        Nop     ""
        Popup   "Lock Screen (a-h)"   Screenlock1
        Popup   "Lock Screen (i-z)"   Screenlock2
	Nop	""
	Popup	"Modules"	Module-Popup
	Nop	""
	Popup	"Exit Fvwm"	Quit-Verify
        Nop     ""
        Refresh "Refresh Screen"
EndPopup

# This defines the most common window operations
Popup "Window Ops"
	Title		"Window Ops"
	Function	"Move" 		Move-or-Raise
	Function 	"Resize" 	Resize-or-Raise
	Raise   	"Raise"
	Lower   	"Lower"
	Iconify 	"(De)Iconify" 
	Stick		"(Un)Stick"
	Function 	"(Un)Maximize"	maximize_func
	Nop     	""
	Destroy 	"Destroy"
	Delete  	"Delete"
	Nop		""
	Refresh		"Refresh Screen"
EndPopup

# A trimmed down version of "Window Ops", good for binding to decorations
Popup "Window Ops2"
	Function 	"Move"		Move-or-Raise
	Function  	"Resize" 	Resize-or-Raise
	Raise   	"Raise"
	Lower   	"Lower"
	Iconify 	"Iconify"
	Stick		"(Un)Stick"
	Nop     	""
	Destroy 	"Destroy"
	Delete  	"Delete"
	Nop 		""
	Module		"ScrollBar" 	FvwmScroll 2 2
EndPopup

#############################################################################
# One more complex function - couldn't be defined earlier because it used 
# pop-up menus
#
# This creates a motif-ish sticky menu for the title-bar window-ops
# pop-up
# Menu acts like normal twm menu if you just hold the button down,
# but if you click instead, the menu stays up, motif style
Function "window_ops_func"
	PopUp 	"Click"		Window Ops2
	PopUp	"Motion"	Window Ops2
# Motif would add
#       Delete  "DoubleClick"  
EndFunction


##############################################################################
# This defines the mouse bindings

# First, for the mouse in the root window
# Button 1 gives the Utilities menu
# Button 2 gives the Window Ops menu
# Button 3 gives the WindowList (like TwmWindows)
# I use the AnyModifier (A) option for the modifier field, so you can hold down
# any shift-control-whatever combination you want!

#     Button	Context Modifi 	Function
Mouse 1		R   	A       PopUp "Utilities"
Mouse 2		R    	A      	PopUp "Window Ops"
Mouse 3         R       A       WindowList
#Mouse 3		R    	A      	Module "winlist" FvwmWinList transient



# Now the title bar buttons
# Any button in the left title-bar button gives the window ops menu
# Any button in the right title-bar button Iconifies the window
# Any button in the rightmost title-bar button maximizes
# Note the use of "Mouse 0" for AnyButton.

#     Button	Context Modifi 	Function
Mouse 0		1    	A      	Function "window_ops_func"
Mouse 0		2    	A     	Function "maximize_func"
Mouse 0		4    	A     	Iconify

# Now the rest of the frame
# Here I invoke my complex functions for Move-or-lower, Move-or-raise,
# and Resize-or-Raise. 
# Button 1 in the corner pieces, with any modifiers, gives resize or raise
Mouse 1		F	A	Function "Resize-or-Raise"
# Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise
Mouse 1		TS	A	Function "Move-or-Raise"

# Button 1 in an icons gives move for a drag, de-iconify for a double-click,
# nothing for a single click
# Button 2 in an icon, w/ any modifiers, gives de-iconify

Mouse 1		I	A	Function "Move-or-Iconify"
Mouse 2		I	A	Iconify

# Button 2 in the corners, sides, or title-bar gives the window ops menu
Mouse 2		FST	A	Function "window_ops_func"
# Button 3 anywhere in the decoration (except the title-bar buttons)
# does a raise-lower
Mouse 3		TSIF	A	RaiseLower

# Button 3 in the window, with the Modifier-1 key (usually alt or diamond)
# gives Raise-Lower. Used to use control here, but that interferes with xterm
Mouse 3         W       M       RaiseLower

############################################################################
# Now some 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

# 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

# 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

# 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

# Keyboard accelerators
Key F1		A	M	Popup "Utilities"
Key F1		A	M	Popup "Utilities"
Key F2		A	M	Popup "Window Ops"
Key F3		A	M	Module "WindowList" FvwmWinList 
Key F4		A	M	Iconify
Key F5		A	M	Move
Key F6		A	M	Resize
Key F7		A	M	CirculateUp
Key F8		A	M	CirculateDown

#Page Up/Dapge Down keys are used to scroll by one desktop page
# in any context, press page up/down + control
# in root context, just pressing page up/down is OK
# 
# I prefer the non-wrapping scroll. These are for example purposes only
#Key Next	A       C       Scroll 100000 0
#Key Next	R       N       Scroll 100000 0  
#Key Prior	A       C       Scroll -100000 0
#Key Prior	R       N       Scroll -100000 0


############################################################################
############################################################################
#Definitions used by the modules

###################### GoodStuff button-bar ################################
# Colors
*GoodStuffFore Black
*GoodStuffBack #908090

# Font
*GoodStuffFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
# Geometry - really likes to pick its own size, but giving a position is OK
*GoodStuffGeometry -1-90

# Layout: specify rows or columns, not both
*GoodStuffColumns 1

# Define the buttons to use.....
*GoodStuff Kill    rbomb.xpm    Destroy

# xterm or rxvts on remote machines can be done like this
# Output re-direction is csh style, not sh style
# You will want to substitute your own hosts here!

#*GoodStuff Dopey   rterm.xpm   Exec "dopey" rsh dopey "exec xterm -T dopey -display $HOSTDISPLAY </dev/null >&/dev/null & "&
#*GoodStuff Grumpy  rterm.xpm   Exec "grumpy" rsh grumpy "exec xterm -T grumpy -display $HOSTDISPLAY </dev/null >&/dev/null & "&
#*GoodStuff Snoopy  rterm.xpm   Exec "snoopy" rsh snoopy "exec xterm -T snoopy -display $HOSTDISPLAY </dev/null >&/dev/null & "&
#*GoodStuff Xcalc   rcalc.xpm   Exec "Calculator" xcalc &
#*GoodStuff mail    mail2.xpm    Exec "xmh" xmh &

#*GoodStuff Paging  clamp.xpm   TogglePage
#*GoodStuff xclock  clock.xpm   Swallow "xclock" xclock -bg \#908090 -geometry -1500-1500 -padding 0 &


######################### No Clutter ########################################
# I only wrote NoClutter as a simple test case, but maybe some big sites like
# universities really have usage problems (too many open windows)....
# Time delays are in seconds.
*FvwmNoClutter 3600 Iconify 1
*FvwmNoClutter 86400 Delete
*FvwmNoCLutter 172800 Destroy

########################## Window-Identifier ###############################
# Just choose colors and a fonts
*FvwmIdentBack MidnightBlue
*FvwmIdentFore Yellow
*FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*

########################### Pager #########################################
*FvwmPagerBack #908090
*FvwmPagerFore #484048
*FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmPagerHilight #cab3ca
*FvwmPagerGeometry -1-1
*FvwmPagerLabel 0 Misc
*FvwmPagerLabel 1 FrameMaker
*FvwmPagerLabel 2 Mail
*FvwmPagerLabel 3 Matlab
*FvwmPagerSmallFont 5x8


##########################FvwmWinList##################################
*FvwmWinListBack #908090
*FvwmWinListFore Black
*FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
*FvwmWinListAction Click1 Iconify -1,Focus
*FvwmWinListAction Click2 Iconify
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent
*FvwmWinListUseSkipList
*FvwmWinListGeometry +0-1
                                      
