# アプリケーションの登録

この章では、アプリケーションの登録パッケージの作成方法と、デスクトップへのアプリケーションの登録方法について説明します。

SAG.RegAp.div.2
SAG.RegAp.div.5
SAG.RegAp.div.6
SAG.RegAp.div.9
SAG.RegAp.div.10
SAG.RegAp.div.13
SAG.RegAp.div.19
SAG.RegAp.div.19a
SAG.RegAp.div.20
SAG.RegAp.div.22
SAG.RegAp.div.30
SAG.RegAp.div.38

アプリケーションを完全にデスクトップへ登録するには、次の内容を備えていることが必要です。

- アプリケーション・マネージャのトップレベルにある、独自のアプリケーション・グループ

- アプリケーションを起動するアクション（アプリケーション・グループではアクションはアイコンで表示される）

- オプションで、データ・ファイルのデータ型

アプリケーションの登録は、次のように設定すると、アプリケーションのオペレーションを妨げません。

- アプリケーションの実行可能ファイル自身の変更を含まないこと。したがって、すでにシステムに存在するアプリケーションも登録できます。

- アプリケーションが任意に提供するファイル（実行可能ファイルおよび `app-defaults` など）を他のファイルの位置へ移動させる必要がないこと。

- 簡単に元に戻せること。`dtappintegrate` ツールはアプリケーションの登録に使用されますが、プロセスを逆にたどれるようなコマンド行オプションも提供します。

次のユーザは登録パッケージの作成が必要です。

- 既存アプリケーションをデスクトップへ登録するシステム管理者

- デスクトップ化アプリケーションのインストール・パッケージを作成するソフトウェア・プログラマ

## アプリケーション登録の概要

この節では次のことを説明します。

- アプリケーション登録の目的

- アプリケーション登録によって提供されるアプリケーションの機能

既存アプリケーションの登録方法の詳細については、 SAG.RegAp.div.38 を参照してください。

### アプリケーション登録によって提供される機能

アプリケーションを登録すると、次のようなことをグラフィカルに実行できます。

- アプリケーションの配置

  インストール時、アプリケーションはアプリケーション・マネージャに「登録」され、独自のアプリケーション・グループを持ちます。

#### アプリケーション・マネージャのトップレベルにあるアプリケーション・グループ

- アプリケーションの起動

  アプリケーションのアプリケーション・グループには、ダブルクリックするとアプリケーションを起動できるアイコンがあります。

#### アプリケーションを起動するためのアイコンを含むアプリケーション・グループ

- データ・ファイルの識別および操作。アプリケーションのデータ・ファイルにはファイル・マネージャで一意のアイコンがあります。

  ユーザは、データ・ファイル・アイコンを次の作業に使用できます。

  - アプリケーションの起動（開く）

  - データ・ファイルの印刷

#### [開く]と[印刷]が表示されているデータ・ファイルのポップアップ・メニュー

- （音声）データのメール送信、圧縮、表示、再生など、他のオペレーションの実行

### アプリケーション登録の目的

登録されたデスクトップ・アプリケーションには、デスクトップがアプリケーションのユーザ・インタフェースを提供するのに使用する次のような構成ファイルがあります。

- アクションおよびデータ型定義ファイル

- アイコン・イメージ（ピックスマップまたはビットマップ）・ファイル

- アプリケーション・グループを作成するディレクトリおよびファイル

- オプションで、デスクトップ・ヘルプ・ファイルおよびフロントパネル定義ファイル

これらのファイルをデスクトップが認識および使用するには、デスクトップの検索パスで指定したディレクトリに入っていなければなりません。

アプリケーションの構成ファイルが無数のディレクトリに分散されている場合、アプリケーションを管理するのは難しくなります。したがって、デスクトップは、アプリケーションがひとつのディレクトリの下にすべてのデスクトップ構成ファイルを集められるようにします。このグループ化されたファイルを
「登録パッケージ」と呼びます。

アプリケーションがデスクトップ化されている場合、登録パッケージはインストール・パッケージの一部として提供されます。自分で構成ファイルを作成するシステム管理者は、自分で登録パッケージを作成できます。

登録パッケージの構成ファイルは正しい検索パス・ディレクトリにないため、デスクトップで使用できません。これらのファイルを正しい場所に置くプロセスを、アプリケーションの
「登録」 または 「統合」 と呼びます。

