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