FvwmCpp
FvwmCpp(2.0) FvwmCpp(2.0)
NAME
FvwmCpp - the FVWM Cpp pre-processor
SYNOPSIS
FvwmCpp is spawned by fvwm, so no command line invocation
will work.
DESCRIPTION
When called, this module will attempt to have /usr/lib/cpp
pre-process the file specified in its invocation, and then
have fvwm read the resulting file.
INVOCATION
FvwmCpp can be invoked by inserting the line 'FvwmCpp' 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 FvwmCpp, then fvwm should be invoked
as:
fvwm2 -cmd "FvwmCpp .fvwm2rc"
Some options can be specified on the command line:
-cppopt option
Lets you pass an option to the cpp program. Not
really needed as any unknown options will be passed
on automatically.
-cppprog name
Instead of invoking "/usr/lib/cpp", fvwm will
invoke name.
-outfile filename
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 tempo
rary file it will create.
-debug Causes the temporary file create by Cpp to be
retained. This file is usually called "/tmp/fvwmr
cXXXXXX"
CONFIGURATION OPTIONS
FvwmCpp 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
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
Cpp, as defined in configure.h at compile time.
FVWM_MODULEDIR
The directory where fvwm looks for .fvwmrc and mod
ules by default, as determined at compile time.
EXAMPLE PROLOG
#define TWM_TYPE fvwm
#define SERVERHOST spx20
#define CLIENTHOST grumpy
#define HOSTNAME grumpy
#define OSTYPE SunOS
#define USER nation
#define HOME /local/homes/dsp/nation
#define VERSION 11
#define REVISION 0
#define VENDOR HDS human designed systems, inc. (2.1.2-D)
#define RELEASE 4
#define WIDTH 1280
#define HEIGHT 1024
#define X_RESOLUTION 3938
#define Y_RESOLUTION 3938
#define PLANES 8
#define BITS_PER_RGB 8
#define CLASS PseudoColor
#define COLOR Yes
#define FVWM_VERSION 2.0 pl 1
#define OPTIONS SHAPE XPM Cpp
#define FVWM_MODULEDIR /local/homes/dsp/nation/modules
BUGS
Module configurations do not become active until fvwm2 has
restarted if you use FvwmCpp on startup. FvwmCpp creates a
temporary file and passes this to fvwm2, so you would have
to edit this file too. There are some problems with com
ments in your .fvwm2rc file. The comment sign # is misin
terpreted by the preprocessor. This has usually no impact
on functionality but generates annoying warning messages.
The sequence /* is interpreted as the start of a C comment
what is probably not what you want in a filename. You
might want to try /?* (for filenames only) or /\* or "/*"
instead. Macros are not replaced within single (') or
double quotes ("). Use backquotes (`) to circumvent this.
Fvwm2 accepts backquotes for quoting and at least FvwmBut
tons does too. The preprocessor may place a space after a
macro substitution, so with
#define MYCOMMAND ls
"Exec "MYCOMMAND" -l"
you might get
"Exec "ls " -l" (two words)
and not
"Exec "ls" -l" (one word).
AUTHOR
FvwmCpp is the result of a random bit mutation on a hard
disk, presumably a result of a cosmic-ray or some such
thing.
12/12/94 FvwmCpp(2.0)
Man(1) output converted with
man2html