デスクトップは、正しい検索パス・ディレクトリにあるファイルのシンボリック・リンク表示を作成することにより、登録を行うツール `dtappintegrate` を提供します。

多くのデスクトップ化アプリケーションは、インストール・プロセス中に自動的に `dtappintegrate` を実行します。既存アプリケーションを統合するシステム管理者は、登録パッケージを作成した後で自分で実行できます。

一度アプリケーションをシステムのデスクトップに登録すると、システムの全ユーザがアプリケーションを使用できます。システムがデスクトップの
アプリケーション・サーバとして設定されている場合、ネットワークの他のシステムもアプリケーションを使用できます。

`dtappintegrate` ツールには、リンクを切ることによってプロセスを逆に行うコマンド行オプションがあります。このオプションを使うとアプリケーション・マネージャからアプリケーションを削除するのが容易になるため、アプリケーションを別のアプリケーション・サーバに移動したり更新したりできます。

## アプリケーション登録の一般的な手順

これらの手順によってアプリケーション・パッケージを作成する方法の詳細な例については、 SAG.RegAp.div.38 を参照してください。

1. フォントおよびカラーを設定するアプリケーションのリソースを変更します。変更しないと、デスクトップのダイナミック・フォントおよびダイナミック・カラーが正しく動作しません。

   SAG.RegAp.div.6 を参照してください。

2. アプリケーションのルート位置を作成します。

   SAG.RegAp.div.9 を参照してください。

3. アプリケーション・ルートの下にディレクトリ構造を作成します。

   SAG.RegAp.div.10 を参照してください。

4. アプリケーションのアクションおよびデータ型を作成します。

   SAG.RegAp.div.13 を参照してください。

5. 適切なディレクトリにヘルプ・ファイルを入れます。

   SAG.RegAp.div.19 を参照してください。

6. 適切なディレクトリにオンライン・マニュアル (infolib) のファイルを入れます。

   SAG.RegAp.div.19a を参照してください。

7. アプリケーションのアイコンを作成します。

   SAG.RegAp.div.20 を参照してください。

8. アプリケーションのアプリケーション・グループを作成します。

   SAG.RegAp.div.22 を参照してください。

9. `dtappintegrate` を使用してアプリケーションを登録します。

   SAG.RegAp.div.30 を参照してください。

## 手順１: フォント・リソースおよびカラー・リソースの変更

アプリケーションのリソースの変更例については、 SAG.RegAp.mkr.16 の SAG.RegAp.div.38 の SAG.RegAp.mkr.6 を参照してください。

デスクトップは、インタフェース・フォントおよびウィンドウ・カラーを設定および処理するための機能を提供します。アプリケーションがこれらの機能を正しく使用するには、アプリケーションの `app-defaults` ファイルを変更してください。

### フォント・リソースの変更

本節の内容は、Motif 1.2™（またはそれ以降のバージョン）を使用して作成されたアプリケーションに適用されます。スタイル・マネージャは、Motif の初期のバージョンを使用して作成したアプリケーションのインタフェース・フォントを設定することができません。

デスクトップ・スタイル・マネージャは、アプリケーションがアプリケーション固有のインタフェース・フォントを作成しない場合、Motif 1.2（またはそれ以降のバージョン）を使用して作成したアプリケーションのインタフェース・フォントを設定します。

スタイル・マネージャは、次の２つのフォントを提供します。

システム・フォント | ラベル、メニュー、ボタンなどのシステム領域で使用します。
ユーザ・フォント | テキスト・フィールドなど編集可能領域で使用します。

それぞれのフォントは、フォント・ダイアログ・ボックスの１から７までの７種類のサイズで指定します。スタイル・マネージャ・フォントは、`/usr/dt/app-defaults/`language`/Dtstyle` に設定されたスタイル・マネージャのリソースによって、システムの実際のフォントに接続されます。

アプリケーションにスタイル・マネージャ・フォントを使用する場合、インタフェース・フォントを使用しているすべてのアプリケーションのリソースを削除してください。デスクトップは自動的にアプリケーションのリソースを適切に設定します。

`FontList` | システム・フォントに設定します。
`XmText*FontList` | ユーザ・フォントに設定します。
`XmTextField*FontList` | ユーザ・フォントに設定します。

### カラー・リソースの変更

