本章介绍如何为应用程序创建注册包以及如何将应用程序注册到桌面上。
当应用程序完全注册到桌面上后,它具有:
自己的应用程序组。该应用程序组在应用程序管理器的顶层
起动该应用程序的动作。此动作由应用程序组中的图标表示
可供选择的数据文件的数据类型
应用程序的注册是对应用程序的无损操作
这不涉及对可执行的应用程序自身的修改。因此,可以在系统中注册已有的应用程序。
它无需将应用程序的任何已发布的文件(如可执行文件和app-defaults)转移到其它文件位置。
可以很容易地加以恢复。用来注册应用程序的dtappintegrate 工具为反转进程提供命令行选项。
应在下列情况下创建注册包:
系统管理员要将已有的应用程序注册到桌面上
软件程序员要为桌面智能型应用程序创建安装包
本节解释:
应用程序注册的目的
应用程序注册为应用程序提供的特性
关于如何注册已有的应用程序的详细示例请参阅"创建注册包的示例"。
定位应用程序。
安装后,应用程序会"注册"到"应用程序管理器"并拥有自己的应用程序组。

启动应用程序。
应用程序的应用程序组含有图标,用户可以双击该图标来启动应用程序。

执行诸如邮寄、压缩、查看或播放(音频)数据等其它操作
注册后的桌面应用程序有某些特定的配置文件,桌面使用这些文件来提供应用程序用户界面:
动作和数据类型定义文件
图标图象(象素图或位图)文件
创建应用程序组的目录和文件
可供选择的桌面帮助文件和"前面板"定义文件
为了使桌面识别并使用这些文件,它们必须在桌面搜索路径所指定的特定目录中。
当应用程序的配置文件分散在几个不同的目录中时,对其进行管理会很困难。因此,桌面允许应用程序将所有的桌面配置文件集中到一个目录下。这些文件的组就叫注册包。
如果应用程序是桌面智能型的,它的安装包本身就带有注册包。如果您是自己创建配置文件的系统管理员,可以自己来创建注册包。
如果注册包的配置文件不在正确的搜索路径中,桌面将无法使用这些文件。将这些文件放置到适当位置的过程叫注册或集成应用程序。
桌面提供dtappintegrate工具。该工具通过在适当的搜索路径中创建文件的符号性的链接表示来执行注册。
许多桌面智能型应用程序会自动地在安装过程中运行dtappintegrate。如果您是集成已有应用程序的系统管理员,可以在创建注册包后自己运行该工具。
应用程序一旦注册到系统桌面,就可被该系统的所有用户调用。如果该系统被配置为桌面应用程序服务器,此应用程序也能通过网络被其它系统调用。
dtappintegrate工具提供的命令行选项通过中断上述链接来进行反转进程。这样,应用程序可以很容易地从应用程序管理器中删除,从而转移到其它服务器或得到更新。
关于使用这些步骤来创建应用程序包的详细示例,请参阅"创建注册包的示例"。
修改应用程序中任何设置字体和颜色的资源。否则, 桌面的动态字体和颜色可能会工作不正常。
创建应用程序根位置。
在应用程序的根下创建目录结构。
创建应用程序的动作和数据类型。
将帮助文件放置在相应的目录中。
创建应用程序的图标
创建应用程序的应用程序组。
请参阅"第 7 步:创建应用程序组"。
用dtappintegrate 注册应用程序。
关于修改应用程序资源的示例,请参阅"创建注册包的示例"的第 1 步。
桌面提供设置和操作界面字体和窗口颜色的机制。为了使应用程序正确地使用该机制,必须修改应用程序的app-defaults文件。
本节适用于使用 OSF/Motif 1.2(TM)(或更高版本)创建的应用程序。"式样管理器"无法为用更低版本的 OSF/Motif 编写的应用程序设置界面字体。
如果使用 OSF/Motif 1.2(TM)(或更高版本)创建的应用程序没有指定自己的界面字体,桌面"式样管理器"就会为其设置界面字体。
"式样管理器"提供两种字体:
系统字体-适用于标签、菜单和按钮等系统区
用户字体-适用于文本字段等可编辑区
每种字体有 7 种大小,在字体对话框中用数字 1 到 7 标记。"式样管理器"的字体通过在/usr/dt/app-defaults/language/Dtstyle 中设置的资源连接到实际字体。
如果应用程序要使用"式样管理器"的字体,应该删除界面用以指定字体的任何应用程序资源。桌面会自动设置适当的应用程序资源:
FontList-设置为系统字体
XmText*FontList-设置为用户字体
XmTextField*FontList-设置为用户字体
"式样管理器"可以动态地更改应用程序的颜色,但应用程序必须是 OSF/Motif 1.1 或 1.2 的客户程序。用其它工具包编写的客户程序不能动态更改颜色,而只能在客户程序重新起动时才更改颜色。
使用桌面提供的动态颜色的最简单方法是删除所有用于背景色和前景色的应用程序颜色资源。
关于为应用程序创建桌面应用程序根目录的示例,请参阅"创建注册包的示例"的第 2 步。
应用程序的注册包文件都被集中到一个目录下,它被称为应用程序根目录,或 app_root。桌面配置使用的 app_root 目录可以和应用程序的安装目录 app_root 是同一个目录,也可以是其它 目录。
例如,假设应用程序安装在/usr/BTE目录下,这个目录同时也可以作为桌面配置文件的app_root目录。但是,如果要集成一个已有的非桌面智能型应用程序,则需要另外创建桌面app_root目录。这样可以防止在更新应用程序时覆盖所创建的配置文件。
例如,系统管理员可以创建/etc/desktop_approots/BTE,作为桌面的app_root目录。
关于创建应用程序注册包目录的示例,请参阅"创建注册包的示例"的第 3 步。
注册包是桌面为应用程序提供图形界面而需要的所有配置文件的集合。
桌面配置文件包括:
动作和数据类型定义文件
图标的图象文件
应用程序组目录及其内容
可选:帮助数据文件和前面板配置文件
注册包集中在名为应用程序根目录或app_root 的顶层目录下。

