Solaris 公用桌面环境:高级用户和系统管理员指南

手动创建操作:一般步骤

本节介绍如何为操作定义创建配置文件。

操作的配置文件

包含操作定义的配置文件必须满足下面的要求:

有关修改操作/数据类型查找路径的信息,请参见"设置查找路径的值"

手动创建操作

  1. 打开现有的数据库文件或创建新文件。

    请参见上一节"操作的配置文件"

  2. 使用如下语法创建操作定义:

    ACTIONaction_name
       {
       TYPE  action_type
            action_field
     		...
     	}

    其中:

    action_name-运行操作所用的名称。

    action_type-COMMAND (缺省值) 、MAP 或 TT_MSG

    action_field-这类操作必需或任选的字段之一。所有字段都由关键字和值组成。

    本章包含多种操作字段。有关详细信息,请参见 dtactionfile (4) 手册页。

  3. 保存文件。

  4. 如果需要操作图标有唯一的图像,请为操作创建图标。图标的缺省位置为:

    • 个人图标:HomeDirectory /.dt/icons

  5. 在 Desktop_Tools 应用程序组中双击"重新装入操作"。

  6. 为操作创建操作文件。该操作文件在"文件管理器"或"应用程序管理器 "中创建代表该操作的图标。(如果操作被写以启动应用程序,则该图标称为应用程序图标。)

    要创建操作文件,需要创建与 action_name 同名的可执行文件。该文件可位于任何您具有写许可的目录内。可创建任意多个操作文件。

创建 COMMAND 操作的实例

下面的步骤在远程系统 AppServerA上创建了启动传真应用程序的个人操作。启动传真应用程序的命令是:

 /usr/fax/bin/faxcompose [filename]
  1. 创建 HomeDirectory/.dt/types/Fax.dt 文件。

  2. 将下面的操作定义放到文件中:

    ACTION FaxComposer
        {
          TYPE      		COMMAND
          ICON      		fax
          WINDOW_TYPE    NO_STDIO
          EXEC_STRING    /usr/fax/bin/faxcompose -c%Arg_1%
          EXEC_HOST      AppServerA
          DESCRIPTION    Runs the fax composer
    	}

    WINDOW_TYPEEXEC_STRING 字段描述操作的性能。

    WINDOW_TYPE-NO_STDIO 关键字指定该操作不必在终端仿真器窗口中运行。

    请参见"为操作指定窗口支持"

    EXEC_STRING-语法 %Arg_1% 接受拉放文件。如果双击操作图标,操作将打开空的传真书写器窗口。

    请参见"生成 COMMAND 操作的执行字符串"

  3. 保存文件。

  4. 用"图标编辑器"在 HomeDirectory /.dt/icons 目录中创建下面的图标图像文件:

    • fax.m.pm,大小为 32 乘 32 像素

    • fax.t.pm,大小为 16 乘 16 像素

  5. 在 Desktop_Tools 应用程序组中双击"重新装入操作"。

  6. 在具有写许可的目录 (例如,起始目录) 中创建名为 FaxComposer 的可执行文件。

创建 MAP 操作的实例

假设绝大部分传真文件用"文本编辑器"创建,而且属于数据类型 TEXTFILE (文件名为 *.txt)。

下面的步骤在数据类型的"选中"菜单中加入"传真"菜单项。

  1. 打开在上例中创建的 HomeDirectory/.dt/types/Fax.dt 文件。

  2. 在文件中加入下面的映射操作的定义:

    ACTION Fax
      {
       ARG_TYPE      TEXTFILE
       TYPE       MAP
       MAP_ACTION     FaxComposer
      }
  3. 保存文件。

  4. 将 TEXTFILE 的数据属性定义从 /usr/dt/appconfig/types/language /dtpad.dt 复制到新的文件 HomeDirectory /.dt/types/textfile.dt。将"传真"操作添加到 ACTIONS 字段。

    DATA_ATTRIBUTES TEXTFILE
      {
       ACTIONS     Open,Print,Fax
       ICON       Dtpenpd
       ...
      }
  5. 保存文件。

  6. 打开应用程序管理器,在 Desktop_Tools 应用程序组中双击"重新装入操作"。

重新装入操作/数据类型数据库