スタイル・マネージャは、アプリケーション・カラーを動的に変更する機能を提供します。アプリケーションは、Motif 1.1 またはそれ以降のバージョンで作成されたクライアントでなければなりません。他のツールキットで作成されたクライアントは、カラーを動的に変更できません。カラーの変更は、クライアントの再起動時に有効になります。

デスクトップが提供する動的カラーをもっとも簡単に使用する方法は、バックグラウンド・カラーおよびフォアグラウンド・カラーのアプリケーションのカラー・リソースを削除することです。

## 手順２: デスクトップ・アプリケーション・ルートの作成

アプリケーションのデスクトップ・アプリケーション・ルート・ディレクトリの作成例については、 SAG.RegAp.mkr.17 の SAG.RegAp.div.38 の SAG.RegAp.mkr.7 を参照してください。

アプリケーションの登録パッケージ・ファイルは、アプリケーション・ルートまたは
app_root と呼ばれるディレクトリの下でグループ化されます。デスクトップの構成ファイル用に使用される app_root ディレクトリは、アプリケーションのインストール app_root と同じディレクトリか、または他の場所でもかまいません。

たとえば、アプリケーションが `/usr/BTE` ディレクトリの下にあるとします。これと同じディレクトリを、デスクトップの構成ファイルの app_root として使用することができます。ただし、既存のデスクトップ化されていないアプリケーションを統合する場合は、異なるデスクトップ app_root ディレクトリを作成することを推奨します。そうすれば、アプリケーションの更新時に、作成した構成ファイルが上書きされることはありません。

たとえば、システム管理者がデスクトップ app_root ディレクトリとして、ディレクトリ `/etc/desktop_approots/BTE` を作成することもできます。

## 手順３: 登録パッケージ・ディレクトリの作成

アプリケーションの登録パッケージ・ディレクトリの作成例については、 SAG.RegAp.mkr.33 の SAG.RegAp.div.38 の SAG.RegAp.mkr.8 を参照してください。

登録パッケージは、デスクトップ・アプリケーションにグラフィカル・インタフェースを提供するために使用するデスクトップ構成ファイルのグループです。

### 登録パッケージの内容

デスクトップ構成ファイルには次のものがあります。

- アクションおよびデータ型定義ファイル

- アイコン・イメージ・ファイル

- アプリケーション・グループ・ディレクトリとその内容

- オプションで、オンライン・マニュアル(infolib)ファイル、ヘルプ・データ・ファイルおよびフロントパネル構成ファイル

登録パッケージは、アプリケーション・ルートまたは app_root と呼ばれるトップレベルのディレクトリの下に集められます。

#### アプリケーション・ルート・ディレクトリの下にある登録パッケージ

app_root ディレクトリの下にある構成フィールドのおもなカテゴリは、次のとおりです。

サブディレクトリ | 内容
`types` | アクションおよびデータ型定義ファイル
`help` | デスクトップ・ヘルプ・ファイル
`icons` | アプリケーションのアクションおよびデータ型が使用するビットマップおよびピックスマップのイメージ・ファイル
`appmanager` | アプリケーション・グループを作成するディレクトリおよび内容
`infolib` | インフォメーション・ライブラリ、ブックケース、およびブックとして編成されるオンライン・マニュアルのファイル

おもなカテゴリはそれぞれ、言語依存ファイルのサブディレクトリです。デフォルト言語ファイルは `C` ディレクトリにあります。

#### 登録パッケージを作成するには

1. 次のようなディレクトリを作成します。言語依存構成ファイルを指定する場合、各言語について別のディレクトリを作成します。ひとつの言語しか指定しない場合は、ファイルを `C` ディレクトリに入れます。

   - app_root`/dt/appconfig/types/`language

   - app_root`/dt/appconfig/help/`language

   - app_root`/dt/appconfig/icons/`language

   - app_root`/dt/infolib/`language

   - app_root`/dt/appconfig/appmanager/`language/appgroup_name, ここで、 appgroup_name は、アプリケーション・グループの名前です。

   たとえば、 SAG.RegAp.mkr.11 は、appgroup_name が “Media_Tools.” であるグループを含むアプリケーション・マネージャを示します。

##### アプリケーション・マネージャのトップレベルにあるアプリケーション・グループ

`dtappintegrate` ツールは、`types`、`help`、`icons`、`infolib`、および `appmanager` ディレクトリのデスクトップ構成ファイルでしか動作しません。アプリケーションのバイナリ実行可能ファイル、`app-defaults`、メッセージ・カタログ・ファイルとは別々に管理されます。