app_root/dt/appconfig 目录下的配置区主要类别显示于表 5-1。
表 5-1 配置区的主要类别|
子目录 |
内容 |
|---|---|
|
类型 |
动作和数据类型定义文件 |
|
帮助 |
桌面帮助文件 |
|
图标 |
应用程序的动作和数据类型所使用的位图和象素图图象文件 |
|
应用程序管理器 |
创建应用程序组的目录和内容 |
每个主要类别都有与语言相关文件的子目录。缺省语言的文件放置在C目录中。
创建下列目录。如果要提供与语言相关的配置文件,需要为每种语言创建单独的目录。如果只要提供一种语言,请把文件放置在C目录中。
app_root/dt/appconfig/types/language
app_root/dt/appconfig/help/language
app_root/dt/appconfig/icons/language
app_root/dt/appconfig/appmanager/language/appgroup_name,其中appgroup_name是应用程序组的名称。
例如,图形 5-5显示应用程序管理器。它包含名 为"Media_Tools"的应用程序组。

dtappintegrate工具只对类型、帮助、图标和应用程序管理器目录下的桌面配置文件进行操作。应用程序的二进制可执行文件,app-defaults 和信息种类文件,都单独进行管理。
关于创建应用程序动作和数据类型的示例,请参阅"创建注册包的示例"的第 4 步。
动作和数据类型为应用程序提供用户界面。
动作为起动应用程序的命令提供用户界面
数据类型提供用户定制的应用程序数据文件的外观和特性
典型的应用程序需要下列动作和数据类型定义:
打开应用程序的动作。
应用程序数据文件的数据类型。如果要创建数据类型,同样也要创建:
应用程序数据文件的"打开"动作
应用程序数据文件的"打印"动作
应用程序组的数据类型(请参阅"为应用程序组配置专用图标")。
关于桌面中动作和数据类型的使用方法的介绍,请参阅第 10 章,动作与数据类型的介绍 。
动作和数据类型在配置文件中得到定义。命名包含动作和数据类型定义的文件的唯一要求是要使其带有.dt后缀。按照惯例,可以将文件命名为action_name .dt 或 application_name.dt。
将包含动作和数据类型的文件放置在应用程序根目录下的 app_root /dt/appconfig/types/ language 目录中。缺省的 language是C。

