限制動作為特殊類型的引數使動作更精確。例如,您應該限制 PostScript 檔案的查看器調用為只有 PostScript 檔案引數的動作;有了限制,如果指定非 PostScript 的檔案,動作將會回覆錯誤對話。
您可以限制動作,基於:
檔案引數的資料類型。
檔案引數的數目-例如,無引數對一個或多個引數。這樣會提供動作圖像的不同定位與連按兩下的行為。
引數的讀取/寫入模式。
使用 ARG_TYPE 欄位來指定其動作為有效的資料類型。使用資料屬性名稱。
您可以輸入資料類型的列表,以逗號分開登錄。
例如,以下動作定義假定 Gif 資料類型已建立。
ACTION Open_Gif { TYPE COMMAND LABEL "顯示 Gif" WINDOW_TYPE NO_STDIO ARG_TYPE Gif ICON xgif DESCRIPTION 顯示 gif檔案 EXEC_STRING xgif }
使用 ARG_COUNT 欄位以指定動作可以接受的引數數目。有效值為:
* (內定值)-任何數目的引數。其值值對於 * 有優先順序。
n-任何非負數的整數,包括 0。
>n-多於 n 個引數。
<n-少於 n 個引數。
ARG_COUNT 的用途之一就是提供不同的動作圖像行為,視使用者是否連按兩下圖像或在其上定位檔案而定。請參閱下節, "如果要提供不同的連按兩下與定位行為。"
使用此程序以建立接受定位檔案但當連按兩下動作圖像時不提示檔案的動作。
建立連按兩下功能的動作定義。
使用 ARG_COUNT 欄位以指定 0 引數。使用語法於不接受定位引數的 EXEC_STRING 。
建立定位功能的第二種動作定義。
使用 ARG_COUNT 欄位以指定 >0 引數。使用語法於接受定位檔案的EXEC_STRING。
例如,假定下列兩個指令行可以用於啟動名為 vedit 的編輯器:
如果要啟動具有開啟為唯讀文件的檔案引數的編輯器:
vedit -R 檔案名稱
下列兩個動作建立名為 Vedit 動作的定位與連按兩下功能。既然 ARG_COUNT 0 比定位功能定義的暗示 ARG_COUNT * 更特定,第一個動作在資料庫搜尋配對時有優先順序。
# 連按兩下功能 ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # 定位功能 ACTION Vedit { TYPE COMMAND WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit -R%Arg _1% }
使用 ARG_MODE 欄位以指定引數的讀取/寫入模式。有效值為:
* (內定)-任何模式
!w-非可寫入的
w-可寫入的