Subject: FVWM: FVWM Language

From: [email-masked] (Dennis Armstrong)
Date: Tue, 5 May 1998 16:23:18 -0500

I'll probably get a lot of flame mail for proposing this in light of of the 
recent dialog going on about a new language specification for FVWM.  I am of 
the opinion that the simple solution is usually the best.  I started using FVWM
because from a look and feel perspective it had the most synergy with OLVWM
(Openlook Virtual Window Manager) and was much better than the CDE that Sun
Microsystems ships with their OS.  The only problem I had with FVWM was the,
somewhat, cryptic specifcation for setting up your windows and mouse/key
bindings, etc.  For me the syntatic specification for things that were simple 
one-liners in OLVWM were somewhat ugly in FVWM.  Since OLVWM is in public
domain and has a well defined parser.  I would think you could start with that 
and extend it for the other things that are in FVWM that are not supported in 
OLVWM.  OLVWM supports a hierarchical menu structure that can be specified in
one file or split up into different files that can be referenced by one top 
level menu file.   See following example from when I used to use OLVWM.

--------------------- $HOME/.openwin-menu ---------------------------------
#
# @(#)openwin-menu      23.15 91/09/14 openwin-menu
#
#       OpenWindows default root menu file - top level menu
#
# Openwin-Menus for Dennis Armstrong
 
"Workspace"       TITLE
"Refresh"         REFRESH
 
SEPARATOR
 
"Access Control"  MENU $HOME/.openwin-menu-ac
"Block All"       exec /usr/tools/bin/blockall
"Caeco Tools"     MENU $HOME/.openwin-menu-caeco
"Demos"           MENU $HOME/.openwin-menu-demo
"Editors"         MENU $HOME/.openwin-menu-editors
"Internet Tools"  MENU $HOME/.openwin-menu-internet
"Games"           MENU $HOME/.openwin-menu-games
"Help"            MENU $HOME/.openwin-menu-help
"IBM Shells"      MENU $HOME/.openwin-menu-ibm
"Images"          MENU $HOME/.openwin-menu-images
"License Servers" MENU $HOME/.openwin-menu-license
"Lock Screens"    MENU $HOME/.openwin-menu-lockscreens
"Network"         MENU $HOME/.openwin-menu-network
"OLVWM Control"   MENU $HOME/.openwin-menu-control
"Print Snapshot"  exec lpr -Ptcpr -v $HOME/snapshot.rs
"Programs"        MENU $HOME/.openwin-menu-programs
"Properties..."   PROPERTIES
"Sunview"         MENU $HOME/.openwin-menu-sunview
"Utilities"       MENU $HOME/.openwin-menu-utilities
"Windows Menu"    WINMENU
"XTerm..."        exec $OPENWINHOME/bin/xterm -bg `$HOME/bin/COLOR` -geom 80x40
"X-Tools"         MENU $HOME/.openwin-menu-xtools
 
SEPARATOR
 
"Exit..."         EXIT

--------------------- $HOME/.openwin-menu ---------------------------------

Here is one of the reference files from above.

--------------------- $HOME/.openwin-menu-programs ------------------------

"Programs" TITLE PIN
 
"Audio Tool..."         exec $OPENWINHOME/bin/audiotool -font screen.b.12
"Binder..."             exec $OPENWINHOME/bin/binder -font screen.b.12
"Calculator..."         exec $OPENWINHOME/bin/calctool -font screen.b.12
"Calendar Manager..."   exec $OPENWINHOME/bin/cm -font screen.b.12
"CD Player..."          exec /usr/demo/CDROM/cdplayer
"Clock..."              exec $OPENWINHOME/bin/clock -font screen.b.12
"Command Tool..."       exec $OPENWINHOME/bin/cmdtool -font screen.b.12
"File Manager..."       exec $OPENWINHOME/bin/filemgr -font screen.b.12
"FTP Tool..."           exec $HOME/bin/ftptool
"Gain Tool..."          exec /usr/demo/SOUND/gaintool
"Icon Editor..."        exec $OPENWINHOME/bin/iconedit -font screen.b.12
"Mail Tool..."          exec $OPENWINHOME/bin/mailtool -font screen.b.12
"Performance Meter..."  exec $OPENWINHOME/bin/perfmeter -font screen.b.12
"Print Tool..."         exec $OPENWINHOME/bin/printtool -font screen.b.12
"Shell Tool..." DEFAULT exec $OPENWINHOME/bin/shelltool -Wb 200 255 200 -font sc
reen.b.12
"Sound Tool..."         exec /usr/demo/SOUND/soundtool
"Snapshot..."           exec $OPENWINHOME/bin/snapshot -font screen.b.12
"Tape Tool..."          exec $OPENWINHOME/bin/tapetool -font screen.b.12
"Text Editor..."        exec $OPENWINHOME/bin/textedit -font screen.b.12

--------------------- $HOME/.openwin-menu-programs ------------------------

Here is another menu expample.

---------------------------------------------------------------------------

     "My Custom Menu" TITLE
 
     Programs                 MENU
     Programs       COLUMNS 2
             </usr/openwin/include/X11/bitmaps/terminal>  DEFAULT cmdtool
             "Text Editor"           textedit
             Mail                    mailtool
             "File Manager"          filemgr
             Other                   MENU
                     "Other Tools"           TITLE
                     "Shell Tool"            shelltool
                     "Icon Editor"           iconedit
                     Clock                   clock
                     "Perf Meter"            DEFAULT perfmeter
             Other                   END
          "Local Tools"       DIRMENU   /usr/local
     Programs                END PIN
 
     "Repaint Screen"        REFRESH
 
     "Properties ..."        PROPERTIES
 
     "Find"         WINMENU   3
 
     Exit            EXIT

------------------------------------------------------------------------------

-------------------------------------------------------------------
Name      : Dennis Armstrong
Title     : CAD/CAE Software Developer
Company   : Motorola Incorporated
Sector    : Semiconductor Products Sector (SPS)
Group     : Consumer Systems Group        (CSG)
Division  : Imaging  Systems Division     (ISD)
Operation : Advanced Cores & technologies (ACT)
Department: CAD & Network Resources       (CNR)
Address   : 6501 William Cannon Drive West
            Austin, Texas 78735-8598, USA
Mail Drop : OE37                         
Phone     : 512-895-2322
FAX       : 512-895-8315
Email     : [email-masked] or [email-masked]
WWW       : http://tools.sps.mot.com/~dennis (intranet web address)
-------------------------------------------------------------------

--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: [email-masked]
Date: Thu, 7 May 1998 8:42:30 +0100

The example is very fine, but doesn't solve any of the problems some
of us are experiencing: we want to generate the menu's either at fvwm
startup or (ohh no) on-the-fly....

/tonny