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

Fvwm中文手册-FvwmScript(一)

FvwmScript

名称(NAME):

FvwmScript - 创建 GUI

概要(SYNOPSIS):

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

描述(DESCRIPTION):

FvwmScript 可以使你创建很多图形应用,比如桌面附件,带弹出菜单的按钮面板,模态对话框……。启动时,FvwmScript 读取命令行指定的文件。这个文件包括了要执行的脚本,这个脚本并不被包含在Fvwm的配置文件里。

通过键盘可以完全控制一个FvwmScript 脚本。(Shift)-Tab循环各个控件(widget),Return模拟鼠标单击操作,箭头可以移动光标或改变控件的值,Escape可以“cancels”菜单和弹出菜单。

调用(INVOCATION):

可以将命令‘Module FvwmScript name_of_script’添加在.fvwm2rc文件里来调用FvwmScript。name_of_script 文件可以斜线(slash)开始,这时,它应该是一个绝对路径。否则,FvwmScript将在几个不同的位置寻找这个文件。如果.fvwm2rc包括了‘*FvwmScript: Path path_of_the_script_directory’语句,FvwmScript将尝试在指定的目录里查找脚本文件,如果没有发现脚本文件,则继续尝试在系统配置目录(system configuration directory)和用户配置目录(user configuration directory)里查找。

配置选项(CONFIGURATION OPTIONS):

下面的命令可以用在配置文件里。仅当调用的脚本里没有使用相应的脚本命令时,它们才有效。

*FvwmScript: DefaultFont font

指定默认字体。如果没有指定,同时脚本文件里也没有使用 Font 命令指定,则使用fixed字体。

*FvwmScript: DefaultFore color

指定默认前景色。如果没有指定,同时脚本文件里也没有使用 ForeColor 命令指定,则使用黑色。

*FvwmScript: DefaultBack color

指定默认背景色。如果没有指定,同时脚本文件里也没有使用 BackColor 命令指定,则使用grey85。

*FvwmScript: DefaultHilight color

指定默认的高亮色。如果没有指定,同时脚本文件里也没有使用 HilightColor 命令指定,则使用grey100。

*FvwmScript: DefaultShadow color

指定默认的阴影色。如果没有指定,同时脚本文件里也没有使用 ShadowColor 命令指定,则使用grey55。

*FvwmScript: DefaultColorset colorset

指定默认的colorset

脚本剖析(ANATOMY OF A SCRIPT):

FvwmScript 使用一种独特的编程语言。一个 FvwmScript 脚本由五个部分组成。Heading 包括窗口的一般特征和所有控件的默认属性。第二部分包括脚本启动时执行的命令。第三部分包括每秒周期执行的任务。第四部分包括退出时执行的命令。最后一部分包括控件的描述。一个控件可以包含11种不同类型的项(item):文本标签(text labels),单行文本输入域(single-line text inputs),单选按钮(radio buttons),多选框(checkbox),按钮(push buttons),水平和垂直滚动栏(horizontal and vertical scrollbars),矩形(rectangles),弹出菜单(pop up menus),swallowexecs 和 mini scrollbars。

Heading:

WindowTitle string

设置窗口标题。

WindowSize width height

设置窗口尺寸。

WindowPosition x y

设置窗口位置。

ForeColor {color}

设置所有控件默认的前景色。

BackColor {color}

设置所有控件默认的背景色。

HilightColor {color}

设置所有控件默认的高亮色。

ShadowColor {color}

设置所有控件默认的阴影色。

Colorset {n}

设置所有控件默认的colorset。

Font {font}

设置所有控件的默认字体。

UseGettext [locale_path]

打开用于 WindowLocaleTitle, LocaleTitle, ChangeLocaleTitle 命令和Gettext 函数的gettext 机制。如果参数为空,则使用默认的 FvwmScript locale 目录。这个目录在fvwm的安装目录下面,text domain是FvwmScript(install_prefix/share/locale/*/LC_MESSAGES/FvwmScript.mo)。你能够使用 LocalePath 命令修改或增加locale目录。这个命令必须放在WindowLocaleTitle的前面。

WindowLocaleTitle string

设置窗口标题,但使用的是UseGettext定义的locale。

初始化(INITIALISATION):

这个部分包括启动时执行的命令,例如:

    Init

        Begin

            Do "Exec cat tada.voc > /dev/dsp"

            WarpPointer 1

            Set $ToDo=Restart

         End

这些命令用来播放声音移动鼠标指针到控件 1并初始化$ToDoRestart

定时任务PERIODIC TASKS):

这个部分包括每秒都周期执行的命令,例如:

    PeriodicTasks

        Begin

            If (RemainderOfDiv (GetTime) 10)==0 Then

            Do {Exec xcalc}

        End

这个例子显示了如何每隔10秒执行xcalc

退出函数THE QUIT FUNCTION):

这个部分包括脚本退出时执行的命令Quit命令之后或者如果你使用CloseDeleteDestroy命令关闭窗口时。例如

    QuitFunc

        Begin

            Do {Echo bye, bye}

        End

如果使用 KillModule 命令关闭脚本一些依赖于脚本和fvwm之间联系的命令或函数不将被执行。

脚本主体MAIN OF A SCRIPT):

这个部分包括每个控件的描述。每个控件描述有两部分。第一个部分描述初始化属性,第二个部分包括控件收到消息时执行的命令。所有控件能够发送和接受消息。所有的消息通过数字来识别。当用户操作一个控件时,消息“UserAction”被发送到这个控件。

第一个部分的语法是:

    Widget      id # A number between 1 and 999 inclusive

    Property

        Type    string

        Size width height

        Position   x y

        Title      { string }

        Value      int

        MaxValue   int

        MinValue   int

        Font    string

        ForeColor  { color }

        BackColor  { color }

        HilightColor  { color }

        ShadowColor   { color }

        Colorset   int

    Flags      flagsOpt

上面最后一行Flags命令flagsOpt选项是一个空格隔开的关键字列表可以是Hidden, NoReliefString, NoFocus, Left / Center / RightHidden指定控件是否启动时隐藏。NoReliefString指定字符串是否带relief显示。NoFocus指定控件能否获得键盘焦点。默认所有的控件都可以获得焦点,除了Rectangle,HDipstick和VDipstick。当使用(Shift-)Tab切换控件时,NoFocus 控件被忽略。Left / Center / Right指定文本位置,它们仅应用于ItemDraw,List, Menu,PopupMenu and PushButton,对于ItemDraw和PushButton默认为Center,其它默认为Left

如果使用UseGettext定义的locale目录,LocaleTitle 可以用来取代Title。

每个控件的位置必须指定。

 

第二个部分的语法是:

    Main

        Case message of

            SingleClic:

            Begin

            # list of instructions which will be

            # executed when widget receives

            # message "SingleClic". This message is

            # generated by the user.

            End

            1 :

            Begin

            # list of instructions which will be

            # executed when widget receives

            # message 1

            End

        End

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