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

資料類型簡介

當使用者建立新的資料檔案時,檔案管理者中的檔案圖像外觀與行為會依據使用者所建立的資料檔案類型而改變。此種建立檔案與目錄的自訂外觀與行為的能力是由桌上管理系統的資料鍵入機制所提供的。

什麼是資料類型?

資料類型是在桌上管理系統資料庫內定義的結構。例如,此為 XWD 資料類型的定義。定義是在配置檔案 /usr/dt/appconfig/types/language/xclients.dt 中:

DATA_ATTRIBUTES XWD 
 { 
  ACTION	    Open, Print 
  ICON	  Dtxwd  
  NAME_TEMPLATE	  %s.xwd
  MIME_TYPE         應用程式/八個一組的串流  
  SUNV3_TYPE        xwd-file  
  DESCRIPTION  	   此檔案包含圖形影像於 XWD \ 
        格式中。 這些檔案的建立一般是藉由  \ 
        使用XwdCapture做視窗快照  \  
        動作。其資料類型名為 XWD. XWD 檔案 \ 
        名稱是以 `.xwd' 或 `.wd' 結尾。 
 }
DATA_CRITERIA XWD1 
 {     
  DATA_ATTRIBUTES_NAME	     XWD  
  MODE	 	f   
  NAME_PATTERN	     	*.xwd 
 } 
 
 DATA_CRITERIA XWD2 
 {  
  DATA_ATTRIBUTES_NAME	 XWD 
  MODE 		f 
  NAME_PATTERN 		*.wd  
 }

每種資料類型定義都有兩部分:

DATA_ATTRIBUTES-描述資料類型的外觀與行為。

DATA_CRITERIA-指定將檔案分類為屬於該資料類型的規則(命名或內容)。

DATA_ATTRIBUTES_NAME 欄位將條件連接至屬性。

可以有 DATA_ATTRIBUTE 的多重 DATA_CRITERIA。例如,XWD 資料類型有兩項指定兩項不同命名條件(NAME_PATTERN)-名稱以 .xwd.wd 結尾。

資料類型如何將資料檔案連接至動作

試想 XWD 資料類型。使用者藉由給予檔案一個或兩個檔案名稱的字尾(副檔名)來建立 XWD 類型的檔案:.xwd.wd。桌上管理系統使用該檔案名稱為指派檔案為該類型的 條件

XWD 資料類型供應該資料類型的每個檔案:

從「所選項目」功能表執行動作

檔案管理者中的「所選項目」功能表只有在選擇檔案或目錄時才是作用中的。「所選項目」功能表底部的指令視資料類型而定。例如,如果選擇 XWD 檔案,「所選項目」功能表就包括開啟與列印項目。

資料類型定義中的 動作 欄位指定增加至資料類型的「所選項目」功能表底部的指令。

DATA_ATTRIBUTES XWD { ACTIONS Open,Print ... }

「所選項目」功能表的內容是視資料類型而定。然而,許多不同的資料類型都提供開啟動作-也就是說,當您選擇檔案管理者中該特殊資料類型的檔案並顯示「所選項目」功能表時,您會看到開啟指令。

圖 10-5 XWD 檔案的「所選項目」功能表

Graphic

開啟動作通常執行與資料檔案有關聯的應用程式。例如,開啟 XWD 檔案執行 Xwud 動作,這個動作會換過來執行 xwud X 客戶機以顯示螢幕影像。換言之,對於 XWD 資料類型而言,開啟動作與 Xwud 動作是同義的。同樣地,開啟資料類型文字檔案(TEXTFILE)的檔案會執行文字編輯器,而開啟 BM (位元映射)或 PM(圖素映射)檔案則會執行圖像編輯器。

建立各種執行不同事物的開啟動作能力,會使用動作定義的兩項功能:

這是為XWD 資料類型對應開啟動作至 Xwud 動作的動作定義。其位於資料庫配置檔案/usr/dt/appconfig/types/C/xclients.dt 中。

ACTION Open  
  {
   LABEL	 	Open 
   ARG_TYPE       XWD
   TYPE  	       MAP  
   MAP_ACTION	   Xwud 
  }

類型 欄位指定此為對應動作;MAP_ACTION 欄位指定此動作執行 Xwud 動作。ARG_TYPE 欄位指定此動作只應用於其資料類型是 XWD 的檔案。

比較開啟動作的前定義與出現在資料庫檔案 /usr/dt/appconfig/types/C/dt.dt 中的下一個定義。

ACTION Open  
 { 
  LABEL	      Open 
  ARG_TYPE   	BM 
  TYPE   	    MAP  
  MAP_ACTION   	 Dticon 
 }

此定義應用於資料類型(ARG_TYPE)BM(位元映射檔案)的檔案。定義對應開啟動作至執行圖像編輯器的 Dticon 動作。

定義資料類型的連按兩下的行為

資料類型的連按兩下行為是由 動作 欄位中第一項登錄所定義的。例如,對於 XWD 資料類型而言,連按兩下的行為就是執行開啟動作,此動作會反過來執行 Xwud 動作。

在動作圖像上定位資料檔案

當使用者在動作圖像上定位資料檔案時,系統會使用該資料檔案作為動作的引數來執行動作(請參閱 "動作如何使用資料檔案作為引數")。

例如,當 XWD 資料檔案定位於 Xwd 顯示器圖像上時,Xwud 動作會使用資料檔案引數來執行。此動作會執行具有該資料檔案的 xwud X 客戶機。

建立資料類型的桌上管理系統列印

桌上管理系統列印提供這些列印資料檔案的方法:

除了桌上管理系統列印之外,許多應用程式都提供從應用程式內列印的方法。

桌上管理系統列印使用名為列印的動作。就像開啟一樣,列印是用於許多不同類型的資料的動作名稱。因此,列印動作使用動作對應與 ARG_TYPE 欄位來自訂每種資料類型的列印。

例如,此為 XWD 資料類型的列印動作。定義位於/usr/dt/appconfig/types/language/xclients.dt 中:

ACTION Print 
 {
  LABEL	      Print 
  ARG_TYPE 	XWD 
  TYPE	    MAP  
  MAP_ACTION     NoPrint  
 }

此專用於 XWD 檔案的列印動作對應至無列印動作。無列印是/usr/dt/appconfig/types/language/dt.dt 中所定義的特殊動作。無列印動作顯示對話框,告訴使用者此資料類型無法列印。

比較 XWD 列印動作與以下 PCL 檔案的列印動作:

ACTION Print 
 {
  LABEL       Print 
  ARG_TYPE    PCL 
  TYPE        MAP 
  MAP_ACTION   PrintRaw  
 }

配置檔案 /usr/dt/appconfig/types/language/print.dt 中所定義的列印原始動作包含列印 PCL 檔案的指令行。

ACTION PrintRaw  
 {
  TYPE           COMMAND  
  WINDOW_TYPE   	NO_STDIO  
  EXEC_STRING  		/usr/dt/bin/dtlp -w% (File)Arg_1%
 }