下面的两个选项控制哪个窗口将被哪个管理器处理。一个管理器可以有两个列表:Show和DontShow。如果仅指定Show列表,管理器将仅显示该列表里的窗口。如果仅指定DontShow列表,管理器将显示所有该列表之外的窗口。如果同时指定两个列表,不在DontShow列表而在Show列表里的窗口将被显示。最后,如果两个列表都没有指定,管理器将处理所有的窗口。每个列表由type=pattern形式的字段组成,type可以是class,resource,title,或icon;pattern和 style 命令里的格式相同。如果一个窗口能够被多个管理器操作,id更小的管理器将获得它。
*FvwmIconMan: [id] Show pattern list
窗口匹配pattern列表中的一个时,它将能被该管理器处理。
*FvwmIconMan: [id] DontShow pattern list
窗口匹配pattern列表中的一个时,它将不能被该管理器处理。
*FvwmIconMan: [id] ShowTransient boolean
在管理器的列表里显示临时窗口,默认为false。临时窗口是指应用操作过程中产生的弹出窗口等,比如点击gedit菜单中的“打开”选项,会弹出一个窗口让你选择要打开的文件,这个窗口就是临时窗口。默认这样的窗口是不在管理器中显示的。
*FvwmIconMan: [id] ShowOnlyIcons boolean
true表示仅显示图标化的窗口。
*FvwmIconMan: [id] ShowNoIcons boolean
true表示仅显示没有图标化的窗口。
*FvwmIconMan: [id] ShowOnlyFocused boolean
true表示仅显示焦点窗口。
下面的两个选项控制tips:
*FvwmIconMan: [id] Tips value
value可以是always,needed或false。默认为false,不显示tips。always,tips总是被显示。needed表示仅当按钮字符串被截短或tip字符串不等于按钮字符串时显示tip。
*FvwmIconMan: [id] TipsDelays delay [mappeddelay]
delay和mappeddelay表示毫秒为单位的超时时间。如果mappeddelay值没有明确的指定,将假设它等于delay。默认是1000 300。当鼠标光标移动到一个按钮上时,FvwmIconMan 在显示tip前需要等待delay毫秒。如果tip已经被绘制但此时光标移动到了另一个按钮,FvwmIconMan 在显示一个新的tip前需要等待mappeddelay毫秒。
*FvwmIconMan: [id] TipsFont fontname
指定tip的字体。默认是fvwm字体。
*FvwmIconMan: [id] TipsColorset colorset
指定tips窗口的颜色。默认是colorset 0。参看FvwmTheme。
*FvwmIconMan: [id] TipsFormat formatstring
类似Format选项,表示tips显示的格式。默认是Format选项的格式字符串。
*FvwmIconMan: [id] TipsBorderWidth pixels
以像素为单位指定tips窗口的边框宽度。默认为1。
*FvwmIconMan: [id] TipsPlacement value
value可以是:up,down,left,updown,或leftright。指定了tips窗口相对于按钮的位置。默认为updown,当按钮位于屏幕的上半部时tip位于按钮下面,否则相反。
*FvwmIconMan: [id] TipsJustification value
value可以是leftup,rightdown,或center。指定了tips窗口放置时相对于按钮的方向。默认是leftup,表示tip位于按钮的上面或下面时,tip和按钮的左边框对齐,tip位于按钮的左面或右面时,它们的顶部边框对齐。rightdown和center类似leftup,只是方向有所区别。
*FvwmIconMan: [id] TipsOffsets placementoffset justoffset
placementoffset和justoffset分别是TipsPlacement和TipsJustification选项的偏移值。默认为3 2。
操作(ACTIONS):
Actions 是绑定到某一事件的命令。事件的类型可以是:键盘按键, 鼠标点击, 或者鼠标光标移动到管理器,绑定的命令类型分别为:Key,Mouse,和Select。
通常,与鼠标单击绑定的命令当鼠标按键按下时执行。但是在使用 transient 模式时,它在鼠标按键释放时执行。提示:FvwmIconMan 可以在识别鼠标按键的同时识别键盘修饰键,比如说,如果将 FvwmIconMan 绑定到meta-button3,则当meta-button3事件发生时,actions将被执行。
actions的语法如下:
Key actions: Key Keysym Modifiers FunctionList
Keysym 和 Modifiers 与fvwm的Key命令一样含义。
Mouse actions: Mouse Button Modifiers FunctionList
Button 和 Modifiers 与fvwm的Mouse命令一样含义。
Select actions: Select FunctionList
FunctionList 是以逗号为分隔的命令序列。它们以从左到右的顺序执行,并且共享同一上下文——目前仅包括指向当前按钮(“current” button)的指针。如果在actions执行时,选中了一个按钮,则当前的按钮初始化为那个选中的按钮。
大部分命令通过下面的方式修改当前按钮:移动它,使它变成选中的按钮,发送命令到它代表的窗口上。注意,当这个当前按钮被初始化为所选中的按钮时,那个按钮并不随当前按钮移动,通过这种方式,在不改变所选中按钮的情况下,用户能够发送命令到不同的窗口。
命令可以接受五种类型的参数:Integer, Manager, Window, Button, 和 String。String如果是单个单词,可以不加引号。通过在命令之间添加逗号,你可以绑定一个命令序列到一个事件上。
Window和Button的类型在.fvwm2rc文件里看起来是一样的,但是它们分别描述一个管理器窗口,和代表一个窗口的FvwmIconMan按钮。它们可以是一个整数,或下列字符串之一:Select, Focus, Up, Down, Right, Left, Next, Prev。Select 和 Focus指向当前选中的或拥有焦点的按钮或窗口。Up, Down, Right, Left指向位于管理器中当前按钮上下左右方向的按钮或窗口。Next和Prev指向当前按钮后面和前面的按钮和窗口,如果管理器中的按钮按照一定顺序排列,则Next和Prev依赖排序的顺序。
Manager的类型可以是integer, Next, 或 Prev。含义类似于button类型。
下面是当前支持的命令:
bif Button Integer/String
bifn Button Integer/String
gotobutton Button
gotomanager Manager
jmp Integer/String
跳转命令。不允许向后跳转。
label String
提供jmp命令使用的标签。
print String
输出String到控制台,供调试使用。
printdebug
输出已定义的action到控制台,仅供开发者使用。
quit
退出FvwmIconMan。
refresh
刷新所有的管理器窗口。
ret
停止执行完整的action。
searchback String
searchforward String
select
选择当前的按钮。
sendcommand Command
发送fvwm命令Command到当前按钮代表的窗口。
warp
warp光标到当前按钮。
例子:
gotobutton select, gotobutton Down, select
gotobutton Up, select
gotobutton 0, select
gotobutton -1, select
gotobutton focus, select
gotobutton focus, Iconify
bif Next 3, gotobutton 0, select, ret, gotobutton Next, select
bif select 7, bif focus 3, gotomanager 0, select, ret, gotobutton focus, \
select, ret, gotobutton down, select
bif select Select, bif focus Focus, gotomanager 0, select, ret, label Focus, \
gotobutton focus, select, ret, label Select, gotobutton down, select
除了能够绑定到键盘和鼠标,actions也能够通过SendToModule命令从FvwmIconMan发送到fvwm。此时,commond不需要加引号。
配置示例(SAMPLE CONFIGURATIONS):
下面的例子有一个管理器,处理所有的窗口。
##############################################################
# Load any modules which should be started during
# fvwm initialization
ModulePath /usr/lib/X11/fvwm:/usr/bin/X11
Module FvwmIconMan
# Make FvwmIconMan title-bar-less, sticky, and give it an icon
Style "Fvwm*" Icon toolbox.xpm,NoTitle,NoHandles,Sticky
Style "FvwmIconMan" HandleWidth 5, Handles, BorderWidth 5
##############################################################
##############################################################
#Definitions used by the modules
*FvwmIconMan: NumManagers 1
*FvwmIconMan: Resolution global
*FvwmIconMan: Background slategrey
*FvwmIconMan: Foreground white
*FvwmIconMan: Font 7x13
*FvwmIconMan: ButtonGeometry 100x0
*FvwmIconMan: ManagerGeometry 1x0-0+0