为使新的或经过编辑的操作定义有效,桌面必须重新读取数据库。

    打开 Desktop_Tools 应用程序组,双击"重新装入操作"。

    或者,执行下面的命令:

    	dtaction ReloadActions

    ReloadActions 是图标的标记为"重新装入操作"的操作的名称。

    当用户进行下面的操作时,操作数据库也被重新读取:

    • 登录

    • 重新启动"工作区管理器"

    • 从"文件"菜单选择"保存"在"创建操作"窗口保存操作

为"操作"创建"操作文件"(图标)

操作文件是为在"文件管理器"或"应用程序管理器" 中提供操作的可视表示而创建文件。

图形 12-1 "应用程序管理器"中的操作文件 (操作图标)

Graphic

由于操作文件的图标表示一个操作,因此有时也被称为操作图标。如果其潜在的操作启动应用程序,则操作文件图标也被称为应用程序图标

双击操作图标来运行操作。操作图标同时也可能是拉放区。

创建操作文件 (操作图标)

    创建与操作同名的可执行文件。该文件的内容并不重要。

例如,操作的定义如下:

ACTION   MyFavoriteApp
 {
   EXEC_STRING      Mfa -file%Arg _1%
   DESCRIPTION      Runs MyFavoriteApp
   ICON          	  Mfapp
 }

此时,操作文件是名为 MyFavoriteApp 的可执行文件。在"文件管理器"和"应用程序管理器"中,MyFavoriteApp 文件将使用图标图像 Mfapp.size.type。双击 MyFavoriteApp 的图标就运行该操作的执行字符串,图标的"针对项"帮助则为 DESCRIPTION 字段 ("运行 MyFavoriteApp") 的内容。

"操作标号"

如果操作定义包含 LABEL 字段,该操作文件就在"文件管理器"和"应用程序管理器"中加上该字段内容的标号而不是文件名 (action_name)。例如,如果操作定义中包含下面的定义:

ACTION   MyFavoriteApp
 {
   LABEL      Favorite Application
   ...
 }

此时操作图标标记为"喜爱的应用程序"。

指定"操作所用的图标图像"

使用 ICON 字段来指定用于"文件管理器"和"应用程序管理器"的图标,作为为操作创建的操作图标。

如果未指定图标,系统将使用缺省的操作图标图像文件 /usr/dt/appconfig/icons/language /Dtactn.*

图形 12-2 缺省的操作图标图像

Graphic

缺省的操作图标可使用下面的资源加以更改:

*actionIcon:    icon_file_name

其中 icon_file_name 可以是基本名称或绝对路径。

ICON 字段的值可以是:

表 12-1 操作图标的图标名和图标大小

像素大小 

位图名 

像素图名 

48 乘 48 

name .l.bm

name .l.pm

32 乘 32 

name .m.bm

name .m.pm

16 乘 16 

name .t.bm

name .t.pm

修改现有的操作定义

可修改系统内任何可用的操作,包括内置操作。


注意:

修改内置操作数据库时必须小心。因为内置操作是为很好使用桌面应用程序而设计的。


  1. 找到需要修改的操作定义。

    操作定义的缺省位置是:

    • 内置操作:/usr/dt/appconfig/types/language

    • 系统范围操作:/etc/dt/appconfig/types/language

    • 个人操作:HomeDirectory /.dt/types

      系统也可能包括附加的位置。要查看系统中所用操作的位置列表,请键入下面的命令:

      	dtsearchpath -v 
      

      系统所用目录列在 DTDATABASESEARCHPATH 下。

  2. 如果必要的话,将操作定义的文本复制到下面的目录之一中新的或现有的文件中:

    • 系统范围操作:/etc/dt/appconfig/types/language

    • 个人操作:HomeDirectory /.dt/types

      由于不应在 /usr/dt/appconfig/types/language 目录中编辑文件,所以必须复制内置操作。

  3. 编辑操作定义。

  4. 编辑完毕后请保存文件。

  5. 在 Desktop_Tools 应用程序组中双击"重新装入操作"。

操作定义中的优先级

当用户调用操作时,系统在数据库中查找匹配的操作名。如果存在多个由该名称的操作,系统则利用优先级规则来决定使用哪个操作。