FvwmM4






FvwmM4 − the FVWM  M4 pre‐processor

FvwmM4 is spawned by fvwm, so no command line invocation will work.


When called, this module will attempt to have M4 pre‐process the file specified
in its invocation, and then have fvwm read the resulting file.


FvwmM4 can be invoked by inserting the line ’FvwmM4’ in the .fvwm2rc file. It
can also be called from a menu or mouse binding.  If the user wants his entire
.fvwm2rc file pre‐processed with FvwmM4, then fvwm should be invoked as:


     fvwm2 ‐cmd "FvwmM4 .fvwm2rc"


Note that the argument to the option "‐cmd" should be enclosed in quotes, and no
other quoting should be used. For example, a typical invocation might be:


     fvwm2 ‐cmd "FvwmM4 ‐m4‐squote { ‐m4‐equote } .fvwm2rc"


Some options can be specified on the command line:

‐m4‐prefix
     I think this makes all the m4 directives require the prefix "m4_".


‐m4opt
     Lets you pass an option to the m4 program.  Not really needed as any
     unknown options will be passed on automatically.


‐m4‐squote
     Lets you change the m4 start‐of‐quote character to character.


‐m4‐equote
     Lets you change the m4 end‐of‐quote character to character.


‐m4prog
     Instead of invoking "m4", fvwm will invoke name.


‐outfile
     Instead of creating a random unique name for the temporary file for the
     preprocessed rc file, this option will let you specify the name of the
     temporary file it will create.












                                       ‐2‐


‐debug
     Causes the temporary file create by m4 to be retained. This file is usually
     called "/tmp/fvwmrcXXXXXX"



FvwmM4 defines some values for use in the pre‐processor file:


TWM_TYPE
     Always set to "fvwm".

SERVERHOST
     The name of the machine running the X Server.

CLIENTHOST
     The name of the machine running fvwm.

HOSTNAME
     The hostname of the machine running fvwm. Generally the same as CLIENTHOST.

OSTYPE
     The operating system for CLIENTHOST.

USER The name of the person running fvwm.

VERSION
     The X11 version.

REVISION
     The X11 revision number.

VENDOR
     The X server vendor.

RELEASE
     The X server release number.

WIDTH
     The screen width in pixels.

HEIGHT
     The screen height in pixels.

X_RESOLUTION
     Some distance/pixel measurement for the horizontal direction, I think.

Y_RESOLUTION
     Some distance/pixel measurement for the vertical direction, I think.

PLANES
     Number of color planes for the X server display











                                       ‐3‐


BITS_PER_RGB
     Number of bits in each rgb triplet.

CLASS
     The X11 visual class, ie PsuedoColor.

COLOR
     Yes or No, Yes if the display class is neither StaticGrey or GreyScale.

FVWM_VERSION
     The fvwm version number, ie 2.0

OPTIONS
     Some combination of SHAPE, XPM, NO_SAVEUNDERS, and M4, as defined in
     configure.h at compile time.

FVWMDIR
     The directory where fvwm looks for .fvwmrc and modules by default, as
     determined at compile time.





     define(TWM_TYPE,‘‘fvwm’’)dnl
     define(SERVERHOST,‘‘spx20’’)dnl
     define(CLIENTHOST,‘‘grumpy’’)dnl
     define(HOSTNAME,‘‘grumpy’’)dnl
     define(OSTYPE,‘‘SunOS’’)dnl
     define(USER,‘‘nation’’)dnl
     define(HOME,‘‘/local/homes/dsp/nation’’)dnl
     define(VERSION,‘‘11’’)dnl
     define(REVISION,‘‘0’’)dnl
     define(VENDOR,‘‘HDS human designed systems, inc. (2.1.2‐D)’’)dnl
     define(RELEASE,‘‘4’’)dnl
     define(WIDTH,‘‘1280’’)dnl
     define(HEIGHT,‘‘1024’’)dnl
     define(X_RESOLUTION,‘‘3938’’)dnl
     define(Y_RESOLUTION,‘‘3938’’)dnl
     define(PLANES,‘‘8’’)dnl
     define(BITS_PER_RGB,‘‘8’’)dnl
     define(CLASS,‘‘PseudoColor’’)dnl
     define(COLOR,‘‘Yes’’)dnl
     define(FVWM_VERSION,‘‘1.24l’’)dnl
     define(OPTIONS,‘‘SHAPE XPM M4 ’’)dnl
     define(FVWMDIR,‘‘/local/homes/dsp/nation/modules’’)dnl



FvwmM4 is the result of a random bit mutation on a hard disk, presumably a
result of a  cosmic‐ray or some such thing.