可以采用两种方法为应用程序创建动作和数据类型:
使用创建动作工具。
创建动作工具提供易于使用的界面,它具有供输入用的文本区。当然,该工具有一定的限制。
手动创建定义。
虽然这需要了解创建定义的语法,但它可提供更全面的功能。
下列过程采用"创建动作"实用程序为应用程序创建动作和数据类型。
关于"创建动作"的进一步信息,请使用它的联机帮助或参阅第 11 章,用创建动作命令来创建动作和数据类型。
打开 Desktop_Apps 应用程序组,双击"创建动作"。
使用"创建动作"为应用程序及其数据类型创建动作和数据类型定义。
由"创建动作"创建的配置文件会写入HomeDirectory/.dt/type/action_name.dt。 其动作文件(与动作同名的可执行文件)放置在起始目录中。
用起始目录中创建的动作文件测试动作。
将动作定义文件HomeDirectory/.dt/type/action_name.dt 复制到app_root/dt/appconfig/types/language 目录中。
创建应用程序组目录之后(请参阅"第 7 步:创建应用程序组"),把动作文 件HomeDirectory/action_name 复制到 app_root /dt/appconfig/appmanager/ language /appgroup_name 目录下。
为应用程序创建包含动作和数据类型定义的配置文件。
动作和数据类型定义文件的命名必须遵循命名惯例name.dt。
可以将动作和数据类型的所有定义放置在一个文件中,也可以分别放置在多个文件内。每个文件使用的文件名都要使系统管理员能方便地将其与应用程序联系起来。
动作和数据类型名称必须是单词(没有内嵌的空格)。可以使用下划线字符。按照惯例,动作或数据类型名的第一个字符要大写。不要用已有动作名称或文件名称, 要用能使高级用户和系统管理员方便地将其与应用程序联系起来的文件名。
如果想让应用程序的图标所标记的名称与动作名不同,在动作定义中包含LABEL字段。
关于创建动作和数据类型进一步信息,请参阅:
关于注册包中加入帮助文件的示例,请参阅"创建注册包的示例"的第 5 步。
如果应用程序包含桌面帮助卷(用桌面的帮助开发工具包创建的帮助卷),帮助卷的主文件 (*.sdl) 应该放在app_root/appconfig/help/language目录中。
帮助文件使用的图形通常放置在graphics子目录中。所有图形必须放置在与创建帮助卷时产生的主帮助卷文件 (*.sdl) 相对的同一个目录中。
如果应用程序没有帮助卷,可以用帮助开发工具包来自行创建一个。
当桌面帮助部分集成时,帮助卷可以从帮助管理器的顶层访问。但是,无法从应用程序窗口访问帮助卷。另外,也可以提供从应用程序组访问帮助卷的动作。下面的示例动作显示帮助主文件MyApp.sdl中的帮助卷:
ACTION OpenMyAppHelp
{
LABEL MyAppHelp
ARG_COUNT 0
TYPE COMMAND
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/dt/bin/dthelpview -helpVolume MyApp DESCRIPTION Displays help for the MyApp application.
}
关于创建应用程序图标的示例,请参阅"创建注册包的示例"的 第 6 步。
桌面只为动作、数据类型和应用程序组提供缺省图标。但是,您可能需要为应用程序创建专用图标。
图标放置在app_root/dt/appconfig/icons/language 目录中。
应用程序在桌面上使用下列图标图象:
应用程序组图标。这是在应用程序管理器顶层中代表目录的图标。它在应用程序组的数据类型定义中的ICON字段引用。(请参阅"第 7 步:创建应用程序组"。)
图标有两种大小:小图标和中图标。
为支持彩色(8位或8位以上)和单色(小于8位)显示,可能需要同时提供象素图和位图两个版本的图标。
|
大小 |
象素维数 |
位图名 |
象素图名 |
|---|---|---|---|
|
小 |
16 乘 16 |
basename.t.bm |
basename.t.pm |
|
中 |
32 乘 32 |
basename.m.bm |
basename.m.pm |
|
大 |
48 乘 48 |
basename.l.bm |
basename.l.pm |
如果未提供位图文件,桌面会将象素图的颜色定义映射到黑白两色。但是这种映射可能不会产生所期望的效果。
关于图标的进一步信息,请参阅"图标图像文件"。
关于创建应用程序组的示例,请参阅"创建注册包的示例"的第 7 步。
应用程序的动作和数据类型定义一经创建后,还必须创建可以产生用户实际所见对象的 配置文件-应用程序组及其内容。
应用程序组是出现在应用程序管理器顶层的目录(请参阅图形 5-1)。
创建应用程序组分为三步:
在注册包中创建应用程序组目录。
可选:为应用程序组配置专用图标。这与创建应用程序组的数据类型定义有关。
创建应用程序组的内容。
为创建应用程序组,需要在appmanager下的注册包中创建目录,如图形 5-7所示。

