NAME 

FvwmM4 - the FVWM M4 pre-processor

SYNOPSIS 

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

DESCRIPTION 

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.

INVOCATION 

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_".
-m4-prefix-defines
Causes built-in defines to be prefixed with "m4_" (i.e., m4_HOME is defined instead of HOME, etc.)
-m4opt option
Lets you pass an option to the m4 program. Not really needed as any unknown options will be passed on automatically.
-m4-squote character
Lets you change the m4 start-of-quote character to character.
-m4-equote character
Lets you change the m4 end-of-quote character to character.
-m4prog name
Instead of invoking "m4", 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 temporary file it will create. Please note that FvwmM4 will attempt to remove this file before writing to it, so don't point it at anything important even if it has read-only protection.
-debug
Causes the temporary file create by m4 to be retained. This file is usually called "/tmp/fvwmrcXXXXXX"
-lock
If you want to use this option you need to start FvwmM4 with ModuleSynchronous. This option causes fvwm to wait that the pre-process finish and that FvwmM4 asks fvwm to Read the pre-processed file before continuing. This may be useful at startup if you use a session manager as Gnome. Also, this is useful if you want to process and run a Form in a fvwm function.
-noread
Causes the pre-processed file to be not read by fvwm. Useful to pre-process a FvwmScript script with FvwmM4.