「FVWM中,用户函数及SHELL命令」

PipeRead command [Quiet]

使 FVWM 中 command 的输出中读取 FVWM 命令来执行。command 由 /bin/sh 执行,如同你在 shell 中执行的那样。如果 command 超过一个字,则需要进行引用。该功能可以根据目录的内容构建动态菜单。如果使用了 Quite 关键字,则命令没有找到也不会产生信息。

如下示例:

AddToMenu HomeDirMenu

PipeRead ‘for i in $HOME/*; \

do echo “+ $i Exec xterm -e vi $i”; done’

在 PipeRead 在执行命令的时候,会修改光标的状态。然而,有些命令(如 xwd)需要控制光标的状态,这种有 PipeRead 的情况下会无效。如果要禁用 PipeRead 修改光标状态的功能,可以使用如下 FVWM 命令:

BusyCursor Read off

PipRead 命令会同步执行。如果你想用 Exec 执行某些东西,但是需要同步执行 command,可以这么做:

PipeRead ‘command 1>&2’

重定向会使所有的 command 输出进入 stderr,而不是被 FVWM 按序列执行的命令。如果命令可以执行则 PipeRead 返回 1。有关返回码的含义查看 Conditional Commands 部分。

Read filename [quiet]

使 fvwm 从名为 filename 的文件中读取配置命令。如果使用了关键字 Quiet,则在没有找到文件的情况下不会产生任何消息。
如果 filename 不以斜杠(’/’)开头,则 fvwm 会查找用户的数据目录,然后查找系统数据目录,用户的数据目录默认为$HOME/.fvwm,可以通过设置 FVWM_USERDIR 环境变量来覆盖它。
如果给定的文件可以被读取,则返回 1;否则返回-1(有关返回代码的含义,参阅Conditional Commands部分)。

SetEnv variable value

设置环境变量 variable 的值 value,类似于 shell 的 export 或 setenv 命令。变量会被由 FVWM 直接产生的进程继承。该命令与 FvwmM4 模块结合时非常有用。如下示例:

SetEnv height HEIGHT

该命令使 FvwmM4 将由 fvwm 启动的进程可以使用$height 环境变量,值为 HEIGHT。如果 value 中包含空格,则需要对 value 进行引用。如果没有给出 value,则会删除变量。