# PipeRead

`PipeRead` command quiet

Causes fvwm to read commands from the output of the command. This command is executed by `/bin/sh` as if you typed it on the command line. If the command consists of more than one word it must be quoted. Useful for building up dynamic menu entries based on a directories contents, for example. If the keyword follows the command no message is produced if the command is not found.

Example:

     HomeDirMenu
    PipeRead 'for i in $HOME/*; \
      do echo "+ $i  xterm -e vi $i"; done'

Note: The PipeRead changes the pointer to a watch cursor by default during execution. However, some commands, for example xwd, need to take control of the pointer themselves and do not work. To disable the watch cursor, use the command prior to PipeRead

      off

The PipeRead command executes synchronously. If you want to something, but need the command to run synchronously, you might do something like:

    PipeRead 'command 1>&2'

The redirection causes any output from the program to go to stderr instead of being read as a sequence of commands by fvwm. PipeRead returns 1 if the given command could be executed or -1 if not (see the section for the meaning of return codes).