2 .\" @(#)@PACKAGE@-@VERSION@ @RELDATELONG@
16 .TH FvwmCpp 1 "@RELDATELONG@ (@VERSION@)" Fvwm "Fvwm Modules"
19 FvwmCpp \- the Fvwm Cpp pre-processor
21 Module FvwmCpp [options] filename
23 The FvwmCpp module can only be invoked by fvwm.
24 Command line invocation of the FvwmCpp module will not work.
27 When fvwm executes the FvwmCpp module,
28 FvwmCpp invokes the cpp pre-processor on the file
29 specified in its invocation, then FvwmCpp causes fvwm to
30 execute the commands in the resulting file.
33 FvwmCpp can be invoked as a module using an fvwm command,
34 from the .fvwm2rc file, a menu,
35 mousebinding, or any of the many other ways fvwm commands
38 If the user wants his entire .fvwm2rc file pre-processed with FvwmCpp,
39 then fvwm should be invoked as:
42 fvwm -cmd "Module FvwmCpp .fvwm2rc"
45 Note that the argument to the option "-cmd" should be enclosed
46 in quotes, and no other quoting should be used.
48 When FvwmCpp runs as a module, it runs asynchronously
50 If FvwmCpp is invoked from the .fvwm2rc,
53 may or may not be executed by the time
54 fvwm processes the next command in the .fvwm2rc.
55 Invoke FvwmCpp this way for synchronous execution:
58 ModuleSynchronous FvwmCpp -lock filename
62 Some options can be specified following the modulename:
65 Lets you pass an option to the cpp program. Not really needed as any unknown
66 options will be passed on automatically.
70 Instead of invoking "/usr/lib/cpp", fvwm will invoke \fIname\fP.
73 -outfile \fIfilename\fP
74 Instead of creating a random unique name for the temporary file for
75 the preprocessed rc file, this option will let you specify the name of
76 the temporary file it will create. Please note that FvwmCpp will attempt
77 to remove this file before writing to it, so don't point it at anything
78 important even if it has read-only protection.
81 Causes the temporary file create by Cpp to
82 be retained. This file is usually called "/tmp/fvwmrcXXXXXX"
85 If you want to use this option you need to start FvwmCpp with
86 ModuleSynchronous. This option causes fvwm to wait that the pre-process
87 finish and that FvwmCpp asks fvwm to Read the pre-processed file before
88 continuing. This may be useful at startup if you use a session manager
89 as Gnome. Also, this is useful if you want to process and run a Form in
93 Causes the pre-processed file to be not read by fvwm. Useful to
94 pre-process a FvwmScript script with FvwmCpp.
96 .SH CONFIGURATION OPTIONS
97 FvwmCpp defines some values for use in the pre-processor file:
100 Always set to "fvwm".
102 The name of the machine running the X Server.
104 The name of the machine running fvwm.
106 The host name of the machine running fvwm. Generally the same as CLIENTHOST.
108 The operating system for CLIENTHOST.
110 The name of the person running fvwm.
112 The home directory of the person running fvwm.
116 The X11 revision number.
120 The X server release number.
124 The screen width in pixels.
126 The screen height in pixels.
128 Some distance/pixel measurement for the horizontal direction, I think.
130 Some distance/pixel measurement for the vertical direction, I think.
132 Number of color planes for the X server display
134 Number of bits in each rgb triplet.
136 The X11 default visual class, e.g. PseudoColor.
138 Yes or No, Yes if the default visual class is neither StaticGrey or GreyScale.
140 The visual class that fvwm is using, e.g. TrueColor.
142 Yes or No, Yes if the FVWM_CLASS is neither StaticGrey or GreyScale.
144 The fvwm version number, ie 2.0
146 Some combination of SHAPE, XPM, NO_SAVEUNDERS, and Cpp, as defined in
147 configure.h at compile time.
149 The directory where fvwm looks for .fvwm2rc and modules by default, as
150 determined at compile time.
152 The value of $FVWM_USERDIR.
154 The value of $SESSION_MANAGER. Undefined if this variable is not set.
159 #define TWM_TYPE fvwm
160 #define SERVERHOST spx20
161 #define CLIENTHOST grumpy
162 #define HOSTNAME grumpy
165 #define HOME /local/homes/dsp/nation
168 #define VENDOR HDS human designed systems, inc. (2.1.2-D)
173 #define X_RESOLUTION 3938
174 #define Y_RESOLUTION 3938
176 #define BITS_PER_RGB 8
177 #define CLASS PseudoColor
179 #define FVWM_VERSION 2.0 pl 1
180 #define OPTIONS SHAPE XPM Cpp
181 #define FVWM_MODULEDIR /local/homes/dsp/nation/modules
182 #define FVWM_USERDIR /local/homes/dsp/nation/.fvwm
183 #define SESSION_MANAGER local/grumpy:/tmp/.ICE-unix/440,tcp/spx20:1025
187 Module configurations do not become active until fvwm has restarted
188 if you use FvwmCpp on startup. FvwmCpp creates a temporary file
189 and passes this to fvwm, so you would have to edit this file too.
190 There are some problems with comments in your .fvwm2rc file.
191 The comment sign # is misinterpreted by the preprocessor.
192 This has usually no impact on functionality but generates
193 annoying warning messages.
194 The sequence /* is interpreted as the start of a C comment what
195 is probably not what you want in a filename. You might want to try
196 /?* (for filenames only) or /\\* or "/*" instead. Depending on
197 your preprocessor you may have the same problem with "//".
198 Macros are not replaced within single (') or double quotes (\"). Use
199 back quotes (`) to circumvent this. Fvwm accepts back quotes for
200 quoting and at least FvwmButtons does too.
201 The preprocessor may place a space after a macro substitution, so
205 "Exec "MYCOMMAND" -l"
209 "Exec "ls " -l" (two words)
213 "Exec "ls" -l" (one word).
216 If you use gcc you can use this invocation to turn off '//'
220 FvwmCpp -Cppprog '/your/path/to/gcc -C -E -' <filename>
224 FvwmCpp is the result of a random bit mutation on a hard disk,
225 presumably a result of a cosmic-ray or some such thing.