Solaris 一般桌上管理系統環境:進階使用者和系統管理員指南

限制特定引數的動作

限制動作為特殊類型的引數使動作更精確。例如,您應該限制 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 的用途之一就是提供不同的動作圖像行為,視使用者是否連按兩下圖像或在其上定位檔案而定。請參閱下節, "如果要提供不同的連按兩下與定位行為。"

如果要提供不同的連按兩下與定位行為

使用此程序以建立接受定位檔案但當連按兩下動作圖像時不提示檔案的動作。

  1. 建立連按兩下功能的動作定義。

    使用 ARG_COUNT 欄位以指定 0 引數。使用語法於不接受定位引數的 EXEC_STRING

  2. 建立定位功能的第二種動作定義。

    使用 ARG_COUNT 欄位以指定 >0 引數。使用語法於接受定位檔案的EXEC_STRING

    例如,假定下列兩個指令行可以用於啟動名為 vedit 的編輯器:

    • 如果要啟動沒有檔案引數的編輯器:

      	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-可寫入的