## 手順４: アプリケーションのアクションおよびデータ型の作成

アプリケーションのアクションおよびデータ型の作成例については、 SAG.RegAp.mkr.34 の SAG.RegAp.div.38 の SAG.RegAp.mkr.9 を参照してください。

アクションおよびデータ型は、アプリケーションのユーザ・インタフェースを提供します。

- アクションは、アプリケーションを起動するためのコマンドのユーザ・インタフェースを提供します。

- データ型は、アプリケーションのデータ・ファイル用にカスタマイズされた外観と動作を提供します。

### アプリケーションが要求するアクションおよびデータ型

典型的なアプリケーションは、次にようなアクションおよびデータ型定義が必要です。

- アプリケーションを開くアクション。

- アプリケーションのデータ・ファイルのデータ型。データ型を作成する場合、次のものも作成してください。

  - アプリケーションのデータ・ファイルの[開く]アクション

  - アプリケーションのデータ・ファイルの[印刷]アクション

- アプリケーション・グループのデータ型（SAG.RegAp.div.25 を参照してください）。

アクションおよびデータ型がどのようにデスクトップで使用されるかについては、 SAG.IntAc.div.1 を参照してください。

### アクションおよびデータ型定義構成ファイルの位置

アクションおよびデータ型は、構成ファイルに定義されます。アクションおよびデータ型定義が入っているファイル名の規約としては、必ず拡張子 `.dt` を付けるということだけです。規約にしたがって、action_name`.dt` または application_name`.dt` とファイル名を名付けられます。

次のディレクトリにあるアプリケーション・ルートの下に、アクションおよびデータ型の入っているファイルを置きます。

    app_root/dt/appconfig/types/language

デフォルトの language は `C` です。

#### アクションおよびデータ型定義ファイル

### アクションおよびデータ型の作成方法

次のいずれかの方法で、アクションおよびデータ型を作成できます。

- [アクション作成]ツールを使用する

  [アクション作成]は、入力するためのテキスト・フィールドがあり、使いやすいインタフェースを提供します。ただし、このツールには一定の制限があります。

- 定義を手動で作成する

  この方法で作成する場合、定義を作成するための構文を知っていることが必要ですが、機能のすべてにアクセスできます。

### [アクション作成]を使用してアクションおよびデータ型を作成するには

この手順は、[アクション作成]ユーティリティを使用して、アプリケーションのアクションおよびデータ型を作成します。

[アクション作成]の詳細については、オンライン・ヘルプを使用するか、 SAG.dtCrA.div.1 を参照してください。

1. [デスクトップアプリケーション]アプリケーション・グループを開き、[アクション作成]をダブルクリックします。

2. [アクション作成]を使用して、アプリケーションとそのデータ型用のアクションおよびデータ型定義を作成します。

   [アクション作成]で作成した構成ファイルは、HomeDirectory`/.dt/type/`action_name`.dt` に書かれます。アクション・ファイル（アクションと同じ名前を持つ実行可能ファイル）は、ホーム・ディレクトリに置かれます。

3. ホーム・ディレクトリに作成されたアクション・ファイルを使用して、アクションをテストします。

4. アクション定義ファイル HomeDirectory`/.dt/type/`action_name`.dt` を次のディレクトリにコピーします。

       app_root/dt/appconfig/types/language

5. アプリケーション・グループ・ディレクトリが作成された後（SAG.RegAp.div.22 を参照してください）、アクション・ファイル HomeDirectory`/`action_name を app_root`/dt/appconfig/appmanager/`language/appgroup_name ディレクトリにコピーします。

### アクションおよびデータ型を手動で作成するには

1. アプリケーションのアクションおよびデータ型が入っている構成ファイルを作成します。

アクションおよびデータ型定義ファイルは、name`.dt` というファイル名の命名規則に必ずしたがわなければなりません。

アクションおよびデータ型定義は、ひとつのファイル、または複数のファイルに分けて入れることができます。各ファイルは、システム管理者が簡単にアプリケーションへ接続できるファイル名を使用します。

アクションおよびデータ型の名前は、必ず１語にしてください（埋め込みスペースも使用しないでください）。下線文字を使用することもできます。規約により、アクションまたはデータ型の名前の最初の文字は大文字にします。既存のアクション名またはファイル名は使用しないでください。上級ユーザおよびシステム管理者が、簡単にアプリケーションに接続できる名前を使用します。

