Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2880564
  • 博文数量: 471
  • 博客积分: 10012
  • 博客等级: 上将
  • 技术积分: 5255
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-10 23:58
文章分类

全部博文(471)

文章存档

2011年(3)

2010年(61)

2009年(52)

2008年(212)

2007年(69)

2006年(74)

我的朋友

分类: LINUX

2008-04-17 13:52:37

Fvwm中文手册-FvwmAuto

FvwmAuto

名称(NAME

FvwmAuto -Fvwm 自动提升(auto-raise模块。

概要(SYNOPSIS

FvwmAuto 只能被 fvwm 调用(fork),不能从命令行启动。

描述DESCRIPTION

FvwmAuto 常常用来自动提升焦点窗口。

调用(INVOCATION):

Module FvwmAuto Timeout [-passid] [-menter|-menterleave|-mfocus] [EnterCommand [LeaveCommand]]

AddToMenu Modules

+ "Auto Raise (300 ms)"  Module FvwmAuto 300

+ "Auto Raise/Lower"     Module FvwmAuto 300 "Silent Raise" "Silent Lower"

Timeout 参数是必须的,单位为毫秒,任何一个大于0的正整数都是有效的。它指定在这个命令执行前,窗口必须保留输入焦点多长时间。

如果指定 -passid 选项,刚刚进入或离开的窗口的id被附加到这个命令上发送给fvwm,它能被fvwm的 WindowId 命令使用。

选项-menter,-menterleave,和-mfocus只能使用一个,如果是-mfocus模式,FvwmAuto 提升焦点窗口。如果是-menter模式,当鼠标指针进入一个窗口时,FvwmAuto提升指针下面的窗口。在鼠标指针进入新窗口前,LeaveCommand 在指针下面的窗口上执行。当指针离开一个窗口并进入根窗口时,EnterCommand 也被执行,但没有窗口供操作。-menterleave模式的工作方式类似于-menter模式,但是在鼠标指针离开一个窗口而且还没有进入一个新的窗口时,LeaveCommand也被执行。后面的两种模式当窗口不接受焦点时非常有用。

注意:-menterleave模式可以和一些应用的弹出窗口交互。一个例子是Ghostview的zoom菜单,不用担心,这只是Ghostview的一个bug。

EnterCommand LeaveCommand是可选的。EnterCommand在窗口得到输入焦点Timeout毫秒后执行,LeaveCommand在窗口失去焦点Timeout毫秒后执行。注意,你应该在命令前一直使用'Silent'关键字。如果你忘记它,fvwm会自动把"Silent"加在这个命令上。如果没有添加这个前缀,在命令被fvwm处理前窗口已经死掉时,fvwm将会向你请求一个窗口来进行操作。

EnterCommand 默认为"Silent Raise",但其它一些fvwm函数也是可以的。可以进行下面的试验:

    Module FvwmAuto 0 Nop "Silent Lower"

    Module FvwmAuto 0 Nop "Silent Iconify"

下面是自动提升 ClickToFocus 窗口的例子

    Style * ClickToFocus

    FvwmAuto 0 -menter "Silent Raise"

下面是自动提升和降低部分窗口的例子

启动FvwmAuto:

    FvwmAuto 0 -passid -menter \

    "Silent selective_raiselower raise" \

    "Silent selective_raiselower lower"

加入.fvwm2rc

    AddToFunc selective_raiselower

    + I WindowId $1 (FvwmIconMan) $0

    + I WindowId $1 (FvwmButtons) $0

    + I WindowId $1 (xclock) $0

下面是一个更复杂的例子:(有三个FvwmAuto 正在运行

    DestroyFunc RestoreIconified

    AddToFunc   RestoreIconified

    + I Current (Iconic) Iconify false

 

    DestroyFunc RegisterFocus

    AddToFunc   RegisterFocus

    + I Exec date +"%T $n focused" >>/tmp/focus-stats.txt

    DestroyFunc RegisterUnfocus

    AddToFunc   RegisterUnfocus

    + I Exec date +"%T $n unfocused" >>/tmp/focus-stats.txt

    KillModule FvwmAuto

    Module FvwmAuto 250 Raise Nop

    Module FvwmAuto 800 RestoreIconified Nop

    Module FvwmAuto   0 RegisterFocus RegisterUnfocus

阅读(1050) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~