この節では、アクション定義の構成ファイルを作成する方法について説明します。
アクション定義が入っている構成ファイルは、次の要件を満たしていなければなりません。
ファイルは、 name.dt という命名規則を使用しなければなりません。
ファイルは、データベース (アクションとデータ型) 検索パス上になければなりません。デフォルトの検索パスは次のとおりです。
個人用アクション - HomeDirectory/.dt/types
システム共通アクション - /etc/dt/appconfig/types/language
組み込みアクション - /usr/dt/appconfig/types/language。ただし、このディレクトリは使用しないでください。
アクションおよびデータ型検索パスの変更の詳細は、「検索パスの値の設定」を参照してください。
既存のデータベース・ファイルを開くか、新規のデータベース・ファイルを作成します。
詳細は、「アクションの構成ファイル」を参照してください。
次の構文を使用してアクション定義を作成します。
ACTION action_name { TYPE action_type action_field ... }
action_name - アクションを実行するのに使用する名前
action_type - COMMAND (デフォルト)、MAP、または TT_MSG
action_field - この型のアクションの必須または省略可能なフィールドの 1 つ。すべてのフィールドは、キーワードと値から成ります。ほとんどのアクション・フィールドについて、この章で説明します。
詳細は、dtactionfile(4) のマニュアル・ページを参照してください。
ファイルを保存します。
アクション・アイコンが一意のイメージを持つようにするには、アクションのアイコンを作成します。アイコンのデフォルトの位置は次のとおりです。
個人用アイコン: HomeDirectory/.dt/icons
システム共通アイコン: /etc/dt/appconfig/icons/language
デフォルトの language は C です。
詳細は、「アクションが使用するアイコン・イメージの指定」を参照してください。
[デスクトップツール] アプリケーション・グループにある [アクションの再読込み] をダブルクリックします。
アクションのアクション・ファイルを作成します。アクション・ファイルは、アクションを表すアイコンをファイル・マネージャまたはアプリケーション・マネージャに作成します (アプリケーションを起動するようにアクションが書かれている場合、アイコンは「アプリケーション・アイコン」と呼ばれます)。
アクション・ファイルを作成するには、action_name と同じ名前の実行可能ファイルを作成します。書き込み権を持っているディレクトリに、そのファイルを置くことができます。アクション・ファイルは、好きな数だけ作成できます。
次の手順は、リモート・システム AppServerA にある FAX アプリケーションを起動する個人用アクションを作成します。FAX アプリケーションを起動するコマンドは、次のとおりです。
/usr/fax/bin/faxcompose [filename]
ファイル HomeDirectory/.dt/types/Fax.dt を作成します。
次のアクション定義をファイルに記述します。
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_TYPE フィールドと EXEC_STRING フィールドは、アクションの動作を説明します。
WINDOW_TYPE - NO_STDIO キーワードは、アクションが端末エミュレータ・ウィンドウで実行する必要がないように指定します。
詳細は、「アクションのウィンドウ・サポートの指定」を参照してください。
EXEC_STRING - 構文 %Arg_1% は、ドロップされたファイルを受け取ります。アクション・アイコンをダブルクリックすると、アクションは空の FAX 作成ウィンドウを開きます。
詳細は、「COMMAND アクションの実行文字列の作成」を参照してください。
ファイルを保存します。
アイコン・エディタを使用して、HomeDirectory/.dt/icons ディレクトリに、次のアイコン・イメージ・ファイルを作成します。
fax.m.pm、サイズ 32x32 ピクセル
fax.t.pm、サイズ 16x16 ピクセル
[デスクトップツール] アプリケーション・グループにある [アクションの再読込み] をダブルクリックします。
書き込み権を持っているディレクトリ (たとえば、ホーム・ディレクトリ) に FaxComposer という名前の実行可能ファイルを作成します。
FAX 送信するほとんどのファイルがテキスト・エディタで作成され、データ型 TEXTFILE (ファイル名は *.txt) であるものとします。
次の手順は、データ型の [選択] メニューに Fax メニュー項目を追加します。
前節で作成したファイル HomeDirectory/.dt/types/Fax.dt を開きます。
次のマップ・アクション定義をファイルに追加します。
ACTION Fax { ARG_TYPE TEXTFILE TYPE MAP MAP_ACTION FaxComposer }
ファイルを保存します。
TEXTFILE のデータ属性定義を /usr/dt/appconfig/types/language/dtpad.dt から新規ファイル HomeDirectory/.dt/types/textfile.dt にコピーします。Fax アクションを ACTIONS フィールドに追加します。
DATA_ATTRIBUTES TEXTFILE { ACTIONS Open,Print,Fax ICON Dtpenpd ... }
ファイルを保存します。
アプリケーション・マネージャを開き、[デスクトップツール] アプリケーション・グループにある [アクションの再読込み] をダブルクリックします。
新規または編集されたアクション定義を有効にするには、デスクトップはデータベースを再読み込みしなければなりません。次のいずれかを実行します。
[デスクトップツール] アプリケーション・グループを開き、[アクションの再読込み] をダブルクリックします。
アクション・データベースは、次の操作を実行する場合にも再読み込みされます。
ログインする
ワークスペース・マネージャを再起動する
[ファイル] メニューから [保存] を選択して [アクション作成] ウィンドウにあるアクションを保存する
「アクション・ファイル」は、ファイル・マネージャまたはアプリケーション・マネージャにあるアクションを視覚的に表現するために作成されるファイルです。
アクション・ファイルのアイコンはアクションを表現するので、「アクション・アイコン」と呼ぶこともあります。基本となるアクションがアプリケーションを起動する場合、アクション・ファイル・アイコンを「アプリケーション・アイコン」と呼びます。
アクション・アイコンをダブルクリックすると、アクションを実行します。アクション・アイコンはドロップ領域にもなります。
たとえば、次のようなアクション定義の場合、アクション・ファイルは MyFavoriteApp という名前の実行可能ファイルになります。
ACTION MyFavoriteApp { EXEC_STRING Mfa -file %Arg_1% DESCRIPTION Runs MyFavoriteApp ICON Mfapp }
ファイル・マネージャとアプリケーション・マネージャでは、MyFavoriteApp ファイルはアイコン・イメージ Mfapp.size.type を使用します。MyFavoriteApp のアイコンをダブルクリックすると、アクションの実行文字列を実行し、アイコンのアイテムヘルプは DESCRIPTION フィールド (Runs MyFavoriteApp) の内容になります。
アクション定義に LABEL フィールドが含まれている場合、ファイル・マネージャとアプリケーション・マネージャでは、ファイル名 (action_name) ではなく、このフィールドの内容によってアクション・ファイルにラベルが付けられます。たとえば、アクション定義に次のものが含まれる場合、アクション・アイコンには Favorite Application というラベルが付けられます。
ACTION MyFavoriteApp { LABEL Favorite Application ... }
ICON フィールドを使用して、アクション用に作成されたアクション・アイコン用にファイル・マネージャとアプリケーション・マネージャで使用するアイコンを指定します。
アイコンを指定しない場合、システムはデフォルトのアクション・アイコン・イメージ・ファイル /usr/dt/appconfig/icons/language/Dtactn.* を使用します。
デフォルトのアクション・アイコンは、次のリソースを使用して変更できます。
*actionIcon: icon_file_name
icon_file_name は、ベース名または絶対パスを指定できます。
ベース・ファイル名
ベース・ファイル名は、アイコン・イメージが入っているファイル名から、サイズ (m と t) とイメージ型 (bm と pm) を表すファイル拡張子を除いたものです。たとえば、ファイル名が GameIcon.m.pm と GameIcon.t.pm の場合は、GameIcon を使用します。
ベース・ファイル名を使用する場合、アイコン・ファイルは次のアイコン検索パスにあるディレクトリになければなりません。
個人用アイコン: HomeDirectory/.dt/icons
システム共通アイコン: /etc/dt/appconfig/icons/language
アイコン・ファイルへの絶対パス。完全なファイル名も含まれます。
アイコン・ファイルがアイコン検索パス上にない場合だけ絶対パスを使用してください。たとえば、アイコン・ファイル GameIcon.m.pm がディレクトリ /doc/projects にある場合、アイコン検索パスにはないので、ICON フィールドの値は /doc/projects/GameIcon.m.pm になります。
作成しなければならないアイコンのサイズと、それに対応するファイル名を表 12-1 に示します。
サイズ (ピクセル単位) |
ビットマップ名 |
ピックスマップ名 |
---|---|---|
48x48 |
name.l.bm |
name.l.pm |
32x32 |
name.m.bm |
name.m.pm |
16x16 |
name.t.bm |
name.t.pm |
システムのどの使用可能なアクション (組み込みアクションも含む) も変更できます。
組み込みアクション・データベースを変更する際には注意してください。組み込みアクションは、デスクトップ・アプリケーション上で動作するように設計されています。
変更するアクション定義を検出します。
組み込みアクション: /usr/dt/appconfig/types/language
システム共通アクション: /etc/dt/appconfig/types/language
個人用アクション: HomeDirectory/.dt/types
システム位置が追加されている可能性もあります。アクション用にシステムが使用している位置のリストを参照するには、次のコマンドを実行します。
dtsearchpath -v
必要に応じて、アクション定義のテキストを、次のいずれかのディレクトリにある新規または既存のファイルにコピーします。
システム共通アクション: /etc/dt/appconfig/types/language
個人用アクション: HomeDirectory/.dt/types
/usr/dt/appconfig/types/language ディレクトリにあるファイルは編集してはいけませんので、組み込みアクションをコピーしなければなりません。
アクション定義を編集します。
編集が終わったら、ファイルを保存します。
[デスクトップツール] アプリケーション・グループにある [アクションの再読込み] をダブルクリックします。
アクションを呼び出すと、システムはデータベースで一致するアクション名を検索します。その名前に対して 2 つ以上のアクションが存在する場合、システムはどちらを使用するかを決定するために優先規則を使用します。
他の優先規則が適用されない場合、優先順位は定義の位置に基づきます。次のリストは、優先度の高い順に並べてあります。
個人用アクション (HomeDirectory/.dt/types)
システム共通のローカル・アクション (/etc/dt/appconfig/types/language)
システム共通のリモート・アクション (hostname:/etc/dt/appconfig/types/language)。検索されたリモート・ホストは、アプリケーション検索パス上にあります。
組み込みアクション (/usr/dt/appconfig/types/language)
指定のディレクトリ内で、*.dt ファイルはアルファベット順に読み込まれます。
ARG_CLASS、ARG_TYPE、ARG_MODE、または ARG_COUNT によって制限されたアクションは、制限されていないアクションよりも優先されます (これらの 4 つのフィールドのデフォルト値は * です)。
2 つ以上の制限が適用される場合、優先順位の高い順に並べると次のようになります。
ARG_CLASS
ARG_TYPE
ARG_MODE
ARG_COUNT
2 つ以上の制限された ARG_COUNT が存在する場合、優先順位の高い順に並べると次のようになります。
特定の整数値 n
<n
>n
*
たとえば、次のアクション定義の一部分について考えてみます。
ACTION EditGraphics # EditGraphics-1 { ARG_TYPE XWD ... }
ACTION EditGraphics # EditGraphics-2 { ARG_COUNT 0 ... }
ACTION EditGraphics # EditGraphics-3 { ARG_TYPE * ... }
EditGraphics アクション・アイコンをダブルクリックすると、引き数が指定されず ARG_COUNT 0 が優先されるので、EditGraphics-2 を起動します。XWD 型ファイル引き数を指定すると XWD ARG_TYPE が指定されるので、EditGraphics-1 が使用されます。EditGraphics-3 は、その他のファイル引き数すべてに対して使用されます。