アクション名と異なる名前のラベルが付いたアプリケーションのアイコンを使いたい場合は、アクション定義に `LABEL` フィールドを取り込みます。

アクションおよびデータ型の作成方法については、次の章を参照してください。

- SAG.IntAc.div.1

- SAG.dtCrA.div.1

- SAG.CrAct.div.1

- SAG.CrDT.div.1

## 手順５: 登録パッケージへのヘルプ・ファイルの組み込み

登録パッケージへのヘルプ・ファイルの追加例については、 SAG.RegAp.mkr.20 の SAG.RegAp.div.38 の SAG.RegAp.mkr.10 を参照してください。

アプリケーションがデスクトップの
ヘルプ・ボリューム（デスクトップのヘルプ開発者キットで作成されたヘルプ・ボリューム）を取り込む場合、ヘルプ・ボリュームのマスタ・ファイル（`*.sdl`）をディレクトリ app_root`/dt/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.
      }

## 手順６: 登録パッケージへのインフォメーション・ライブラリの組み込み

アプリケーションに（デスクトップのインフォメーション・システム開発者キットで作成された）オンライン・マニュアルが含まれている場合、マニュアルを含むインフォメーション・ライブラリ（ `*.dti`）は、次のディレクトリに置かれなければなりません。

    app_root/dt/infolib/language

DocBook のブック・ファイル（`*.sgm`）によって使用されるグラフィックは、通常 `graphics` サブディレクトリに置かれます。グラフィックは、インフォメーション・ライブラリが作成されたときのように、インフォメーション・ライブラリ（`*.dti`）と関係する同じディレクトリに置かれなければなりません。

アプリケーションがオンライン・マニュアルを提供しない場合、インフォメーション・システム開発者キットがあれば、作成することができます。

インフォメーション・ライブラリの統合には２つのレベルがあります。

- 完全統合

  インフォメーション・ライブラリを完全に統合すると、DtActionInvoke を使用してアプリケーションからアクセスし、インフォメーション・マネージャの特定のトピックを表示することができます。完全な統合には、アプリケーションの実行可能ファイルの変更も含まれます。

- 部分統合

  インフォメーション・ライブラリを部分的に統合すると、インフォメーション・マネージャのトップレベルから使用可能になります。ただし、アプリケーションのウィンドウからインフォメーション・ライブラリにアクセスできません。アプリケーション・グループからインフォメーション・ライブラリにアクセスできるアクションも提供されます。次の例にあるアクションは、インフォメーション・ライブラリ `MyApp.dti` にあるインフォメーション・ライブラリを表示します。

      ACTION OpenMyAppInfolib
      {
        LABEL           MyAppInfolib
        ARG_TYPE        InfoLib
        TYPE            MAP
        MAP_ACTION      DtLoadInfoLib /usr/dt/infolib/C/MyAppInfolib.dti
        DESCRIPTION     Invokes the Information Manager to display the online
                        documentation for MyApp application.
      }

## 手順７: アプリケーション用アイコンの作成

アプリケーションのアイコン・ファイルの作成例については、 SAG.RegAp.mkr.36 の SAG.RegAp.div.38 の SAG.RegAp.mkr.11 を参照してください。

デスクトップは、アクション、データ型、アプリケーション・グループのデフォルト・アイコンを提供します。しかし、アプリケーション固有のアイコンを作成したくなることもあるでしょう。

アイコンはディレクトリ app_root`/dt/appconfig/icons/`language にあります。

### デスクトップに必要なアイコン

アプリケーションは次のようなアイコン・イメージをデスクトップで使用します。

- アクション・アイコン。 ダブルクリックするとアプリケーション（アクション）が起動するアイコンです。アプリケーションを起動するアクションの `ICON` フィールドで参照されます。

  サイズは極小、中、大の３種類です。

- データ型アイコン。 このアイコンは、ファイル・マネージャにあるアプリケーションのデータ・ファイルを表示するのに使用します。データ型定義の `ICON` フィールドで参照されます。

  アプリケーションが複数のデータ型をサポートする場合、各データ型ごとに異なるアイコンを指定してください。

  サイズは極小、中の２種類です。

- アプリケーション・グループ・アイコン。 アプリケーション・マネージャのトップレベルにあるディレクトリを示すアイコンです。アプリケーション・グループのためのデータ型定義の `ICON` フィールドで参照されます（SAG.RegAp.div.22 を参照してください）。

  サイズは極小、中の２種類です。

カラー（８ビット以上）とモノクロ（８ビット未満）ディスプレイをサポートするには、各アイコンでピックスマップとビットマップの両方のバージョンを用意する必要があります。

### アイコン・ファイルの命名規則

`サイズ` | `ピクセル・サイズ` | `ビットマップ名` | `ピックスマップ名`
極小 | 16 × 16 | basename`.t.bm` | basename`.t.pm`
中 | 32 × 32 | basename`.m.bm` | basename`.m.pm`
大 | 48 × 48 | basename`.l.bm` | basename`.l.pm`

ビットマップ・ファイルを提供しない場合、デスクトップは、ピックスマップ・ファイル のカラー指定を白黒にマップします。このマッピングでは、希望どおりの表示にならないことがあります。

アイコンの詳細については、 SAG.CrIcn.div.2 を参照してください。

## 手順８: アプリケーション・グループの作成

アプリケーション・グループの作成例については、 SAG.RegAp.mkr.37 の SAG.RegAp.div.38 の SAG.RegAp.mkr.12 を参照してください。

アプリケーションのアクションおよびデータ型定義を作成したら、ユーザが実際に見るアプリケーション・グループとその内容を作成するための構成ファイルを必ず作成してください。

アプリケーション・グループは、アプリケーション・マネージャのトップレベルにあるディレクトリです（ SAG.RegAp.mkr.4 を参照してください）。

アプリケーション・グループの作成には、次の３つの手順があります。

- 登録パッケージにアプリケーション・グループ・ディレクトリを作成する

- オプションとして、アプリケーション・グループが一意のアイコンを使用するように設定する。これには、アプリケーション・グループ・ディレクトリのデータ型定義作成も含まれます。

- アプリケーション・グループの内容を作成する

### アプリケーション・グループ・ディレクトリの作成

アプリケーション・グループを作成するには、SAG.RegAp.mkr.13 のように、`appmanager` の下の登録パッケージにディレクトリを作成します。

#### appmanager ディレクトリ

### アプリケーション・グループ名

SAG.RegAp.mkr.24 の <appgroup_name> は、アプリケーション・グループ名です。

#### アプリケーション・グループ名 (<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
    }

定義の属性セクションが使用するアイコンを使用します。定義の条件セクションは、`appmanager` というディレクトリのサブディレクトリである `Media_Tools` というディレクトリにデータ型が定義されるように指定します。

SAG.RegAp.mkr.14 に、アプリケーション・グループ名とデータ型定義との関係を示します。データ型定義の `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 という名前の実行可能ファイルを作成します。ファイル・マネージャおよびアプリケーション・マネージャでは、アクション・ファイルは、アクション定義で指定したアイコン・イメージを使用します。