图形 5-7中的 <appgroup_name>就是应用程序组的名称。

应用程序组名可以是任何合法的文件(目录)名。最好使用能描述应用程序功能的名称。
虽然桌面可以为应用程序组提供缺省图标。 但是,您可能需要自己定义图标。
如果想为应用程序组提供专用图标,必须 创建:
应用程序管理器顶层目录的数据 类型。
数据类型的打开和打印动作。
例如,假设想创建名为 Media_Tools 的应用程序组。可以用下列放置在app_root/dt/appconfig/types/language/name.dt 文件中的数据类型定义 为应用程序组指定专用图标。
DATA_ATTRIBUTES Media_ToolsAppgroup
{
ACTIONS OpenInPlace,OpenNewView
ICON MediaTools
DESCRIPTION Double-click to open the Media_Tools \
application group
}
DATA_CRITERIA Media_ToolsAppgroupCriteria1
{
DATA_ATTRIBUTES_NAME Media_ToolsAppgroup
MODE d
PATH_PATTERN */appmanager/*/Media_Tools
}
上述定义的属性段指定所用的图标;标准段则规定任何名为Media_Tools的目录(即是appmanager 下的子目录)所定义的数据类型。
图形 5-9显示了应用程序组名和数据类型定义之间的关系。数据类型定义中的PATH_PATTERN字段将专用图标与应用程序组相连接。
ACTION Open
{
ARG_TYPE Media_ToolsAppGroup
TYPE MAP
MAP_ACTION OpenAppGroup
}
ACTION Print
{
ARG_TYPE Media_ToolsAppGroup
TYPE MAP
MAP_ACTION PrintAppGroup
}
OpenAppGroup 和 PrintAppGroup 动作是定义在/usr/dt/appconfig/ types/language/dtappman.dt 中的内置动作。
应用程序组中最重要的一项是起动应用程序的图标(动作图标)。如果应用程序组包括一组应用程序,则通常每个应用程序都有动作图标。
除一个或多个动作图标外,应用程序组还可以包括:
一个或多个"自述"文件
一个或多个样本数据文件
模板
图标,用户可双击它来查看帮助信息
手册页
专门的"前面板"控制
应用程序组可以包含子目录。
应用程序组应该包含起动应用程序的图标。如果应用程序组提供一组应用程序,则每个程序都 应该有图标。这些图标称作应用程序图标或动作图标,因为它们代表所蕴含的动作。
动作图标是通过创建与它将运行的动作同名的可执行文件来创建的:
app_root/dt/appconfig/appmanager/appgroup_name/action_name
这个文件被称为动作文件,因为它的目的是 创建所蕴含的动作的可视表象。
例如,如果已经创建了运行 BestTextEditor 应用程序的,名为 BestTextEditor 的动作,同时也会创建名为 BestTextEditor 的 可执行程序。在"文件管理器"和应用程序管理器中,动作文件就会使用动作定义中规定的图标图象。
图形 5-10说明动作定义、动作文件和"应用程序管理 器"窗口实际入口之间的关系。

桌面提供"自述"数据类型供应用程序的"自述"文件使用。请从下列命名惯例中选用一种:
README
readme
README.*
Read.*.Me
read.*.me
READ.*.ME
绝大多数情况下,不必提供"前面板"的控制定义;用户可以在子面板的"安装图标"控制上放置动作图标,将应用程序添加到"前面板"。
如果想使用户可自行安装与动作图标特性不同的控制,可能需要创建包含应用程序控制定义的前面板配置文件,其中-例如,如果该控制需要监视文件,并且在被监视文件 变化时更改它的外观。
"前面板"配置文件放置在app_root/dt/appconfig/types/language 目录中。命名惯例是name.fp.
提供包含控制定义的配置文件后,用户可以在子面板的"安装图标"控制上放置*.fp文件, 将控制添加到子面板。
例如,下面的定义可以放置在应用程序组的"前面板"配置文件中。如果用户将这个文件放置在子面板的"安装图标"控制上,子面板上会产生控制来 运行 BestTextEditor 应用程序的单一执行实例。如果 BestTextEditor 已在运行,该窗口会跳到当前工作区的窗口堆叠的顶部。
CONTROL BestTextEditorControl
{
TYPE icon
ICON BTEFPanel
PUSH_RECALL True
CLIENT_NAME BTEd
PUSH_ACTION BTEditor
DROP_ACTION BTEditor
HELP_STRING Starts the BestTextEditor application.
}
关于创建"前面板"配置文件的附加信息,请参阅:
dtfpfile(4) 手册页
关于注册应用程序的示例,请参阅"创建注册包的示例"的第 8 步。
在应用程序的根目录下一经创建注册包后, 即可开始实际的应用程序注册。
应用程序的注册在注册包和位于桌面 搜索路径内的目录之间建立链接(请参阅"dtappintegrate如何集成应用程序")。
如果应用程序是桌面智能型的,dtappintegrate 一般作为安装过程的最后一步自动执行。如果它 没有自动执行,或者创建的配置文件是集成非桌面智能型的应用程序,可以手动运行dtappintegrate。
以超级用户登录。
运行下列命令:
/usr/dt/bin/dtappintegrate -sapp_root
其中app_root是桌面应用程序的根目录。关于进一步信息,请参阅 dtappintegrate(1) 手册页。
打开 Desktop_Tools 应用程序组,双击"重新装入应用程序"。
确认应用程序注册正确:
dtappintegrate -sapp_root [-ttarget_path] [-llanguage ] [-u]
|
-sapp_root |
必要参数,指定已安装应用程序的应用程序根目录。 |
|
-ttarget_path |
可选参数,缺省为系统设置/etc/dt/appconfig。指定桌面配置文件链接的位置,注意该位置必须位于应用程序的搜索路径中。 |
|
-llanguage |
可选参数,缺省设置为所有语言。指定所要集成的指定语言的桌面配置文件。 |
|
-u |
可选参数,解除应用程序的集成,删除集成时建立的所有链接。 |
dtappintegrate的功能是在已安装的文件和桌面查找配置文件的位置之间建立链接。
dtappintegrate在注册包内的动作和数据类型定义文件和沿着动作数据库搜索路径的系统目录之间创建符号链接。该过程创建的链接从
app_root/dt/appconfig/types/language/*.dt
到
/etc/dt/appconfig/types/language/*.dt
dtappintegrate在注册包内的帮助文件和沿着帮助搜索路径的系统目录之间创建符号链接。该过程建立的链接从
app_root/dt/appconfig/help/language/help_file.sdl
到
/etc/dt/appconfig/help/language/help_file.sdl
dtappintegrate在注册包内的图标文件和沿着图标搜索路径的系统目录之间创建符号链接。该过程建立的链接从
app_root/dt/appconfig/icons/language/icon_files
到
/etc/dt/appconfig/icons/language/icon_files
为把应用程序组放置到应用程序管理器的顶层,dtappintegrate 在注册包内的 应用程序组目录和沿着应用程序搜索路径的 系统目录之间创建符号链接。该过程建立的链接从目录
app_root/dt/appconfig/appmanager/language/appgroup_name
到
/etc/dt/appconfig/appmanager/language/appgroup_name
下列步骤为名为 BestTextEditor 的已有的非桌面智能型应用程序创建注册包。
本示例假设 BestTextEditor 应用程序有下列事实:
它安装在/usr/BTE目录下。
用户会话的语言是缺省值C。
起动 BestTextEditor 的命令行是:
BTEd {filename]
其中filename是将在新的窗口中打开的数据文件名。BestTextEditor 创建自己的窗口-就是说,它不是在终端仿真程序窗口中运行。
BestTextEditor 创建和使用两种类型的数据文件:
文档文件。它们的命名惯例是*.bte。BestTextEditor 提供 打印自己的.bte数据文件的命令行,命令行的语法是:
BTEPrint [-ddestination] [-s]filename
其中:
-ddestination-指定目标打印机。
-s-指定安静打印,此时应用程序的打印对话框不显示。
filename-指定要打印的文件。
模板文件。它们的命名惯例是*.tpl。模板文件不能打印。
已有的 BestTextEditor 非桌面 app-defaults 文件内包含界面字体、前景色和背景色的资源。
用帮助开发工具包创建 BestTextEditorwas 的联机帮助卷。联机帮助卷建立以后,使用下列源文件:
.../BTEHelp.htg .../graphics/BTE1.xwd .../graphics/BTE2.xwd
同时产生 .../BTEHelp.sdl文件。
下列步骤逐步完成 BestTextEditor 的注册。
修改字体和颜色资源。
在 BestTextEditor 的 app-defaults 文件中,删除设置下列对象的资源:
文本的字体
前景和背景的颜色
创建应用程序的根目录。
创建下列目录:
/desktop_approots/BTE
如果是集成已有的应用程序,需要创建与安装地点不同的应用程序根目录;否则,创 建的配置文件可能会在更新应用程序时被删除掉。
创建注册包目录。
创建下列目录:
/desktop_approots/BTE/dt/appconfig/types/C
/desktop_approots/BTE/dt/appconfig/help/C
/desktop_approots/BTE/dt/appconfig/icons/C
/desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor
创建应用程序的动作和数据类型。
创建定义动作和数据类型的配置文件:
/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt
创建运行 BestTextEditor 的动作定义:
ACTION BTEditor
{
WINDOW_TYPE NO_STDIO
ICON BTERun
DESCRIPTION Double-click this icon or drop\
a BTE data file on it to run \
BestTextEditor.
EXEC_STRING /usr/BTE/BTEd%Arg _1%
}
创建*.bte文件的数据类型:
DATA_ATTRIBUTES BTEDataFile
{
DESCRIPTION BestTextEditor data file
ICON BTEData
ACTIONS Open,Print
}
DATA_CRITERIA BTEDataFileCriteria1
{
DATA_ATTRIBUTES_NAME BTEDataFile
NAME_PATTERN *.bte
MODE f
}
创建*.tpl文件的数据类型:
DATA_ATTRIBUTES BTETemplateFile
{
DESCRIPTION BestTextEditor template file
ICON BTETempl
ACTIONS Open
}
DATA_CRITERIAL BTETemplateFileCriteria1
{
DATA_ATTRIBUTES_NAME BTETemplateFile
NAME_PATTERN *.tpl
MODE f
}
创建*.bte的打开动作。
ACTION Open
{
ARG_TYPE BTEDataFile
TYPE MAP
MAP_ACTION BTEditor
}
创建*.bte的打印动作。
下面是打印数据文件的简单打印动作。这些动作需要为 LPDEST 环境变量设置一个值,并忽略-s打印选项。(如果 LPDEST 没有设置,打印动作可能会失败。)
ACTION Print
{
ARG_TYPE BTEDataFile
TYPE MAP
MAP_ACTION BTEPrintData
}
ACTION BTEPrintData
{
WINDOW_TYPE NO_STDIO
EXEC_STRING BTEPrint -d $LPDEST%Arg _1%
}
下面是BTEPrintData 动作的另一个版本,以及伴随正文。这样就可以处理 LPDEST 没设置或需要静音打印的情况。
ACTION BTEPrintData
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/BTE/bin/BTEenvprint \
%(File)Arg_1%
}
/usr/BTE/bin/BTEenvprint正文的内容是:
# BTEenvprint
#!/bin/sh
DEST=""
SILENT= ""
if [ $LPDEST ] ; then
DEST="-d $LPDEST "
fi
BTEPrint $DEST SILENT $1
创建*.tpl文件的"打开"动作:
ACTION Open
{
ARG_TYPE BTETemplateFile
TYPE MAP
MAP_ACTION BTEditor
}
创建*.tpl文件的"打印"动作:
ACTION Print
{
ARG_TYPES BTETemplateFile
TYPE MAP
MAP_ACTION NoPrint
}
NoPrint 是内置的动作,用于显示对话框,告诉用户文件不能打印。
把帮助文件放入注册包内。
把帮助文件放置在下列位置:
/desktop_approots/BTE/dt/appconfig/help/C/BTEHelp.sdl
/desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE1.xwd
/desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE2.xwd
创建下列文件:
/desktop_approots/BTE/dt/appconfig/types/C/BTEhelp.dt.
把下列动作定义放置在文件内:
ACTION BTEHelp
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/dt/bin/dthelpview -helpVolume \
BTEHelp.sdl
DESCRIPTION Opens the BestTextEditor help volume.
}
创建应用程序图标。
用"图标编辑器"编辑图标。表 5-3显示了所要采用的图标大小准则。
表 5-3 图标大小准则|
图标名 |
大小 |
|---|---|
|
basename.t.pm |
16 乘 16 |
|
basename.m.pm |
32 乘 32 |
|
basename.l.pm |
48 乘 48 |
在/desktop_approots/BTE/dt/appconfig/icons/C 下创建下列图标:
代表运行应用程序的动作的图标:BTERun.t.pm,BTERun.m.pm,BTERun.l.pm
代表*.bte文件的图标:BTEData.t.pm,BTEData.m.pm,
代表*.tpl文件的图标:BTETempl.t.pm,BTETempl.m.pm
代表应用程序组的图标(用于第 7 步):BTEApp.t.pm,BTEApp.m.pm
如果尚未创建的话,创建下列目录。
/desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor
本步骤可选。通过为应用程序组创建一种数据类型,并把动作和应用程序组关联起来, 为程序组提供专用图标。 如果忽略这一步,应用程序组将使用缺省的图标。
把下列数据类型和动作定义添加到/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt 内。其中数据类型指定了 BestTextEditor 应用程序组所使用的图标;动作提供与内置应用程序组相同的"打开"和"打印" 特性。
DATA_ATTRIBUTES BestTextEditorAppGroup
{
ACTIONS OpenInPlace,OpenNewView
ICON BTEApp
}
DATA_CRITERIA BestTextEditorAppGroupCriterial
{
DATA_ATTRIBUTES_NAME BestTextEditorAppGroup
MODE d
PATH_PATTERN */appmanager/*/BestTextEditor
}
ACTION Open
{
ARG_TYPE BestTextEditorAppGroup
TYPE MAP
MAP_ACTION OpenAppGroup
}
ACTION Print
{
ARG_TYPE BestTextEditorAppGroup
TYPE MAP
MAP_ACTION PrintAppGroup
}
在应用程序组内创建起动应用程序的图标。这需要创建下列文件:
/desktop_approots/BTE/dt/appconfig/appmanager/C \
/BestTextEditor/BTEditor
并使文件可执行。
在应用程序组内创建打开帮助卷的图标。这需要创建下列文件:
/desktop_approots/BTE/dt/appconfig/appmanager/C \
/BestTextEditor/BTEHelp
并使文件可执行。
把其余文件放入应用程序组中;例如,"自述 "文件、样本数据和模板文件。
注册应用程序。
在终端仿真程序窗口内: