Subject: [[email-masked]: Re: fvwmrc_convert]

From: Julian Gilbey <[email-masked]>
Date: Wed, 4 Jul 2001 11:19:03 -0400

A long time ago Victor wrote to me about some problems with (the then
current) fvwmrc_convert.  I haven't ever found the time to look into
them; please could one of you do so?

Thanks,

   Julian

----- Forwarded message from Victor Meghesan <[email-masked]> -----

Date: Wed, 19 Jan 2000 11:10:23 +0200 (EET)
From: Victor Meghesan <[email-masked]>
Subject: Re: fvwmrc_convert
To: Julian Gilbey <[email-masked]>

On Wed, 19 Jan 2000, Julian Gilbey wrote:

> Thanks for this!
> 
> On Wed, Jan 05, 2000 at 05:07:00PM +0200, Victor Meghesan wrote:
> > 
> > Hello,
> > 
> > Here's a bug report on fvwmrc_convert 
> > 
> > The section where we choose/test AWK is broken. 
> > Fix:
> >   
> >    s/elsif/elif/g
> 
> Yikes!!
> 
> >    s/AWK=gawk/AWK=`command -v gawk`/g
> > 
> >    s/AWK=awk/AWK=`command -v awk`/g
> 
> I don't think so; command -v checks that the command is recognised via
> the shell and PATH, so if it returns successfully, we should just be
> able to use the plain name.  Let me know if you disagree with that.
> 

I'm right. Trust me.

> > And some suggestions for enhancement:
> > 
> > Change the default handling for Unknown keyword from
> > 
> >    Warning: Unknown keyword OpaqueResize passed through
> > 
> > to
> > 
> >    Warning: Unknown keyword OpaqueResize command dropped
> > 
> > like other options that are dropped
> > 
> >   Warning: StubbornPlacement not in Fvwm2, command dropped
> 
> Hmm.  I'm not keen on this, as there are a quite a number of keywords
> that didn't change from FVWM 1.24 to FVWM 2.2, and I don't want to
> lock them out just because I don't explicitly check for them.
> 

>From personal experience: For me dropped works better than passed through.
Suggestion droop them but echo a commented #Warning to stdout|stderr and
in the .fvwm2rc output file.

> > With the actual parser a line like
> > 
> >   *GoodStuff (2x1) xload NULL Swallow "xload" xload &
> > 
> > will pass, after s/GoodStuff/FvwmButtons/g
> > but will not work after
> 
> Why not?  It seems from the FvwmButtons page that it ought to.  What
> error message is produced?  Would it be better if NULL were replaced
> by '-'?  I've put in a warning message.
> 

In 2.2 the (2x2) etc etc does not work.
A fix could be s/([0-9]x[0-9])//g 

uncomment the 
#*GoodStuff (1x1) xbiff  NULL Swallow "xbiff" xbiff -bg grey -fg black &
in the .fvwmrc attchmnt and run the converter and you will see the error

> > HiForeColor and HiBackColor sould be dropped 
> > now are passed like this:
> > 
> > --->
> > # this is used for the selected window
> > #!HiForeColor           white (new command=Style * HilightFore)
> > #!HiBackColor           cadetblue (new command=Style * HilightBack)
> > 
> > #Set the background color for selected windows
> > Style * HilightBack cadetblue
> > ...
> > #Set the foreground color for selected windows
> > Style * HilightFore white
> > EOF
> > <---
> 
> I don't believe that Style accepts a Hilight{Back,Fore} option.  (It
> didn't a month or so ago; haven't checked recently.)  Let me know if
> I'm wrong.
> 

this is the output I got in Dec 1999 (I downloaded the converter from
www.fvwm.org)
also see the fvwm2 man page.

> > other things that seem to be misconverted
> > 
> > -->
> > # Menu colors  
> > #!MenuForeColor           black
> > MenuStyle * Foreground black 
> > #!MenuBackColor           lightgrey
> > MenuStyle * Background lightgrey
> > #!MenuStippleColor        darkgrey
> > MenuStyle * Greyed darkgrey
> 
> What's wrong with this?
> 

look in the man page for fvwm2.

> > ############################################################################
> > # Now the fonts - one for menus, another for window titles, another for
> > icon
> > s
> > #!Font                  -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*
> > MenuStyle * Font -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*
> > Style * Font -adobe-times-bold-r-*-*-18-*-*-*-*-*-*-*Style * IconFont
> > -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
> > <---
> > (this is how it actually looks)
> 
> Huh?  Please can you send me the input file you used to produce this
> output.  I can't understand how it could possibly have originated from
> a correct .fvwmrc using the current version of fvwmrc_convert.
> 