SAG.RegAp.mkr.15 は、アプリケーション・マネージャのウィンドウでのアクション定義、アクション・ファイル、実際の入力形式の関係を示しています。

##### アプリケーション・アイコンはアプリケーション・グループのファイル

#### Read Me ファイル

デスクトップは、アプリケーションの 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.
    }

フロントパネル構成ファイル作成の詳細については、次を参照してください。

- SAG.FrPC.div.1

- `dtfpfile(4)` のマニュアル・ページ

## 手順９: dtappintegrate を使用したアプリケーションの登録

アプリケーションの登録例については、 SAG.RegAp.mkr.38 の SAG.RegAp.div.38 の SAG.RegAp.mkr.13 を参照してください。

アプリケーション・ルートの下に登録パッケージを作成した後、実際にアプリケーションの登録を行うことができます。

アプリケーションを登録すると、登録パッケージと、デスクトップ検索パスに沿って配置されているディレクトリとがリンクされます（ SAG.RegAp.div.33 を参照してください）。

### アプリケーションを dtappintegrate で登録するには

アプリケーションがデスクトップ化されている場合、`dtappintegrate` は通常インストール・プロセスの最終手順として自動的に実行されます。自動的に実行されない場合、またはデスクトップ化されていないアプリケーションを統合するよう構成ファイルを作成した場合は、次のように手動で `dtappintegrate` を実行できます。

