FvwmButtons
名称(NAME):
FvwmButtons -FVWM buttonbox 模块
概要(SYNOPSIS):
Module FvwmButtons [-g geometry] [-transient | -transientpanel] [name[configfile]]
FvwmButtons 只能被fvwm调用(fork),不能从命令行启动。
描述(DESCRIPTION):
FvwmButtons 模块在桌面上提供了一个窗口,这个窗口可以作为按钮的容器,在它里面放置多个按钮,而我们可以使用 FvwmButtons 模块去管理和布局这些按钮。我们可以在任何时候通过去点击这些按钮来触发与之关联的操作,比如启动一个应用程序。FvwmButtons只能在fvwm窗口管理器里使用。
FvwmButtons 提供的按钮容器可以被配置成任意的形状,并可以处于任意位置。它可以容纳具有关联操作的单色或彩色图标,甚至还可以在它里面集成其它的应用或模块。
我们可以通过点击一个按钮去打开面板,参看CREATING PANELS部分。
选项(OPTIONS):
-g,指定主窗口的geometry。这里的命令行选项优先于配置文件里的geometry选项。
-transient,使用transient选项调用 FvwmButtons 模块时,一旦其中按钮关联的操作的被执行,FvwmButtons就会自动关闭。
-transientpanel选项类似于-transient选项,但是并不会关闭整个FvwmButtons,仅仅是将它隐藏起来。这通常使用在一个 FvwmButtons 作为一个另一个 FvwmButtons 的子面板(subpanel)被启动时。
调用(INVOCATION):
FvwmButtons 只能被fvwm调用(fork),不能从命令行启动。
可以通过在配置文件里添加‘Module FvwmButtons OptionalName’语句调用FvwmButtons模块。如果希望FvwmButtons在fvwm初始化期间启动,它需要添加在StartFunction函数里,否则,可以将它与菜单、鼠标、键盘等操作绑定在一起。
如果指定了OptionalName参数,则使用OptionalName查找配置命令,而不是FvwmButtons,例如:
AddToFunc StartFunction Module FvwmButtons MyButtonBox
之后,FvwmButtons将使用以“*MyButtonBox”字符串开始的配置,而不是默认的"*FvwmButtons"。
配置选项(CONFIGURATION OPTIONS):
下面是目前可用的一些配置选项:
*FvwmButtons: Back color
指定按钮的背景色,relief和阴影的颜色可以通过它计算出来。
*FvwmButtons: BoxSize algorithm
指定遵守Rows和Columns选项的程度。可以是dumb,fixed,smart。
如果使用fixed,且Rows和Columns选项被指定为非0值,FvwmButtons使用固定的行数和列数,如按钮容器(box)太小以至于不能容纳所有的按钮,这个模块将不能成功启动。
如果使用smart,FvwmButtons将可以扩大按钮容器来容纳所有的按钮。列的数目将至少增加到最宽的按钮的宽度,并且新的行将被增加直到已经容纳所有的按钮。使用smart选项可以减少配置错误的发生。
dumb即不表示fixed,也不表示smart,这是默认值。
*FvwmButtons: Colorset colorset
指定模块窗口背景使用的颜色集(colorset)。关于colorset的细节可以参考FvwmTheme。
*FvwmButtons: ActiveColorset colorset
指定当鼠标光标移动到按钮上面时,它的背景和标题(title)使用的colorset。
*FvwmButtons: PressColorset colorset
指定当按钮被按下时,它的背景和标题(title)使用的colorset。
*FvwmButtons: Columns columns
指定按钮容器窗口里包含按钮的列数。如果没有指定,则列数被设置成按钮的总数除以行数。如果行数和列数都被指定,但是按钮的总数大于它们所允许的范围,则列数被忽略,除非BoxSize选项的值是fixed。
*FvwmButtons: File filename
指定从文件filename里查找配置选项。filename可以是绝对路径,或者假定位于fvwm的启动目录下。这个文件和fvwm的配置文件有同样的格式,但是其中的每一行都以字符串“*FvwmButtons”为前缀。
*FvwmButtons: Font font
指定按钮标签使用的字体,默认为None。
*FvwmButtons: Fore color
指定按钮标签的文本和单色图标的使用的颜色。
*FvwmButtons: Frame width
指定按钮周围relief的宽度。如果为负数,则正常情况下按钮的轮廓是凹下去的。
*FvwmButtons: Geometry geometry
指定按钮容器窗口的位置和尺寸。
*FvwmButtons: ButtonGeometry geometry
指定按钮容器串口里单个按钮的位置和尺寸。
*FvwmButtons: Padding width height
指定FvwmButtons窗口里每个按钮周围的空白空间,width表示水平方向的空白为,height表示垂直方向的空白,单位为像素。除了FvwmButtons窗口里集成的其它窗口和容器,正常情况下,按钮的relief和它的内容之间,左右两边的间隙是2个像素,上面和下面的间隙是4个像素。
*FvwmButtons: Pixmap pixmapfile
指定FvwmButtons窗口的背景使用的pixmap。none表示透明背景。
*FvwmButtons: Rows rows
指定按钮行数,默认值为2。
*FvwmButtons: (options) [title icon command]
指定FvwmButtons窗口里单个按钮的内容,多个选项之间使用逗号分隔:
geometry
指定按钮的大小和在 FvwmButtons 窗口里的大小和位置,以普通按钮的宽和高为单位。明确指定位置参数的按钮将首先被放置,如果两个以上的按钮发生重叠,则FvwmButtons将产生一条错误消息,然后退出。
Action [(options)] command
指定按钮被激活时(按下回车键或使用鼠标点击时)执行的fvwm命令。如果command包含逗号或
者括号,则需要加引号。
目前Action的当前选项可以是:Mouse n – 表示command仅与鼠标按键n关联。
在command字段里,可以使用预定义的变量:$left, $right, $top 和$bottom表示按钮被按下时按钮的left,right,top,和bottom坐标。$-left, $-right, $-top 和 $-bottom具有同样的含义,不过是从屏幕的底部或右边界开始算起(比如距屏幕右边界5个像素,则$-right值为5)。$width 和$height表示按钮的宽和高。变量$fg和$bg表示Back或Fore选项指定的背景色和前景色。字母‘$’可以通过‘$$’获得。
例如:
*FvwmButtons: (Title xload, Action (Mouse 1) \
` ‘Exec exec xload -fg $fg -bg $bg -geometry -3000-3000’)
注意,在2.5.0之前的fvwm版本,Action选项不能被分配给集成(swallowed)了一个应用窗口的按钮。这样的操作只能通过点击按钮四周的border执行。目前的版本修正了这个问题,为了兼容之前的版本,可以使用ActionIgnoresClientWindow:
*FvwmButtons: (Action beep, ActionIgnoresClientWindow, \
Swallow xeyes "Exec exec xeyes")
上面的例子里,command仅当你点击这个按钮的border或xeyes窗口的透明部分时执行。
ActionIgnoresClientWindow
参看上面Action部分。
ActionOnPress
通常情况下,除了Popup操作,其它关联操作都是当鼠标按钮释放时执行。ActionOnPress可以改变这种行为,使关联操作在按钮按下时执行。
Back color
指定box的背景色。relief和阴影的颜色可以通过它计算出来。
Center
按钮的内容位于按钮中央。默认是这样的,但可以通过Left或Right改变。
Colorset colorset
colorset可以应用于一个容器,一个集成的(swallowed)应用和简单的一个按钮。为了应用于按钮和容器,把这个选项添加到描述按钮和容器的行里即可。使用colorset为单个按钮和容器绘制背景需要和X server进行大量的通信。因此,在显示多个按钮时,如果你不能满意使用colorse的速度,就不要去使用它。应用于集成的应用时没有这个约束,但完全依赖于这个应用本身。
如果集成的窗口是一个fvwm模块,则colorset不能适用于它。我们应该在该模块的配置里使用colorset。如果这个模块的背景使用了透明的colorset,则FvwmButtons 窗口的背景被使用作这个模块的背景。参考FvwmTheme模块。
ActiveColorset colorset
指定当鼠标光标移动到这个按钮上面时,它的背景和标题(title)使用的colorset。
PressColorset colorset
指定当这个按钮被按下时,它的背景和标题(title)使用的colorset。
Container [(options)]
指定这个按钮将包含一个小型的按钮容器(buttonbox),相当于集成了另外一个FvwmButtons模块。Options将影响这个容器里的所有按钮。适用于这个用法的选项有Back, Font, Fore, Frame 和 Padding。Title 和 Swallow 选项的标记可以使用Title(flags) 和 Swallow(flags)设置。同样也可以指定“Columns width”或“Rows height”,“Rows 2”是默认值。
这个集成的容器按钮可以使用Frame和Padding选项,也可以关联特定的命令。
典型地,你至少希望给容器设置一个widthxheight的大小。
End
指定不会再向在当前的按钮容器添加更多的按钮,之后的按钮将被添加在这个容器的父容器(parent)里。这个选项应该独占一行,例如:
*FvwmButtons: (End)
Font fontname
指定这个按钮的标签使用的字体。
Fore color
指定按钮标签的文本和单色图标的使用的颜色。
Frame width
指定按钮周围relief的宽度。如果为负数,则正常情况下按钮的轮廓是凹下去的。
Icon filename
指定按钮的图标。FvwmButtons 将从 ImagePath配置的路径里查找图标文件。
ActiveIcon filename
指定当鼠标光标移动到这个按钮上面时,显示的图标。如果没有明确指定,使用和Icon同样的配置。
PressIcon filename
指定当这个按钮被按下时,显示的图标。如果没有明确指定,使用和Icon同样的配置。
Id id
按钮的id,第一个字符必须为字母。