Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2915819
  • 博文数量: 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:54:13

Fvwm中文手册-FvwmCommand

FvwmCommand

名称(NAME):

FvwmCommand FVWM 外部命令接口

概要(SYNOPSIS):

FvwmCommand [-cmrvw] [-S name] [-i level] [-f name] [-F level] [command...]

描述DESCRIPTION):

FvwmCommand 使你能够监控 fvwm 的执行fvwm transaction),并从shell命令行或者脚本文件发送 fvwm 命令。FvwmCommand 把每个参数都当作一个fvwm命令。如果命令包含空格,则必须加上引号,如

    FvwmCommand FvwmPager 0 1'

调用(INVOCATION):

在调用 FvwmCommand 之前,FvwmCommandS 需要被fvwm调用一次,通过.fvwm2rc文件,菜单,或者 FvwmConsole 都可以。之后,就可以通过shell或脚本调用 FvwmCommand。

通过.fvwm2rc文件调用 FvwmCommandS:

    Module FvwmCommandS

       

    AddToFunc StartFunction "I" Module FvwmCommandS

然后通过脚本文件或shell调用 FvwmCommand

    FvwmCommand  'popup Utilities'

选项(OPTIONS):

-c

通知 FvwmCommand 从标准输入读取多个命令,而不是命令行参数中指定的一个命令。它禁止了-m-i选项。

    (echo "Exec xload"; echo "Beep") | FvwmCommand -c

-F

指定了 FvwmCommand 输出窗口标记(fvwm window flags)的层次。

0   没有窗口标记输出

1   如果信息层(information level),即-i选项,为2或3,则输出全部窗口标记,

-f

指定一个和server通信的可选FIFO。默认FIFO设置是/var/tmp/FvwmCommand-${DISPLAY}C。FvwmCommand..C 用来发送命令和 FvwmCommand。M用来接受消息。如果这个路径不可用,将使用 ${FVWM_USERDIR}/FvwmCommand-${DISPLAY} 取代。必须在 FvwmCommand 调用前使用同样的作为第一个参数调用 FvwmCommandS。可选的,选项-S可以被使用。参考选项-S。

-i

指定 FvwmCommand 输出的信息的层次。

0   仅显示错误信息。

        FvwmCommand -i 0 FvwmBanner

    将显示一个不带任何输出的徽标(banner)。

另一方面,

        FvwmCommand -i 0 foobar

    将返回

        [FVWM][executeModule]: <> No such module

        'foobar' in ModulePath '/usr/lib/X11/fvwm'

    注意,Fvwm 本身将不返回任何一个错误信息,以避免象下面这样的情况,因为'windowid'自己是一个有效的命令。

        FvwmCommand -i 0 windowid foo bar'

1   显示错误和窗口配置信息。为默认设置。

        FvwmCommand send_windowlist

    将显示类似下面的信息。

        0x02000014 window               FvwmConsole

        0x02000014 icon                 FvwmConsole

        0x02000014 class                XTerm

        0x02000014 resource             FvwmConsole

        0x01c00014 window               console

        0x01c00014 icon                 console

        0x01c00014 class                XTerm

        0x01c00014 resource             console

        0x01000003 window               Fvwm Pager

        0x01000003 icon

        0x01000003 class                FvwmModule

        0x01000003 resource             FvwmPager

        0x00c0002c window               emacs: FvwmCommand.man

        0x00c0002c icon                 FvwmCommand.man

        0x00c0002c icon file            xemacs.xpm

        0x00c0002c class                Emacs

        0x00c0002c resource             emacs

        end windowlist

    第一列表示窗口的ID,它们可以用作windowid'命令的参数。第二列表示信息类型。最后一列表示信息内容。如果没有信息返回,需要增加-w

2   显示上面的信息和静态的窗口信息

        FvwmCommand -i2 'FvwmPager 0 1'

    将显示类似下面的信息。

        0x03c00003 frame                x 962, y 743, width 187, height 114

        0x03c00003 desktop              0

        0x03c00003 StartIconic          no

        0x03c00003 OnTop                yes

        0x03c00003 Sticky               yes

        0x03c00003 WindowListSkip       yes

        0x03c00003 SuppressIcon         no

        0x03c00003 NoiconTitle          no

        0x03c00003 Lenience             no

        0x03c00003 StickyIcon           no

        0x03c00003 CirculateSkipIcon    no

        0x03c00003 CirculateSkip        no

        0x03c00003 ClickToFocus         no

        0x03c00003 SloppyFocus          no

        0x03c00003 SkipMapping          no

        0x03c00003 Handles              no

        0x03c00003 Title                no

        0x03c00003 Mapped               no

        0x03c00003 Iconified            no

        0x03c00003 Transient            no

        0x03c00003 Raised               no

        0x03c00003 Visible              no

        0x03c00003 IconOurs             no

        0x03c00003 PixmapOurs           no

        0x03c00003 ShapedIcon           no

        0x03c00003 Maximized            no

        0x03c00003 WmTakeFocus          no

        0x03c00003 WmDeleteWindow       yes

        0x03c00003 IconMoved            no

        0x03c00003 IconUnmapped         no

        0x03c00003 MapPending           no

        0x03c00003 HintOverride         yes

        0x03c00003 MWMButtons           no

        0x03c00003 MWMBorders           no

        0x03c00003 title height         0

        0x03c00003 border width         4

        0x03c00003 base size            width 8, height 7

        0x03c00003 size increment       width 9, height 9

        0x03c00003 min size             width 8, height 7

        0x03c00003 max size             width 32767, height 32767

        0x03c00003 gravity              SouthEast

        0x03c00003 pixel                text 0xffffff, back 0x7f7f7f

        0x03c00003 window               Fvwm Pager

        0x03c00003 icon                 Fvwm Pager

        0x03c00003 class                FvwmModule

        0x03c00003 resource             FvwmPager

3   显示所有可用的信息。

        FvwmCommand -i3 'Killmodule Fvwm*'

    将报告哪个窗口被关闭。

        0x03400003 destroy

        0x02400002 destroy

-m

监控 fvwm 的窗口信息处理。FvwmCommand 不断地输出它接受到的信息。这个选项能够用在后台任务里,常和-i3选项一起动态控制窗口。

    FvwmCommand -mi3 | grep 'iconify'

将报告窗口什么时候图标化(iconfy)或反图标化(de-iconfy)。

注意:FvwmCommand 不缓冲它的输出,但很多grep或sed这样的使用块缓冲的机制。下一个例子的输出将直到 FvwmCommand 被终止或stdout缓冲被填满时才显示。

    FvwmCommand -mi3 | grep ' map' |

    sed 's/\(0x[0-9a-f]*\).*/windowid \1 move 0 0/'

作为替代,可以使用缓冲控制工具,比如pty或perl。下面是一个例子。

    Fvwm -mi3 | perl -ne '

    $|=1;

    print "windowid $1 iconify\n" if /^(0x\S+) add/;

    ' > ~/.FvwmCommandC

-r

退出前等待一个回复。在一个指定的时间之内,如果没有返回任何信息或错误,FvwmCommand 将退出。指定选项-r时,将等候至少一条返回消息。收到第一条消息之后,它将在指定的时间限制内,等候另外一条返回消息。

-S

 

-v

显示 FvwmCommand 的版本号。

-w

等候一个消息

错误:

如果显示下面的错误消息,很有可能是没有运行 FvwmCommandS。

    FvwmCommand error in opening message fifo

    --No such file or directory--

fvwm的模块不返回错误消息给 fvwm,而是显示在stderr上。这些错误消息将被当作 FvwmCommand消息显示。

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