1. root でログインします。

2. 次のコマンドを実行します。

       /usr/dt/bin/dtappintegrate -s app_root

   app_root はデスクトップ・アプリケーション・ルート・ディレクトリです。詳細については、 `dtappintegrate`(1) のマニュアル・ページを参照してください。

3. [デスクトップツール]アプリケーション・グループを開き、[アプリケーションの再読込み]をダブルクリックします。

4. アプリケーションが正しく登録されていることを次のように確認します。

   1. アプリケーション・マネージャのトップレベルを表示します。新規アプリケーション・グループがアプリケーション・マネージャに表示されているか確認します。

   2. アプリケーション・グループを開いてアクション・アイコンをダブルクリックします。

#### dtappintegrate の構文とオプション

    dtappintegrate -s app_root [-t target_path ] [-l language ] [-u]

`-s` app_root | 必須パラメータです。アプリケーションをインストールするアプリケーション・ルートを指定します。
`-t` target_path | オプションのパラメータで、システム上でのデフォルト位置は `/etc/dt/appconfig` です。デスクトップ構成ファイルをリンクする位置を指定します。アプリケーション検索パスの位置を必ず使用してください。
`-l` language | オプションのパラメータで、デフォルトは全言語です。統合する言語依存デスクトップ構成ファイルを指定します。
`-u` | オプションのパラメータです。アプリケーションを統合せず、統合中に設定されたリンクをすべて削除します。

### dtappintegrate によるアプリケーションの統合方法

`dtappintegrate` は、インストールされたファイルと、デスクトップが構成ファイルを検索する位置とのリンクを設定します。

#### アクションとデータ型

