本章讲述如何为应用程序创建注册软件包以及如何将应用程序注册到桌面上。
当应用程序完全注册到桌面上后,它具有:
自己的应用程序组,位于应用程序管理器的顶层
启动该应用程序的操作。此操作由应用程序组中的图标表示
(可选) 数据文件的数据类型
应用程序的注册是对应用程序的无侵害操作:
它不涉及对可执行的应用程序自身的修改。因此,可以在系统中注册现有的应用程序。
它无需将应用程序的任何已发送的文件 (如可执行文件和 app-defaults) 转移到其他文件位置。
可以很容易地逆转。用来注册应用程序的 dtappintegrate 工具提供了用于逆转注册过程的命令行选项。
在下列情况下,您会需要创建注册软件包:
您是系统管理员,要将现有的应用程序注册到桌面上
您是软件程序员,要为桌面智能型应用程序创建安装软件包
本节讲解:
应用程序注册的目的
应用程序注册为应用程序提供的特性
有关显示如何注册现有的应用程序的详细实例,请参阅创建注册软件包的实例。
定位应用程序。
安装后,应用程序就“注册”到了“应用程序管理器”,并拥有了自己的应用程序组。
启动应用程序。
应用程序的应用程序组含有图标,用户可以双击该图标来启动应用程序。
执行诸如邮寄、压缩、查看或播放 (音频) 数据之类的等其他操作
注册后的桌面应用程序有某些特定的配置文件,桌面使用这些文件来提供应用程序用户界面:
操作和数据类型定义文件
图标图像 (像素图或位图) 文件
创建应用程序组的目录和文件
(可选) 桌面帮助文件和“前面板”定义文件
为了使桌面识别并使用这些文件,它们必须位于桌面查找路径所指定的某些目录中。
当应用程序的配置文件分散在几个不同的目录中时,对应用程序进行管理会很困难。因此,桌面允许应用程序将所有的桌面配置文件集中到单独一个目录下。这组文件就叫注册软件包。
如果应用程序是桌面智能型的,它的安装包本身就带有注册软件包。如果您是自己创建配置文件的系统管理员,则可以亲自创建注册软件包。
由于注册软件包的配置文件不在正确的查找路径目录中,桌面无法使用这些文件。将这些文件放置到适当位置的过程叫注册或集成应用程序。
桌面提供 dtappintegrate 工具,该工具通过在适当的查找路径中创建文件的以符号形式链接的表示来执行注册。
许多桌面智能型应用程序会自动地在安装过程中运行 dtappintegrate。如果您是系统管理员,正在集成现有的应用程序,则可以在创建注册软件包后自己运行该工具。
应用程序一旦注册到系统桌面,就可被该系统的所有用户调用。如果该系统被配置为桌面应用程序服务器,此应用程序也可供网络上的其他系统使用。
dtappintegrate 工具有一个用于通过中断链接来逆转注册过程的选项。这样,可以很容易地把应用程序从应用程序管理器中删除,以便把应用程序移到另一个应用程序服务器或把它更新。
有关使用这些步骤来创建应用程序软件包的详细实例,请参阅创建注册软件包的实例。
修改应用程序中任何设置字体和颜色的资源。否则, 桌面的动态字体和颜色将不能正常工作。
请参阅 第 1 步:修改字体和颜色资源。
创建应用程序根位置。
请参阅 第 2 步:创建桌面应用程序根。
在应用程序的根下创建目录结构。
请参阅第 3 步:创建注册软件包目录。
创建应用程序的操作和数据类型。
将帮助文件放置在相应的目录中。
创建应用程序的图标
请参阅 第 6 步:创建应用程序的图标。
创建应用程序的应用程序组。
请参阅 第 7 步:创建“应用程序组”。
用dtappintegrate 注册应用程序。
有关修改应用程序资源的实例,请参阅创建注册软件包的实例。
桌面提供设置和操作界面字体和窗口颜色的机制。为了使应用程序正确地使用该机制,必须修改应用程序的 app-defaults 文件。
本节适用于使用 OSF/Motif 1.2™ (或更高版本) 创建的应用程序。“式样管理器”无法为用更低版本的 OSF/Motif 编写的应用程序设置界面字体。
如果使用 OSF/Motif 1.2™ (或更高版本) 创建的应用程序没有指定应用程序特定的界面字体,桌面“式样管理器”就会为它设置界面字体。
“式样管理器”提供两种字体:
系统字体—适用于标号、菜单和按钮等系统区
用户字体—适用于文本字段等可编辑区
每种字体的大小都有 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 配置区的主要类
子目录 |
内容 |
---|---|
types |
操作和数据类型定义文件 |
help |
桌面帮助文件 |
icons |
应用程序的操作和数据类型所使用的位图和像素图图像文件 |
appmanager |
创建应用程序组的目录和内容 |
每个主要类别都有与语言相关文件的子目录。缺省语言的文件放置在 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”的 appgroup_name 。
dtappintegrate 工具只对类型、帮助、图标和应用程序管理器目录下的桌面配置文件进行操作。应用程序的二进制可执行文件、app-defaults 和信息种类文件,都单独进行管理。
有关创建应用程序操作和数据类型的实例,请参阅创建注册软件包的实例的第四步。
操作和数据类型为应用程序提供用户界面。
操作为启动应用程序的命令提供用户界面
数据类型提供用户定制的应用程序数据文件的外观和特性
典型的应用程序需要下面的操作和数据类型定义:
打开应用程序的操作。
应用程序数据文件的数据类型。如果要创建数据类型,同样也要创建:
应用程序数据文件的“打开”操作
应用程序数据文件的“打印”操作
应用程序组的数据类型 (请参阅为应用程序组配置专用图标)。
有关桌面中操作和数据类型的使用方法的介绍,请参阅第 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目录中。
帮助文件使用的图形通常放置在一个图形子目录中。 所有图形必须始终放在创建帮助卷时所建的与主帮助卷 (*.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 字段引用。
如果应用程序支持多种数据类型,则应为每种文件类型提供不同的图标。
提供两种尺寸:小图标和中图标。
应用程序组图标。 这是在应用程序管理器顶层中代表目录的图标。它在应用程序组的数据类型定义中的 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 中定义的内置操作。
应用程序组中最重要的一项是启动应用程序的图标 (操作图标)。如果应用程序组包括一组应用程序,则通常每个应用程序都有操作图标。
除一个或多个操作图标外,应用程序组还可以包括:
一个或多个 README 文件
一个或多个样本数据文件
模板
图标,用户可双击它来查看帮助信息
手册页
专门的“前面板”控制
应用程序组可以包含子目录。
应用程序组应该包含启动应用程序的图标。如果应用程序组提供一组应用程序,则每个程序都应该有图标。这些图标称作应用程序图标或操作图标,因为它们代表所蕴含的操作。
操作图标是通过创建与它将运行的操作同名的可执行文件来创建的:
app_root /dt/appconfig/appmanager/appgroup_name/ action_name
这个文件被称为操作文件,因为它的目的是创建所蕴含的操作的视觉表示形式。
例如,如果已经创建了运行 BestTextEditor 应用程序的,名为 BestTextEditor 的操作,则应该创建名为 BestTextEditor 的可执行文件。在“文件管理器”和应用程序管理器中,操作文件会使用操作定义中指定的图标图像。
图形 5–10 说明操作定义、操作文件和“应用程序管理 器”窗口实际入口之间的关系。
桌面提供 README 数据类型供应用程序的 README 文件使用。请使用下列命名惯例之一:
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 -s app_root
其中 app_root 是桌面应用程序的根目录。有关详细信息,请参阅 dtappintegrate(1) 手册页。
打开 Desktop_Tools 应用程序组,双击“重新装入应用程序”。
确认应用程序注册正确:
dtappintegrate -s app_root [-ttarget_path ] [-llanguage ] [-u]
-s app_root |
必要参数,指定已安装应用程序的所在的应用程序根目录。 |
-t target_path |
可选参数,缺省为系统位置 /etc/dt/appconfig。指定桌面配置文件链接的位置。指定桌面配置文件链接到哪个位置。必须使用位于应用程序的查找路径中的某个位置。 |
-l language |
可选参数,缺省设置为所有语言。指定集成哪一个与语言相关的桌面配置文件。 |
-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/types/language/*.dt
到
/etc/dt/appconfig/types/language/*.dt 的链接来完成的。
为把应用程序组放到应用程序管理器的顶层,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
其中:
-d destination—指定目标打印机。
-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 } 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 } 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
并使文件可执行。
把其他文件放入应用程序组中;例如,“自述 ”文件、样本数据和模板文件。
注册应用程序。
在终端仿真器窗口内: