* FvwmCpp/FvwmCpp.1:
[fvwm.git] / modules / FvwmM4 / FvwmM4.1
blob89f38415f4add90b17ebafd6de51a8f657624e8d
1 .\" t
2 .\" @(#)FvwmM4.1        1/28/94
3 .de EX          \"Begin example
4 .ne 5
5 .if n .sp 1
6 .if t .sp .5
7 .nf
8 .in +.5i
9 ..
10 .de EE
11 .fi
12 .in -.5i
13 .if n .sp 1
14 .if t .sp .5
16 .TH FvwmM4 1 "13 September 2002" FVWM "FVWM Modules"
17 .UC
18 .SH NAME
19 FvwmM4 \- the FVWM  M4 pre-processor
20 .SH SYNOPSIS
21 Module FvwmM4 [options] filename
23 The FvwmM4 module can only be invoked by fvwm.
24 Command line invocation of the FvwmM4 module will not work.
26 .SH DESCRIPTION
27 When fvwm executes the FvwmM4 module,
28 FvwmM4 invokes the M4 pre-processor on the file
29 specified in its invocation, then FvwmM4 causes fvwm to
30 execute the commands in the resulting file.
32 .SH INVOCATION
33 FvwmM4 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
36 can be issued.
38 If the user wants his entire .fvwm2rc file pre-processed with FvwmM4,
39 then fvwm should be invoked as:
40 .EX
41 fvwm -cmd "Module FvwmM4 .fvwm2rc"
42 .EE
44 Note that the argument to the option "-cmd" should be enclosed
45 in quotes, and no other quoting should be used.
47 When FvwmM4 runs as a module, it runs asynchronously
48 from fvwm.
49 If FvwmM4 is invoked from the .fvwm2rc,
50 the commands 
51 generated by FvwmM4
52 may or may not be executed by the time
53 fvwm processes the next command in the .fvwm2rc.
54 Invoke FvwmM4 this way for synchronous execution:
56 .EX
57 ModuleSynchronous FvwmM4 -lock filename
58 .EE
60 .SH OPTIONS
61 Some options can be specified following the modulename:
62 .IP -m4-prefix
63 I think this makes all the m4 directives require the prefix "m4_".
65 .IP -m4-prefix-defines
66 Causes built-in defines to be prefixed with "m4_" (i.e., m4_HOME
67 is defined instead of HOME, etc.)
69 .TP
70 -m4opt \fIoption\fP
71 Lets you pass an option to the m4 program.  Not really needed as any
72 unknown options will be passed on automatically.
74 .TP
75 -m4-squote \fIcharacter\fP
76 Lets you change the m4 start-of-quote character to \fIcharacter\fP.
78 .TP
79 -m4-equote \fIcharacter\fP
80 Lets you change the m4 end-of-quote character to \fIcharacter\fP.
82 .TP
83 -m4prog \fIname\fP
84 Instead of invoking "m4", fvwm will invoke \fIname\fP.
86 .TP
87 -outfile \fIfilename\fP
88 Instead of creating a random unique name for the temporary file for
89 the preprocessed rc file, this option specifies the name of
90 the temporary file created.  FvwmM4 attempts
91 to remove this file before writing to it, so don't point it at anything
92 important even if it has read-only protection.
94 .IP -debug
95 Causes the temporary file created by m4 to
96 be retained. This file is usually called "/tmp/fvwmrcXXXXXX"
98 .IP -lock
99 If you want to use this option you need to start FvwmM4 with
100 ModuleSynchronous. This option causes fvwm to wait that the pre-process to
101 finish and then FvwmM4 asks fvwm to Read the pre-processed file before
102 continuing. This can be useful at startup if you use a session manager like
103 Gnome. Also, this is useful if you want to process and run a Form in
104 an fvwm function.
106 .IP -noread
107 Causes the pre-processed file to be not read by fvwm. Useful for
108 pre-processing an FvwmScript script.
111 .SH CONFIGURATION OPTIONS
112 FvwmM4 defines some values for use in the pre-processor file:
114 .IP TWM_TYPE
115 Always set to "fvwm".
116 .IP SERVERHOST
117 The name of the machine running the X Server.
118 .IP CLIENTHOST
119 The name of the machine running fvwm.
120 .IP HOSTNAME
121 The hostname of the machine running fvwm. Generally the same as CLIENTHOST.
122 .IP OSTYPE
123 The operating system for CLIENTHOST.
124 .IP USER
125 The name of the person running fvwm.
126 .IP HOME
127 The home directory of the person running fvwm.
128 .IP VERSION
129 The X11 version.
130 .IP REVISION
131 The X11 revision number.
132 .IP VENDOR
133 The X server vendor.
134 .IP RELEASE
135 The X server release number.
136 .IP SCREEN
137 The screen number.
138 .IP WIDTH
139 The screen width in pixels.
140 .IP HEIGHT
141 The screen height in pixels.
142 .IP X_RESOLUTION
143 Some distance/pixel measurement for the horizontal direction, I think.
144 .IP Y_RESOLUTION
145 Some distance/pixel measurement for the vertical direction, I think.
146 .IP PLANES
147 Number of color planes for the X server display
148 .IP BITS_PER_RGB
149 Number of bits in each rgb triplet.
150 .IP CLASS
151 The X11 default visual class, e.g. PseudoColor.
152 .IP COLOR
153 Yes or No, Yes if the default visual class is neither StaticGrey or GreyScale.
154 .IP FVWM_CLASS
155 The visual class that fvwm is using, e.g. TrueColor.
156 .IP FVWM_COLOR
157 Yes or No, Yes if the FVWM_CLASS is neither StaticGrey or GreyScale.
158 .IP FVWM_VERSION
159 The fvwm version number, ie 2.0
160 .IP OPTIONS
161 Some combination of SHAPE, XPM, NO_SAVEUNDERS, and M4, as defined in
162 configure.h at compile time.
163 .IP FVWM_MODULEDIR
164 The directory where fvwm looks for .fvwm2rc and modules by default, as
165 determined at compile time.
166 .IP FVWM_USERDIR
167 The value of $FVWM_USERDIR.
168 .IP SESSION_MANAGER
169 The value of $SESSION_MANAGER. Undefined if this variable is not set.
171 .SH EXAMPLE PROLOG
174 define(TWM_TYPE,``fvwm'')dnl
175 define(SERVERHOST,``spx20'')dnl
176 define(CLIENTHOST,``grumpy'')dnl
177 define(HOSTNAME,``grumpy'')dnl
178 define(OSTYPE,``SunOS'')dnl
179 define(USER,``nation'')dnl
180 define(HOME,``/local/homes/dsp/nation'')dnl
181 define(VERSION,``11'')dnl
182 define(REVISION,``0'')dnl
183 define(VENDOR,``HDS human designed systems, inc. (2.1.2-D)'')dnl
184 define(RELEASE,``4'')dnl
185 define(SCREEN,``0'')dnl
186 define(WIDTH,``1280'')dnl
187 define(HEIGHT,``1024'')dnl
188 define(X_RESOLUTION,``3938'')dnl
189 define(Y_RESOLUTION,``3938'')dnl
190 define(PLANES,``8'')dnl
191 define(BITS_PER_RGB,``8'')dnl
192 define(CLASS,``PseudoColor'')dnl
193 define(COLOR,``Yes'')dnl
194 define(FVWM_VERSION,``1.24l'')dnl
195 define(OPTIONS,``SHAPE XPM M4 '')dnl
196 define(FVWM_MODULEDIR,``/local/homes/dsp/nation/modules'')dnl
197 define(FVWM_USERDIR,``/local/homes/dsp/nation/.fvwm'')dnl
198 define(SESSION_MANAGER,``local/grumpy:/tmp/.ICE-unix/440,tcp/spx20:1025'')dnl
201 .SH AUTHORS
203 FvwmM4 is the result of a random bit mutation on a hard disk,
204 presumably a result of a  cosmic-ray or some such thing.