模块调用语法
Module FvwmBacker
注意事项
- 该模块不支持模块别名。
- FvwmBacker模块只能由fvwm产生。从命令行调用FvwmBacker是无效的。
模块的初始化
初始化期间,FvwmBacker会读取FVWM的模块配置数据库(即配置文件中与FvwmBacker有关的配置)。下面的部分会介绍相关选项。
如何加载该模块?
FvwmBacker可以在初始化期间由fvwm加载,通过在配置文件中加入如下行:
在fvwm运行期间,可以使用Module FvwmBacker命令来启用FvwmBacker。使用KillModule FvwmBacker命令停止FvwmBacker模块。
为了使FvwmBacker模块能够被fvwm执行,FvwmBacker必须在fvwm的ModulePath选项列出的目录中,有关ModulePath命令的介绍其他文章。
配置选项
以下的选项可以放在FVWM的配置文件中:
*FvwmBacker: Command (Desk <d>, Page <x> <y>) <command>
当视口在桌面<d>上且页面坐标为<x> <y>时,执行命令<command>。
<d>、<x>、<y>这三个参数中的任何一个或全部都可以用星号(*)替换,以表示匹配任何值。在这种情况下,可以省略Desk或Page部分,但省略Desk和Page时FvwmBacker的行为与使用星号又有所不同。具体的情形如下:
- 如果Page被省略,只使用了Desk *,则仅在切换桌面时执行<command>。
- 如果Desk被省略,只使用了Page *,则仅在切换页面时执行<command>。
- 如果Desk与Page都被省略,那么<command>只在模块启动时执行一次,切换时不会再执行<command>。
- 如果使用Desk *, Page *,则在桌面或页面更改时,总是执行<command>;
如果<command>是-solid,则FvwmBacker将-solid后的参数视为X数据库中的颜色,并将背景设置为该颜色,而不生成对xsetroot的系统调用(只有单个字的颜色名称可能使用)。
如果<command>是Colorset,FvwmBacker为给定的桌面使用Colorset n中指定的背景。有关Colorset的详细信息,请参阅fvwm手册页。
剩下的<command>情况,<command>会被发送给fvwm执行。比如,如果<command>是Exec xterm,则会在页面切换时,启动一个xterm。
*FvwmBacker: RetainPixmap
使FvwmBacker保留并发布Pixmap,使用的图是已经设置的背景图。这仅适用于-solid或Colorset命令。这对于想要使用在背景中的根Pixmap来模拟透明的应用程序非常有用(例如,Eterm和Aterm使用此方法)。这个选项应该也用于RootTransparent colorset选项(参考FvwmTheme的手册页面)。
注意:在Coloret背景下,这个命令可能会为X Server添加大量的内存。 例如,这增加了TiledPixmap图像的宽度乘以高度字节、Pixmap图像的screen_width乘以screen_height字节、或者渐变中的screen_width乘以screen_height字节。
*FvwmBacker: DoNotRetainPixmap
取消RetainPixmap选项。这是默认行为。
运行时配置
尽管现在还不能在运行时移除某个配置行,但可以在FvwmBacker运行时替换原有的配置。可以通过简单地从fvwm中删除所有原有配置,然后读取新配置来实现这种行为。可以通过许多方式完成,例如使用fvwm函数、FvwmCommand、FvwmConsole。
如下示例:
*FvwmBacker: Command (Desk 0) -solid black
*FvwmBacker: Command (Desk 1) -solid blue
上面的命令中,第一行配置删除了所有的原有FvwmBacker配置,后两行配置为FvwmBacker的新配置。执行这三条配置后,桌面背景就会被替换,而不需要重新加载FVWM。这可以在运行时动态修改桌面背景。
旧风格的配置选项
目前已经废弃的选项依旧是支持的:
*FvwmBacker: Desk d command
这等价于忽略了Page选项的FvwmBacker命令:
简单的配置示例
下面使一个配置示例,描述了FvwmBacker的初始化配置命令:
####
# 为不同的桌面和页设置背景色。
####
*FvwmBacker: Command (Page 2 *) -solid steelblue
*FvwmBacker: Command (Desk 0, Page 0 0) Exec fvwm-root $[HOME]/bg2.xpm
*FvwmBacker: Command (Desk 0, Page 0 1) -solid midnightblue
*FvwmBacker: Command (Desk 0, Page 1 *) -solid yellow
*FvwmBacker: Command (Desk 1, Page * 0) -solid navy
*FvwmBacker: Command (Desk 1, Page * 1) Colorset 5
注意事项
FvwmBacker不支持为桌面设置背景图片,但是可以使用别的方法。比如,指定<command>为Exec feh –bg-scale /path/to/bg.jpg(当然其他SHELL命令也可以)。
参考文献
更新日志
04/07/2018 文章内容翻新。