これらの手順によってアプリケーション・パッケージを作成方法の詳細な例については、登録パッケージの作成例を参照してください。
フォントとカラーを設定するアプリケーションのリソースを変更します。変更しないと、デスクトップのダイナミック・フォントおよびダイナミック・カラーが正しく動作しません。
詳細は、手順 1: フォント・リソースとカラー・リソースの変更 を参照してください。
アプリケーションの root 位置を作成します。
詳細は、手順 2: デスクトップ・アプリケーション root の作成を参照してください。
アプリケーションの root の下にディレクトリ構造を作成します。
詳細は、手順 3: 登録パッケージ・ディレクトリの作成を参照してください。
アプリケーションのアクションとデータ型を作成します。
詳細は、手順 4: アプリケーションのアクションとデータ型の作成を参照してください。
適切なディレクトリにヘルプ・ファイルを入れます。
詳細は、手順 5: 登録パッケージへのヘルプ・ファイルの組み込みを参照してください。
アプリケーションのアイコンを作成します。
詳細は、手順 6: アプリケーション用アイコンの作成 を参照してください。
アプリケーションのアプリケーション・グループを作成します。
詳細は、手順 7: アプリケーション・グループの作成 を参照してください。
dtappintegrate を使用してアプリケーションを登録します。
詳細は、手順 8: dtappintegrate を使用したアプリケーションの登録を参照してください。
アプリケーションのリソースの変更例については、登録パッケージの作成例の手順 1 を参照してください。
デスクトップは、インタフェース・フォントとウィンドウ・カラーを設定および処理するための機能を提供します。アプリケーションでこれらの機能を正しく使用するには、アプリケーションの app-defaults ファイルを変更してください。
本節の内容は、OSF/Motif 1.2 (またはそれ以降のバージョン) を使用して作成したアプリケーションに適用されます。スタイル・マネージャは、OSF/Motif の初期のバージョンを使用して書いたアプリケーションのインタフェース・フォントは設定できません。
デスクトップ・スタイル・マネージャは、アプリケーションがアプリケーション固有のインタフェース・フォントを作成しない場合、OSF/Motif 1.2 (またはそれ以降のバージョン) を使用して作成したアプリケーションのインタフェース・フォントを設定します。
スタイル・マネージャは、次の 2 つのフォントを提供します。
システム・フォント — ラベル、メニュー、ボタンなどのシステム領域で使用します。
ユーザ・フォント — テキスト・フィールドなど編集可能領域で使用します。
それぞれのフォントは、[フォント] ダイアログ・ボックスの 1 から 7 までの 7 種類のサイズで指定します。スタイル・マネージャ・フォントは、/usr/dt/app-defaults/language/Dtstyle に設定されたスタイル・マネージャ・リソースによって、システムの実際のフォントに接続されます。
アプリケーションにスタイル・マネージャ・フォントを使用する場合は、インタフェース・フォントを使用しているすべてのアプリケーションのリソースを削除してください。デスクトップは自動的にアプリケーションのリソースを適切に設定します。
FontList — システム・フォントに設定します。
XmText*FontList — ユーザ・フォントに設定します。
XmTextField*FontList — ユーザ・フォントに設定します。
スタイル・マネージャは、アプリケーション・カラーをダイナミックに変更する機能を提供します。アプリケーションは OSF/Motif 1.1 または 1.2 クライアントでなければなりません。他のツールキットで書かれたクライアントは、カラーをダイナミックに変更できません。カラーの変更は、クライアントの再起動時に有効になります。
デスクトップが提供するダイナミック・カラーを最も簡単に使用する方法は、バックグラウンド・カラーおよびフォアグラウンド・カラーのアプリケーションのカラー・リソースを削除することです。
アプリケーションのデスクトップ・アプリケーションの root ディレクトリの作成例については、登録パッケージの作成例の手順 2 を参照してください。
アプリケーションの登録パッケージ・ファイルは、アプリケーションの root または app_root と呼ばれるディレクトリの下でグループ化されます。デスクトップの構成ファイル用に使用される app_root ディレクトリは、アプリケーションのインストール app_root と同じディレクトリか、他の場所でもかまいません。
たとえば、アプリケーションが /usr/BTE ディレクトリの下にあるとします。これと同じディレクトリを、デスクトップの構成ファイルの app_root として使用できます。ただし、既存のデスクトップ化されていないアプリケーションを統合する場合は、異なるデスクトップ app_root ディレクトリを作成してください。そうすれば、アプリケーションの更新時に、作成した構成ファイルは上書きされません。
たとえば、システム管理者がデスクトップ app_root ディレクトリとして、ディレクトリ /etc/desktop_approots/BTE を作成することもできます。
アプリケーションの登録パッケージ・ディレクトリの作成例については、登録パッケージの作成例の手順 3 を参照してください。
登録パッケージは、デスクトップアプリケーションにグラフィカル・インタフェースを提供するために使用するデスクトップ構成ファイルのグループです。
デスクトップ構成ファイルには、次のものがあります。
アクションおよびデータ型定義ファイル
アイコン・イメージ・ファイル
アプリケーション・グループ・ディレクトリとその内容
(省略可能) ヘルプ・データ・ファイルおよびフロントパネル構成ファイル
登録パッケージは、アプリケーションの root または app_root と呼ばれるトップレベルのディレクトリの下に集められます。
app_root/dt/appconfig ディレクトリの下にある構成フィールドの主なカテゴリは、表 5–1 のとおりです。
表 5–1 構成フィールドの主なカテゴリ
サブディレクトリ |
内容 |
---|---|
types |
アクションおよびデータ型定義ファイル |
help |
デスクトップ・ヘルプ・ファイル |
icons |
アプリケーションのアクションとデータ型が使用するビットマップおよびピックスマップ・イメージ・ファイル |
appmanager |
アプリケーション・グループを作成するディレクトリとその内容 |
主なカテゴリはそれぞれ、言語依存ファイルのサブディレクトリです。デフォルトの言語ファイルは C ディレクトリにあります。
次のようなディレクトリを作成します。言語依存構成ファイルを指定する場合は、各言語について別のディレクトリを作成します。1 つの言語だけを指定する場合は、ファイルを 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 は、appgroup_name が「Media_Tools」であるグループを含むアプリケーション・マネージャを示します。
dtappintegrate ツールは、types、help、icons、および appmanager ディレクトリのデスクトップ構成ファイルのみで動作します。アプリケーションのバイナリ実行可能ファイル、app-defaults、およびメッセージ・カタログ・ファイルは、別々に管理されます。
アプリケーションのアクションとデータ型の作成例については、登録パッケージの作成例の手順 4 を参照してください。
アクションとデータ型は、アプリケーションのユーザ・インタフェースを提供します。
アクションは、アプリケーションを起動するためのコマンドのユーザ・インタフェースを提供します。
データ型は、アプリケーションのデータ・ファイル用にカスタマイズされた外観と動作を提供します。
典型的なアプリケーションは、次のようなアクションとデータ型定義が必要です。
アプリケーションを開くアクション
アプリケーションのデータ・ファイルのデータ型 データ型を作成する場合は、次のアクションも作成してください。
アプリケーションのデータ・ファイルの [開く] アクション
アプリケーションのデータ・ファイルの [印刷] アクション
アプリケーション・グループのデータ型 (詳細は、固有のアイコンを使用するアプリケーション・グループの設定を参照してください)。
アクションとデータ型がどのようにデスクトップで使用されるかについては、第 10 章「アクションとデータ型の概要」を参照してください。
アクションとデータ型は、構成ファイルに定義されます。アクションとデータ型定義が入っているファイル名の取り決めとしては、必ず拡張子 .dt を付けるということだけです。取り決めに従って、action_name.dt または application_name.dt というファイル名が付けられます。
ディレクトリ app_root/dt/appconfig/types/language にあるアプリケーションの root の下に、アクションおよびデータ型の入っているファイルを置きます。デフォルトの language は C です。
次のいずれかの方法で、アクションとデータ型を作成できます。
[アクション作成] ツールを使用する
[アクション作成] には、入力するためのテキスト・フィールドがあり、使いやすいインタフェースを提供します。ただし、このツールには一定の制限があります。
定義を手入力で作成する
この方法で作成する場合、定義を作成するための構文を知っていることが必要ですが、機能のすべてにアクセスできます。
この手順は、[アクション作成] ユーティリティを使用して、アプリケーションのアクションとデータ型を作成します。
[アクション作成] の詳細は、オンライン・ヘルプまたは第 11 章「アクション作成ツールを使ったアクションとデータ型の作成」を参照してください。
[デスクトップアプリケーション] アプリケーション・グループを開き、[アクション作成] をダブルクリックします。
[アクション作成] を使用して、アプリケーションとそのデータ型用のアクションとデータ型定義を作成します。
[アクション作成] で作成した構成ファイルは、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 というファイル名の命名規則に必ず従わなければなりません。
アクションとデータ型定義は、1 つまたは複数のファイルに分けて入れることができます。各ファイルは、システム管理者が簡単にアプリケーションへ接続できるファイル名を使用します。
アクション名とデータ型名は、必ず一語にしてください (埋め込みスペースも使用しないでください)。下線文字を使用することもできます。規則により、アクション名またはデータ型名の最初の文字は大文字にします。既存のアクション名またはファイル名は使用しないでください。上級ユーザおよびシステム管理者が、簡単にアプリケーションに接続できる名前を使用します。
アクション名と異なる名前のラベルが付いたアプリケーションのアイコンを使用する場合は、アクション定義に LABEL フィールドを取り込みます。
アクションとデータ型の作成方法については、次の章を参照してください。
登録パッケージへのヘルプ・ファイルの追加例については、登録パッケージの作成例の手順 5 を参照してください。
アプリケーションがデスクトップのヘルプ・ボリューム (デスクトップのヘルプ開発者キットで作成されたヘルプ・ボリューム) を取り込む場合、ヘルプ・ボリュームのマスタ・ファイル (*.sdl) をディレクトリ app_root/appconfig/help/language に置いてください。
ヘルプ・ファイルが使用するグラフィックは、通常 graphics サブディレクトリに置きます。グラフィックは、ヘルプ・ボリュームが作成されたときと同じ、マスタ・ヘルプ・ボリューム (*.sdl) に関連するディレクトリになければなりません。
アプリケーションがヘルプ・ボリュームを提供しない場合、ヘルプ開発者キットを使って作成できます。
ヘルプ・ボリュームの統合には、次の 2 つのレベルがあります。
デスクトップ・ヘルプを完全に統合すると、アイテムヘルプや [ヘルプ] メニューなどのアプリケーションからヘルプ・ボリュームにアクセスできます。この統合には、アプリケーションの実行可能ファイルの変更も含まれます。
デスクトップ・ヘルプを部分的に統合すると、ヘルプ・マネージャのトップレベルからデスクトップ・ヘルプを使用できます。ただし、アプリケーションのウィンドウからはヘルプ・ボリュームにアクセスできません。アプリケーション・グループからヘルプへアクセスできるアクションも提供されます。次の例にあるアクションは、ヘルプ・マスタ・ファイル 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 フィールドで参照されます。
サイズは、極小、中、大の 3 種類です。
データ型アイコン — このアイコンは、ファイル・マネージャにあるアプリケーションのデータ・ファイルを表示するのに使用します。データ型定義の ICON フィールドで参照されます。
アプリケーションが複数のデータ型をサポートする場合、各データ型ごとに異なるアイコンを指定してください。
サイズは、極小と中の 2 種類です。
アプリケーション・グループ・アイコン — アプリケーション・マネージャのトップレベルにあるディレクトリを示すアイコンです。アプリケーション・グループのためのデータ型定義の ICON フィールドで参照されます (詳細は、手順 7: アプリケーション・グループの作成 を参照してください)。
サイズは、極小と中の 2 種類です。
カラー (8 ビット以上) とモノクロ (8 ビット未満) ディスプレイをサポートするには、各アイコンでピックスマップとビットマップの両方のバージョンを用意する必要があります。
表 5–2 アイコン・ファイルの命名規則
サイズ |
ピクセル・サイズ |
ビットマップ名 |
ピックスマップ名 |
---|---|---|---|
極小 |
16x16 |
basename.t.bm |
basename.t.pm |
中 |
32x32 |
basename.m.bm |
basename.m.pm |
大 |
48x48 |
basename.l.bm |
basename.l.pm |
ビットマップ・ファイルを提供しない場合、デスクトップはピックスマップ・ファイルのカラー指定を白黒にマップします。このマッピングでは、希望どおりに表示されないことがあります。
アイコンの詳細は、アイコン・イメージ・ファイルを参照してください。
アプリケーション・グループの作成例については、登録パッケージの作成例の手順 7 を参照してください。
アプリケーションのアクションとデータ型定義を作成したら、ユーザが実際に見るアプリケーション・グループとその内容を作成するための構成ファイルを必ず作成してください。
アプリケーション・グループは、アプリケーション・マネージャのトップレベルにあるディレクトリです (詳細は、図 5–1 を参照してください)。
アプリケーション・グループの作成には、次の 3 つの手順があります。
登録パッケージにアプリケーション・グループ・ディレクトリを作成する
(省略可能) アプリケーション・グループが一意のアイコンを使用するように設定する。これには、アプリケーション・グループ・ディレクトリのデータ型定義作成も含まれます。
アプリケーション・グループの内容を作成する
アプリケーション・グループを作成するには、図 5–7 のように、appmanager の下の登録パッケージにディレクトリを作成します。
図 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 }
定義の属性セクションが使用するアイコンを指定します。定義の条件セクションは、appmanager というディレクトリのサブディレクトリである Media_Tools というディレクトリにデータ型が定義されるように指定します。
図 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 に定義された組み込みアクションです。
アプリケーション・グループで最も重要な項目は、アプリケーションを起動するアイコン (アクション・アイコン) です。アプリケーション・グループに一連のアプリケーションが含まれている場合、通常は各アプリケーションのアイコンがあります。
次に、1 つ以上のアクション・アイコンの他に、アプリケーション・グループに含まれているものを示します。
1 つ以上の README ファイル
1 つ以上のサンプル・データ・ファイル
テンプレート
ダブルクリックしてヘルプ情報を表示するためのアイコン
マニュアル・ページ
特殊なフロントパネル・コントロール
アプリケーション・グループには、サブディレクトリを含めることができます。
アプリケーション・グループには、アプリケーションを起動するアイコンがあります。グループが一連のアプリケーションを提供する場合、各アプリケーションにアイコンがあります。これらのアイコンは基本のアクションを示すため、「アプリケーション・アイコン」または「アクション・アイコン」と呼びます。
アクション・アイコンは、次のように実行するアクションと同じ名前の実行可能ファイルを作成することによって作成します。
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 アプリケーションの 1 つのインスタンスを実行するサブパネルでコントロールが作成されます。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) のマニュアル・ページ
アプリケーションの登録例については、登録パッケージの作成例を参照してください。
アプリケーションの root の下に登録パッケージを作成した後、実際にアプリケーションを登録できます。
アプリケーションを登録すると、登録パッケージと、デスクトップ検索パスに沿って配置されているディレクトリがリンクされます (詳細は、dtappintegrate によるアプリケーションの統合方法を参照してください)。
アプリケーションがデスクトップ化されている場合、dtappintegrate は通常、インストール・プロセスの最終手順として自動的に実行されます。自動的に実行されない場合、またはデスクトップ化されていないアプリケーションを統合するよう構成ファイルを作成した場合は、次のように手作業で dtappintegrate を実行できます。
root でログインします。
次のコマンドを実行します。
/usr/dt/bin/dtappintegrate -s app_root
app_root は、デスクトップ・アプリケーションの root ディレクトリです。詳細は、dtappintegrate(1) のマニュアルページを参照してください。
[デスクトップツール] アプリケーション・グループを開いて、[アプリケーションの再読込み] をダブルクリックします。
次のようにアプリケーションが正しく登録されているか確認します。
dtappintegrate -s app_root [-t target_path ] [-l language ] [-u]
-s app_root |
必須パラメータ。アプリケーションをインストールするアプリケーションの 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/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
へリンクさせます。