特定の型の引き数にアクションを制限すると、アクションが改良されます。たとえば、PostScript ファイル引き数に対してのみ PostScript ファイルのビューアを呼び出すようにアクションを制限すると便利です。つまり制限があると、PostScript ファイル以外を指定した場合、アクションはエラー・ダイアログを返します。
次のことに基づいてアクションを制限できます。
ファイル引き数のデータ型
ファイル引き数の数 — たとえば、引き数なしと 1 つ以上の引き数を指定する場合とでは、アクション・アイコンのドロップ&ダブルクリック動作が異なります。
引き数の読み取りまたは書き込みモード
ARG_TYPE フィールドを使用して、アクションが有効であるデータ型を指定します。データ属性名を使用します。
コンマでエントリを区切って、データ型のリストを入力できます。
たとえば、次のアクション定義は Gif データ型が作成されている場合の例です。
ACTION Open_Gif { TYPE COMMAND LABEL "Display Gif" WINDOW_TYPE NO_STDIO ARG_TYPE Gif ICON xgif DESCRIPTION Displays gif files EXEC_STRING xgif }
ARG_COUNT フィールドを使用して、アクションが受け入れることができる引き数の数を指定します。有効な値は次のとおりです。
* (デフォルト) — 任意の数の引き数。その他の値は * よりも優先されます
n — 任意の負でない値 (0 を含む)
>n — n よりも大きい引き数
<n — n よりも小さい引き数
ARG_COUNT の使用方法の 1 つは、アイコンをダブルクリックするか、そのアイコンにファイルをドロップするかに応じて、異なるアクション・アイコン動作を提供することです。次の「異なるダブルクリック・アンド・ドロップ動作を提供するには」を参照してください。
次の手順を使用して、ドロップされたファイルを受け取るアクションを作成しますが、アクション・アイコンをダブルクリックしてもファイルを要求しません。
ダブルクリック機能のためのアクション定義を作成します。
ARG_COUNT フィールドを使用して 0 引き数を指定します。ドロップされた引き数を受け取らない EXEC_STRING の構文を使用します。
ドロップ機能のための 2 番目のアクション定義を作成します。
ARG_COUNT フィールドを使用して >0 引き数を指定します。ドロップされたファイルを受け取る EXEC_STRING の構文を使用します。
たとえば、次の 2 つのコマンド行は vedit という名前のエディタを起動するのに使用できるとします。
ファイル引き数を使用しないでエディタを起動するには、次のようにします。
vedit
読み専用ドキュメントとして開くファイル引き数でエディタを起動するには、次のようにします。
vedit -R filename
次の 2 つのアクションは、Vedit という名前のアクションのためのドロップ&ダブルクリック機能を作成します。ARG_COUNT 0 は暗示的なドロップ機能定義の ARG_COUNT * よりも明確なので、データベースで一致するものを検索するときには、最初のアクションが優先されます。
# Double-click functionality ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # Drop functionality ACTION Vedit { TYPE COMMAND WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit -R %Arg_1% }
ARG_MODE フィールドを使用して、引き数の読み取りまたは書き込みモードを指定します。有効な値は次のとおりです。
* (デフォルト) — 任意のモード
!w — 書き込み不可
w — 書き込み可能