`dtappintegrate` は、登録パッケージのアクションおよびデータ型定義ファイルから、アクション・データベースのヘルプ検索パスに沿ったシステム全体のディレクトリへシンボリック・リンクを作成します。これは

    app_root/dt/appconfig/types/language/*.dt

を

    /etc/dt/appconfig/types/language/*.dt

へリンクさせることによって行います。

#### インフォメーション・ライブラリ

`dtappintegrate` は、登録パッケージのインフォメーション・ライブラリ (infolilbs) から、インフォメーション・ライブラリの検索パスに沿ったシステム全体のディレクトリへシンボリック・リンクを作成します。これは

    app_root/dt/infolib/language/*.dti

を

    /etc/dt/infolib/language/*.dti

へリンクさせることによって行います。

#### ヘルプ・ファイル

`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'' について知っておくべき情報

この例では、BestTextEditor アプリケーションについて、次の事実を想定しています。

- ディレクトリ `/usr/BTE` にインストールされています。

- ユーザのセッション言語はデフォルト値の `C` です。

- BestTextEditor を起動するコマンド行は次のとおりです。

      BTEd [filename]

  filename は新規ウィンドウを開くデータ・ファイル名です。BestTextEditor は独自のウィンドウを作成します。つまり、端末エミュレータ・ウィンドウ内で実行することはできません。

- BestTextEditor は次の２種類のデータ・ファイルを作成し使用します。

  - ドキュメンテーション・ファイル。ファイル名の命名規則は `*.bte` です。BestTextEditor は `.bte` データ・ファイルを印刷するためにコマンド行を提供します。コマンド構文は次のとおりです。

        BTEPrint [-d destination] [-s] filename

    各オプションの説明を次に示します。

    `-d` destination

  - 宛先プリンタを指定します。

`-s`

- サイレント印刷を指定します。アプリケーションの印刷ダイアログ・ボックスは表示されません。

filename

- 印刷するファイルを指定します。

- テンプレート・ファイル。ファイル名の命名規則は `*.tpl` です。テンプレート・ファイルは印刷できません。

- BestTextEditor の、既存のデスクトップでない app-defaults ファイルには、インタフェース・フォントと、フォアグラウンド・カラーおよびバックグラウンド・カラーのリソースがあります。

- BestTextEditor のオンライン・ヘルプ・ボリュームは、デスクトップのヘルプ開発キットを使用して作成されます。オンライン・ヘルプ・ボリュームは組み込まれると、次のソース・ファイルを使用します。

      …/BTEHelp.htg
      …/graphics/BTE1.xwd
      …/graphics/BTE2.xwd

  そして、ファイル …`/``BTEHelp.sdl` を生成します。

#### ``BestTextEditor'' を登録するための手順

次の手順によって、BestTextEditor を登録します。

1. フォント・リソースとカラー・リソースを修正します。

   BestTextEditor の app-defaults ファイルでは、以下を設定するリソースを削除します。

   - テキストのフォント

   - フォアグラウンドおよびバックグラウンドのカラー

2. アプリケーション・ルートを作成します。

   次のディレクトリを作成します。

       /desktop_approots/BTE

   既存のアプリケーションを統合する場合、アプリケーションのインストール位置以外のどこかに、アプリケーション・ルート・ディレクトリを作成してください。そうしないと、アプリケーションを更新したときに、作成した構成ファイルが削除されることがあります。

3. 登録パッケージ・ディレクトリを作成します。 >

   次のディレクトリを作成します。

       /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

4. アプリケーションのアクションおよびデータ型を作成します。

   1. アクションおよびデータ型定義の構成ファイルを作成します。

          /desktop_approots/BTE/dt/appconfig/types/C/BTE.dt

   2. 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%
          }

   3. `*.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
          }

   4. `*.tpl` ファイルのデータ型を作成します。

          DATA_ATTRIBUTES BTETemplateFile
          {
            DESCRIPTION    BestTextEditor template file.
            ICON    BTETempl
            ACTIONS    Open
          }

          DATA_CRITERIAL BTETemplateFileCriteria1
          {
            DATA_ATTRIBUTES_NAME      BTETemplateFile
            NAME_PATTERN      *.tpl
            MODE      f
          }

   5. `*.bte` ファイルの[開く]アクションを作成します。

          ACTION Open
          {
            ARG_TYPE   BTEDataFile
            TYPE   MAP
            MAP_ACTION   BTEditor
          }

   6. `*.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

   7. `*.tpl` ファイルの[開く]アクションを作成します。

          ACTION Open
          {
            ARG_TYPE   BTETemplateFile
            TYPE   MAP
            MAP_ACTION   BTEditor
          }

   8. `*.tpl` ファイルの[印刷]アクションを作成します。

          ACTION Print
          {
            ARG_TYPES    BTETemplateFile
            TYPE    MAP
            MAP_ACTION    NoPrint
          }

      NoPrint は、ファイルが印刷できないことをユーザに通知するダイアログ・ボックスを表示する組み込みアクションです。

5. ヘルプ・ファイルを登録パッケージに組み込みます。

   1. ヘルプ・ファイルを次の位置に置きます。

          /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

   2. 次のファイルを作成します。

          /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.
          }

6. アプリケーションのアイコンを作成します。

   [アイコン・エディタ]を使用してアイコンを作成します。次に示すサイズに関するガイドラインを使用します。

   名前 | サイズ
   basename`.t.pm` | 16 × 16
   basename`.m.pm` | 32 × 32
   basename`.l.pm` | 64 × 64

   以下のアイコン・ファイルを、ディレクトリ `/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`

   - アプリケーション・グループ（手順７で使用）を示すアイコン: `BTEApp.t.pm`、`BTEApp.m.pm`

7. アプリケーション・グループを作成します。

   1. まだ作成していなければ、ディレクトリを作成します。

          /desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor

   2. この手順はオプションです。アプリケーション・グループのデータ型および関連するアクションを作成して、アプリケーション・グループ・アイコンに一意のアイコンを作成します。この手順を省略すると、アプリケーション・グループはデフォルト・アイコンを使用します。

      次のデータ型およびアクション定義をファイル `/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
          }

   3. アプリケーションを起動するアプリケーション・グループにアイコンを作成します。これを行うには、次のファイルを作成し、ファイルを実行可能にします。

          /desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor/BTEditor

   4. ヘルプ・ボリュームを開くアプリケーション・グループにアクション・ファイルを作成します。これを行うには、次のファイルを作成し、ファイルを実行可能にします。

          /desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor/BTEHelp

   5. アプリケーション・グループに、README ファイル、サンプル・データ、テンプレート・ファイルなどの他のファイルを置きます。

8. アプリケーションを登録します。

   端末エミュレータ・ウィンドウで次のようにします。

   1. root でログインします。

   2. 次のコマンドを実行します。

          /usr/dt/bin/dtappintegrate -s /desktop_approots/BTE

   3. [デスクトップツール]アプリケーション・グループを開き、[アプリケーションの再読込み]をダブルクリックします。