See the attchmnt

> > Hope that this info helps in making a better fvwmrc-to-fvwm2rc converter
> 
> Yes, thank you!  Much appreciated.

Also you could check the converter on the system.fvwmrc and
sample_configs/* from fvwm1.24last-one.tgz.

Regards,
Victor

Content-Description: here is my fvwmrc
#########################################################################
# set up the colors

# this is used for non-selected windows, menus, and the panner
StdForeColor 		black
StdBackColor 		lightgrey

# this is used for the selected window
HiForeColor 		white
HiBackColor 		cadetblue

#PagerForeColor		lightblue
#PagerBackColor		cadetblue

StickyForeColor		black
StickyBackColor		skyblue

# Menu colors
MenuForeColor           black
MenuBackColor           lightgrey
MenuStippleColor        darkgrey

############################################################################
# Now the fonts - one for menus, another for window titles, another for icons
Font			-adobe-times-bold-r-*-*-14-*-*-*-*-*-*-*
WindowFont		-adobe-times-bold-r-*-*-18-*-*-*-*-*-*-*
IconFont		-adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*

###########################################################################
# 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 250

SloppyFocus
# 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 -60 1 -1 760

# 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
OpaqueResize

# 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

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

# 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/X11R6/lib/X11/fvwm
PixmapPath /usr/X11R6/include/X11/pixmaps:/usr/X11R6/include/X11/bitmaps
IconPath   /usr/X11R6/include/X11/bitmaps:/usr/X11R6/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/lightgrey, NoIcon
Style "Fvwm*"      NoTitle, Sticky, WindowListSkip
Style "Fvwm Pager" StaysOnTop
Style "FvwmBanner" StaysOnTop
Style "GoodStuff"  NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 5
Style "*lock"      NoTitle, NoHandles, Sticky, WindowListSkip
Style "xbiff"      NoTitle,            Sticky, WindowListSkip

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

# Stuff to do at start-up

Function "InitFunction"
	Exec	"I"	[ -f $HOME/.xlogo ] && xv ` xwininfo -root | grep geometry ` -root -quit $HOME/.xlogo || xpmroot /usr/X11/include/X11/pixmaps/fvwm.xpm &
	Module	"I"	FvwmBanner
	Module	"I"	FvwmPager 0 0
	Module	"I"	FvwmIconBox
	Module	"I"	GoodStuff
EndFunction

Function "RestartFunction"
	Module	"I"	FvwmPager 0 0
	Module	"I"	FvwmIconBox
	Module	"I"	GoodStuff
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 100
	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 "Screensaver1" 
        Title   "Screensaver (a-k)"
        Exec    "Ant" 	 	exec xlock -nolock -nice 0 -mode ant &
        Exec    "Ball" 	 	exec xlock -nolock -nice 0 -mode ball &
        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	"Bomb" 		exec xlock -nolock -nice 0 -mode bomb &
	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	"Dclock" 	exec xlock -nolock -nice 0 -mode dclock &
	Exec	"Demon" 	exec xlock -nolock -nice 0 -mode demon &
	Exec	"Drift" 	exec xlock -nolock -nice 0 -mode drift &
	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    "Fract" 	exec xlock -nolock -nice 0 -mode fract &
        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 &
	Exec	"Ico"	 	exec xlock -nolock -nice 0 -mode ico &
	Exec	"Ifs"	 	exec xlock -nolock -nice 0 -mode ifs &
	Exec	"Julia"	 	exec xlock -nolock -nice 0 -mode julia &
	Exec	"Kaleid" 	exec xlock -nolock -nice 0 -mode kaleid &
EndPopup

Popup "Screensaver2" 
	Title 	"Screensaver (l-z)"
	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    "Lisa"  	exec xlock -nolock -nice 0 -mode lisa &
        Exec    "Lissie"  	exec xlock -nolock -nice 0 -mode lissie &
        Exec    "Loop"  	exec xlock -nolock -nice 0 -mode loop &
        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    "Pacman"  	exec xlock -nolock -nice 0 -mode pacman &
        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	"Roll" 		exec xlock -nolock -nice 0 -mode roll &
        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	"Star"	 	exec xlock -nolock -nice 0 -mode star &
	Exec	"Strange" 	exec xlock -nolock -nice 0 -mode strange &
        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    "Tube"	 	exec xlock -nolock -nice 0 -mode tube &
        Exec    "Turtle" 	exec xlock -nolock -nice 0 -mode turtle &
        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-k)"
        Exec    "Ant" 	 	exec xlock -nice 0 -mode ant &
        Exec    "Ball" 	 	exec xlock -nice 0 -mode ball &
        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	"Bomb" 		exec xlock -nice 0 -mode bomb &
	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	"Dclock" 	exec xlock -nice 0 -mode dclock &
	Exec	"Demon" 	exec xlock -nice 0 -mode demon &
	Exec	"Drift" 	exec xlock -nice 0 -mode drift &
	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    "Fract" 	exec xlock -nice 0 -mode fract &
        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 &
	Exec	"Ico"	 	exec xlock -nice 0 -mode ico &
	Exec	"Ifs"	 	exec xlock -nice 0 -mode ifs &
	Exec	"Julia"	 	exec xlock -nice 0 -mode julia &
	Exec	"Kaleid" 	exec xlock -nice 0 -mode kaleid &
EndPopup

Popup "Screenlock2"
	Title	"Lock Screen (l-z)"
	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    "Lisa"  	exec xlock -nice 0 -mode lisa &
        Exec    "Lissie"  	exec xlock -nice 0 -mode lissie &
        Exec    "Loop"  	exec xlock -nice 0 -mode loop &
        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    "Pacman"  	exec xlock -nice 0 -mode pacman &
        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	"Roll" 		exec xlock -nice 0 -mode roll &
        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	"Star"	 	exec xlock -nice 0 -mode star &
	Exec	"Strange" 	exec xlock -nice 0 -mode strange &
        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    "Tube"	 	exec xlock -nice 0 -mode tube &
        Exec    "Turtle" 	exec xlock -nice 0 -mode turtle &
        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

Popup "Shells"
        Title   "Shells"
        Exec    "X Terminal"    exec xterm -sb -sl 5000 -j -ls &
EndPopup

Popup "Games"
        Title   "Games"
        Exec    "Chess"         exec xboard &
        Exec    "Mahjongg"      exec xmahjongg -cr &
        Exec    "Lines"         exec xlines &
        Exec    "Vier"          exec xvier &
        Exec    "Spider"        exec spider &
        Exec    "Lunar Lander"  exec xlander &
        Exec    "Curious Eyes"  exec xeyes &
        Exec    "X Window Logo" exec xlogo &
        Exec    "Fractal Generator" exec xterm -e xfractint map=chroma &
        Exec    "Animate Icosahedron" exec ico -sleep 1 &
        Exec    "Cockroaches"   exec xroach &
EndPopup

Popup "Emulators"
        Title   "Emulators"
        Exec    "Dos Emulator"  exec xdos &
        Exec    "Sinclair ZX Spectrum Emulator" exec xzx -scale 2 &
EndPopup

Popup "Clocks"
        Title   "Clocks"
        Exec    "Clock"         exec /usr/openwin/bin/clock &
        Exec    "XClock"        exec xclock &
        Exec    "OClock"        exec oclock &
EndPopup

Popup "TextEditors"
        Title   "Text Editors"
        Exec    "TextEdit"      exec /usr/openwin/bin/textedit &
        Exec    "XEdit"         exec xedit &
        Exec    "GNU Emacs"     exec emacs &
        Exec    "WordPerfect"   exec xwp &
EndPopup

Popup "Mail"
        Title   "Mail"
        Exec    "Pine"          exec xterm -e pine &
        Exec    "Elm"           exec xterm -e elm &
        Exec    "Mailbox Flag"  exec xbiff &
EndPopup

Popup "Applications"
        Title   "Applications"
        Exec    "Spreadsheet"   exec xspread &
        Exec    "View Images"   exec xv &
        Exec    "DVI Previewer" exec xdvi &
        Exec    "Ghostview"     exec ghostview &
        Exec    "Acrobat Reader" exec acroread &
        Exec    "Netscape"      exec netscape &
        Exec    "StarOffice"    exec soffice &
        Exec    "Telnet"        exec xterm -e telnet &
        Exec    "Ftp"           exec xterm -e ftp &
EndPopup

Popup "Graphics"
        Title   "Graphics"
        Exec    "XPaint"        exec xpaint &
        Exec    "GIMP"          exec gimp &
        Exec    "Bitmap Generator" exec bitmap &
        Exec    "Figures Generator" exec xfig &
        Exec    "Graphics Demo" exec xgc &
EndPopup

Popup "FileManagers"
        Title   "File Managers"
        Exec    "TkDesk"        exec tkdesk &
        Exec    "XFilemanager"  exec xfilemanager &
        Exec    "Xfm"           exec xfm &
EndPopup

Popup "Multimedia"
        Title   "Multimedia"
        Exec    "Workman"    exec /usr/openwin/bin/workman &
        Exec    "XPlaycd"    exec xplaycd &
        Exec    "XMixer"     exec xmixer &
        Exec    "X11Amp"     exec x11amp &
        Exec    "MXAudio"    exec mxaudio &
EndPopup

Popup "Utilities"
	Title 	"Utilities"
        Exec    "Calculator"    exec xcalc &
        Exec    "Midnight Commander" exec xterm -e mc -c &
        Exec    "Top"           exec xterm -e top &
        Exec    "Manual"        exec xman &
        Exec    "Magnifying Glass" exec xmag &
        Exec    "Debugger"      exec xxgdb &
        Exec    "Colormap"      exec xcmap &
        Exec    "Select Font"   exec xfontsel &
        Exec    "Console Messages" exec xconsole &
        Exec    "CPU Statistics" exec xcpustate -interval 5 &
        Exec    "System Load"   exec xload -update 5 &
        Exec    "Memory Info"   exec /usr/openwin/bin/meminfo &
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?"
	Restart "Restart fvwm"	fvwm
	Nop	""
	Restart "Start xterm" 	xterm
	Nop	""
	Restart "Start twm" 	twm
	Restart "Start mwm" 	mwm
	Restart "Start fvwm95-2" fvwm95-2
	Restart "Start olwm" 	/usr/openwin/bin/olwm
	Restart "Start olvwm" 	/usr/openwin/bin/olvwm
	Nop	""
	Quit	"Yes, Really Quit"
	Nop	"No, Don't Quit"
EndPopup

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

# This menu will fire up some very common utilities
Popup "MainMenu"
	Title 	"Main Menu"
        Popup   "Shells"        Shells
        Popup   "Utilities"     Utilities
        Popup   "Mail"          Mail
        Popup   "Graphics"      Graphics
        Popup   "Text Editors"  TextEditors
        Popup   "Applications"  Applications
        Popup   "File Managers" FileManagers
        Popup   "Multimedia"    Multimedia
        Popup   "Emulators"     Emulators
        Popup   "Clocks"        Clocks
        Popup   "Games"         Games
        Nop     ""
        Popup   "Screensaver (a-k)"   Screensaver1
        Popup   "Screensaver (l-z)"   Screensaver2
        Nop     ""
        Popup   "Lock Screen (a-k)"   Screenlock1
        Popup   "Lock Screen (l-z)"   Screenlock2
	Nop	""
	Popup	"Modules"	Module-Popup
	Nop	""
        Refresh "Refresh Screen"
        Nop     ""
	Popup	"Exit Fvwm"	Quit-Verify
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"
	Close	  	"Close"
	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 Main Menu 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 "MainMenu"
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 "MainMenu"
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 cadetblue

# Font
*GoodStuffFont -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
# Geometry - really likes to pick its own size, but giving a position is OK
*GoodStuffGeometry 460x146-5-5

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

# Define the buttons to use.....

# 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!

# Define the buttons to use.....
*GoodStuff xeyes NULL Swallow "xeyes" xeyes -bg cadetblue -fg black -center lightblue &
*GoodStuff xload NULL Swallow "xload" xload -bg cadetblue -fg black -nolabel &
*GoodStuff xclock NULL Swallow "xclock" xclock -bg cadetblue -fg black -hl black -hd black &

#*GoodStuff (1x1) xbiff  NULL Swallow "xbiff" xbiff -bg grey -fg black &
#*GoodStuff OClock clock.xpm Swallow "oclock" oclock -transparent -geometry -1500-1500 &
#*GoodStuff xeyes xlogo.xpm Swallow "xeyes" xeyes -geometry -1500-1500 &
#*GoodStuff XBiff xbiff.xpm Swallow "xbiff" xbiff -bg grey -geometry -1500-1500 &
#*GoodStuff Clock clock.xpm Swallow "xclock" xclock -bg grey -geometry -1500-1500 -padding 0 &
#*GoodStuff Mailtool mail.xpm Exec "pine" xterm -e pine &
#*GoodStuff Shells term.xpm Popup "Shells" Shells
#*GoodStuff Filemanager xfm_icon.xpm Exec "xfilemanager" xfilemanager &
#*GoodStuff FileManager xfm_appmgr.xpm Exec "xfm" xfm &
#*GoodStuff Manual man.xpm Exec "xman" xman &
#*GoodStuff TextEditor edit.xpm Exec "xedit" xedit &
#*GoodStuff Calculator calc.xpm Exec "Calculator" xcalc &
#*GoodStuff Paint xpaint.xpm Exec "xpaint" xpaint &
#*GoodStuff ViewImages xv.xpm Exec "xv" xv &
#*GoodStuff Ghostview ghostview.xpm Exec "ghostview" ghostview &
#*GoodStuff PlayMP3 cdrom_library.xpm Exec "x11amp" x11amp &
#*GoodStuff PlayCD cdrom.xpm Exec "xplaycd" xplaycd &
#*GoodStuff Netscape Netscape.xpm Exec "netscape " netscape &
#*GoodStuff (2x1) - xlogo.xpm SwallowModule Exec "Desktop" FvwmPager 0 0
#*GoodStuff XTerminal xterm.xpm Exec "xterm" xterm -sb -sl 5000 -j -ls &
#*GoodStuff Utilities drafting.xpm Popup "Utilities" Utilities
#*GoodStuff Mail mailtool.xpm Popup "Mail" Mail
#*GoodStuff Graphics drawing.xpm Popup "Graphics" Graphics
#*GoodStuff TextEditors editor.xpm Popup "TextEditors" TextEditors
#*GoodStuff Applications window.xpm Popup "Applications" Applications
#*GoodStuff FileManagers xfm_icon.xpm Popup "FileManagers" FileManagers
#*GoodStuff Multimedia cdrom_look.xpm Popup "Multimedia" Multimedia
#*GoodStuff Games dragon.xpm Popup "Games" Games
#*GoodStuff Destroy bomb.xpm Destroy

######################### 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
*FvwmIdentFore black
*FvwmIdentBack grey
*FvwmIdentFont -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*

########################### Pager #########################################
*FvwmPagerGeometry +5+5
*FvwmPagerFore black
*FvwmPagerBack cadetblue
*FvwmPagerHilight lightblue
*FvwmPagerFont none

##########################FvwmWinList##################################
*FvwmWinListBack grey
*FvwmWinListFore black
*FvwmWinListFont -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
*FvwmWinListAction Click1 Iconify -1,Focus
*FvwmWinListAction Click2 Iconify
*FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent
*FvwmWinListUseSkipList
*FvwmWinListUseIconNames
*FvwmWinListGeometry -5+5
*FvwmWinListMinWidth 80
*FvwmWinListMaxWidth 120
*FvwmWinListLeftJustify

##########################FvwmIconBox##################################
*FvwmIconBoxGeometry    +5-5
*FvwmIconBoxMaxIconSize 68x68
*FvwmIconBoxFont        -adobe-times-bold-r-*-*-12-*-*-*-*-*-*-*
*FvwmIconBoxSetWMIconSize
*FvwmIconBoxHilightFocusWin
#
# mouse bindings
#
*FvwmIconBoxMouse       1       Click           RaiseLower
*FvwmIconBoxMouse       1       DoubleClick     Iconify
*FvwmIconBoxMouse       2       Click           Iconify -1, Focus
*FvwmIconBoxMouse       3       Click           Module FvwmIdent
#
# Key bindings
#
*FvwmIconBoxKey         r       RaiseLower
*FvwmIconBoxKey         space   Iconify
*FvwmIconBoxKey         d       Close
#
# FvwmIconBox built-in functions
#
*FvwmIconBoxKey         n       Next
*FvwmIconBoxKey         p       Prev
*FvwmIconBoxKey         h       Left
*FvwmIconBoxKey         j       Down
*FvwmIconBoxKey         k       Up
*FvwmIconBoxKey         l       Right
#
# Icon file specifications
#
# Mostly, you don't have to specify icon files, as FvwmIconBox now
# reads icon files specified in Style commands.
#
*FvwmIconBox            "*"          default.xbm
*FvwmIconBox            "GoodStuff"  -
*FvwmIconBox            "Fvwm*"      -

####
# Set Up Backgrounds for different desktops.
####
*FvwmBackerDesk 0 xsetroot -solid seagreen
*FvwmBackerDesk 1 xsetroot -solid darkseagreen
*FvwmBackerDesk 2 xsetroot -solid mediumseagreen
*FvwmBackerDesk 3 xsetroot -solid lightseagreen

----- End forwarded message -----

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

         Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London
       Debian GNU/Linux Developer,  see http://people.debian.org/~jdg
  Donate free food to the world's hungry: see http://www.thehungersite.com/
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]