To achieve the more complex effects, fvwm has a number of commands that improve its scripting abilities.

Scripts can be read from a file with Read, from the output of a command with PipeRead or written as a complex

function with the AddToFunc command. For the curious, section 7 of the fvwm FAQ shows some real life

applications of scripting. Please refer to the sections User Functions and Shell Commands and Conditional

Commands for details. A word of warning: during execution of complex functions, fvwm needs to take all input

from the mouse pointer (the pointer is “grabbed” in the slang of X). No other programs can receive any input

from the pointer while a function is run. This can confuse some programs. For example, the xwd program

refuses to make screen shots when run from a complex function. To achieve the same functionality you can use

the Read or PipeRead command instead.