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

註冊應用程式的一般步驟


註解 -

有關使用這些步驟以建立應用程式套裝軟體的詳細範例,請參閱 "建立註冊套裝軟體的範例"


  1. 修改任何設定字型與色彩的應用程式來源。否則,桌上管理系統的動態字型與色彩將不會正確地運作。

    請參閱 "第 1 步:修改字型與色彩來源"

  2. 建立應用程式 root 位置。

    請參閱 "第 2 步:建立桌上管理系統應用程式 Root"

  3. 建立在應用程式 root 之下的目錄結構。

    請參閱 "第 3 步:建立註冊套裝軟體目錄"

  4. 建立應用程式的動作與資料類型。

    請參閱 "第 4 步:建立應用程式的動作與資料類型"

  5. 將輔助說明檔案放在合適的目錄中。

    請參閱 "第 5 步:將輔助說明檔案放在註冊套裝軟體中"

  6. 建立應用程式的圖像

    請參閱 "第 6 步:建立應用程式的圖像"

  7. 建立應用程式的應用程式群組。

    請參閱 "第 7 步:建立應用程式群組"

  8. 使用 dtappintegrate 來註冊應用程式。

    請參閱 "第 8 步:使用 dtappintegrate 註冊應用程式"

第 1 步:修改字型與色彩來源


註解 -

有關修改應用程式來源的範例,請參閱 "建立註冊套裝軟體的範例" 的第 1 步。


桌上管理系統提供設定與處理介面字型和視窗色彩的機制。為了使應用程式正確地使用這些機制,您可能需要修改應用程式的 app-defaults 檔案。

修改字型來源


註解 -

本節應用於使用 OSF/Motif 1.2 (TM)(或較新的版本)建立的應用程式。樣式管理者無法設定使用較早版本的 OSF/Motif 寫入的應用程式介面字型。


如果應用程式沒有指定特定的應用程式字型,桌上管理系統樣式管理者將會設定使用 OSF/Motif 1.2(或較新的版本)建立的應用程式介面字型。

樣式管理者提供兩種字型:

系統字型-由例如是標籤、功能表與按鈕之類的系統區域使用

使用者字型-用於例如是文字欄位之類的可編輯區域

每種字型都提供有七種大小,在字型對話框中從 1 標到 7。樣式管理者字型經由/usr/dt/app-defaults/language/Dtstyle 中所設定的樣式管理者來源連接至系統上的實際字型。

如果您希望應用程式使用樣式管理者字型,您應該刪除任何介面指定字型的應用程式來源。桌上管理系統將會自動適當地設定應用程式的來源:

FontList-設定至系統字型

XmText*FontList-設定至使用者字型

XmTextField*FontList-設定至使用者字型

修改色彩來源

樣式管理者提供動態變更應用程式色彩的能力。應用程式必須是 OSF/Motif 1.1 或 1.2 客戶機。以其它工具箱所寫入的客戶機無法動態變更色彩;客戶機重新啟動時,色彩變更會生效。

使用由桌上管理系統所提供的動態色彩的最簡單方法就是刪除任何應用程式背景與前景色彩的色彩來源。

第 2 步:建立桌上管理系統應用程式 Root


註解 -

有關建立應用程式的桌上管理系統應用程式 root 目錄的範例,請參閱 "建立註冊套裝軟體的範例" 的第 2 步。


應用程式的註冊套裝軟體檔案是聚集於稱為應用程式 root 或 app_root 的目錄之下。用於桌上管理系統配置檔案的 app_root 目錄可以與應用程式的安裝 app_root 或某其它位置是相同的目錄。

例如,假設應用程式安裝於目錄 /usr/BTE 之下。此相同的目錄可用作桌上管理系統配置檔案的 app_root。然而,如果您正在整合現存非桌上管理系統智慧型應用程式,請建立不同的桌上管理系統 app_root 目錄。此將會防止您所建立的配置檔案在您更新應用程式時被重寫。

例如,系統管理者可能會想要建立目錄 /etc/desktop_approots/BTE 為桌上管理系統 app_root 目錄。

第 3 步:建立註冊套裝軟體目錄


註解 -

有關建立應用程式的註冊套裝軟體目錄的範例,請參閱 "建立註冊套裝軟體的範例" 的第 3 步。


註冊套裝軟體是由桌上管理系統使用來提供應用程式的圖形介面的桌上管理系統配置檔案的群組。

註冊套裝軟體內容

桌上管理系統配置檔案包括:

圖 5-4 在應用程式根目錄之下的註冊套裝軟體

Graphic

app_root/dt/appconfig 目錄之下的配置欄位之主要種類如 表 5-1 所示。

表 5-1 配置欄位主要種類

子目錄 

內容 

類型

動作與資料類型定義檔案 

輔助說明

桌上管理系統輔助說明檔案 

圖像

由應用程式的動作與資料類型所使用的位元映射與圖素映射影像檔案 

appmanager

建立應用程式群組的目錄與內容 

每一種主要種類中都有語言相依的檔案子目錄。內定語言檔案放在 C 目錄中。

如果要建立註冊套裝軟體

    建立這些目錄。如果您正提供語言相依的配置檔案,請為每種語言建立分開的目錄。如果您只供應一種語言,請將檔案放在 C 目錄中。

圖 5-5 應用程式管理者頂層的應用程式群組

Graphic

dtappintegrate 工具只在 類型輔助說明圖像appmanager 目錄中的桌上管理系統配置檔案上作業。應用程式的可執行二進位、app-defaults 與訊息目錄檔案是分開管理的。

第 4 步:建立應用程式的動作與資料類型


註解 -

有關建立應用程式的動作與資料類型的範例,請參閱 "建立註冊套裝軟體的範例" 的第 4 步。


動作與資料類型提供應用程式的使用者介面。

應用程式所需的動作與資料類型

典型的應用程式會需要下列的動作與資料類型定義:

動作與資料類型定義配置檔案的位置

動作與資料類型定義於配置檔案中。包含動作與資料類型定義的檔案的唯一命名需求就是它們必須是 .dt 字尾。按習慣用法,您可能會想要命名檔案為 action_name.dtapplication_name.dt

將包含動作與資料類型的檔案放在目錄 app_root/dt/appconfig/types/language 中的應用程式 root 之下。內定 語言C

圖 5-6 動作與資料類型定義檔案

Graphic

建立動作與資料類型的方法

您可以用下列兩種方法任一來建立應用程式的動作與資料類型定義:

如果要使用建立動作來建立動作與資料類型

此程序使用建立動作公用程式以建立應用程式的動作與資料類型。

有關建立動作的更多資訊,請使用其線上輔助說明或參閱 第 11章, 使用建立動作來建立動作與資料類型

  1. 開啟 Desktop_Apps 應用程式群組並連按兩下建立動作。

  2. 使用建立動作來建立應用程式與其資料類型的動作與資料類型定義。

    由建立動作所建立的配置檔案將會寫入至 HomeDirectory/.dt/type/action_name.dt。 動作檔案(具有與動作相同名稱的可執行檔案)是放在您的主目錄中。

  3. 使用您的主目錄中所建立的動作檔案來測試動作。

  4. 將動作定義檔案 HomeDirectory/.dt/type/action_name.dt 複製到 app_root/dt/appconfig/types/language directory

  5. 在建立應用程式群組目錄之後(請參閱 "第 7 步:建立應用程式群組"),將動作檔案 HomeDirectory/action_name 複製到 app_root/dt/appconfig/appmanager/language/appgroup_name 目錄。

如果要人工建立動作與資料類型

    建立包含應用程式的動作與資料類型定義的配置檔案。

動作與資料類型定義檔案必須遵循命名習慣用法 name.dt

您可以將您所有的動作與資料類型定義放在一個檔案中,或是將它們分散在多重檔案之中。對於每個檔案,請使用系統管理者將會輕易地與您的應用程式連接的檔案名稱。

動作與資料類型名稱必須是一個字(無內含的空間)。您可以使用底線字元。按習慣用法,動作或資料類型名稱的第一個字母是大寫的。請勿使用現存動作名稱或檔案名稱。使用進階使用者與系統管理將會輕易地與您的應用程式連接的名稱。

如果您想要讓應用程式的圖像標上與動作名稱有效不同的名稱,請將 標籤 欄位包含在動作定義中。

有關建立動作與資料類型的更多資訊,請參閱:

第 5 步:將輔助說明檔案放在註冊套裝軟體中


註解 -

有關增加輔助說明檔案至註冊套裝軟體的範例,請參閱 "建立註冊套裝軟體的範例" 的第 5 步。


如果應用程式包括桌上管理系統輔助說明內容(以桌上管理系統輔助說明設計者工具箱建立的輔助說明內容),輔助說明內容主控者檔案(*.sdl)應放在目錄 app_root/appconfig/help/language 中。

由輔助說明檔案所使用的圖形通常是放在 圖形 子目錄中。圖形必須是位於在建立輔助說明內容時與主控者輔助說明內容(*.sdl)檔案相對的相同目錄中。

如果應用程式不提供輔助說明內容,若是您有輔助說明設計者工具箱,您就可以建立一個。

有兩個輔助說明內容整合的層次:

第 6 步:建立應用程式的圖像


註解 -

有關建立應用程式的圖像檔案範例,請參閱 "建立註冊套裝軟體的範例" 的第 6 步。


桌上管理系統提供動作、資料類型與應用程式群組的內定圖像。然而,您或許將會想要建立應用程式的唯一圖像。

將圖像放在目錄 app_root/dt/appconfig/icons/language 中。

桌上管理系統所需的圖像

應用程式在桌上管理系統上使用這些圖像影像:

表 5-2 圖像檔案的命名習慣用法

大小 

像素空間 

位元映射名稱 

圖素映射名稱 

小型 

16 乘 16 

基本名稱.t.bm

基本名稱.t.pm

中型 

32 乘 32 

基本名稱.m.bm

基本名稱.m.pm

大型 

48 乘 48 

基本名稱.l.bm

基本名稱.l.pm

如果您不提供位元映射檔案,桌上管理系統會對應圖素檔案的色彩規格至黑色與白色。然而,此對應可能無法製造您所想要的外觀。

有關圖像的更多資訊,請參閱 "圖像影像檔案"

第 7 步:建立應用程式群組


註解 -

有關建立應用程式群組的範例,請參閱 "建立註冊套裝軟體的範例" 的第 7 步。


只要您一建立應用程式的動作與資料類型定義,您就必須建立負責建立使用者實際上看到-應用程式群組與其內容的配置檔案。

應用程式群組是在應用程式管理者頂層的目錄(請參閱 圖 5-1)。

建立應用程式群組有三個步驟:

建立應用程式群組目錄

如果要建立應用程式群組,請在 appmanager 之下的註冊套裝軟體中建立目錄,如 圖 5-7 中所示。

圖 5-7 appmanager 目錄

Graphic

應用程式群組名稱

圖 5-7 中的 <appgroup_name> 是應用程式群組的名稱。

圖 5-8 應用程式群組名稱(<appgroup_name>)

Graphic

此名稱可以是任何可允許的檔案(目錄)名稱。使用描述應用程式的名稱。

配置應用程式群組以使用唯一的圖像

桌上管理系統提供內定應用程式群組的圖像。然而,您可能會想要提供自訂圖像。

如果您想要提供唯一的圖像給應用程式群組,您必須建立:

圖 5-9 應用程式群組如何取得唯一的圖像

Graphic

您也應該建立應用程式群組資料類型的開啟與列印動作:

ACTION Open  
 { 
		ARG_TYPE    		Media_ToolsAppGroup
		TYPE			MAP  
		MAP_ACTION		OpenAppGroup 
 }
ACTION print 
  {      
		ARG_TYPE       		Media_ToolsAppGroup   
		TYPE	  		MAP  
		MAP_ACTION		PrintAppGroup 
  }

OpenAppGroup 與 PrintAppGroup 動作是 /usr/dt/appconfig/types/language/dtappman.dt 中所定義的內建動作。

建立應用程式群組的內容

應用程式群組中最重要的項目就是啟動應用程式(動作圖像)的圖像。如果應用程式群組包含一組應用程式,通常每組應用程式都會有一個圖像。

除了一個或多個動作圖像以外,應用程式群組還可包含:

建立動作檔案(應用程式圖像)

應用程式群組應包含啟動應用程式的圖像。如果群組供應一組應用程式,每個應用程式應該都有一個圖像。既然它們代表隱藏的動作,這些圖像就稱為 應用程式圖像 動作圖像。

動作圖像是藉由建立具有與其將會執行的動作相同名稱的可執行檔案所建立的:

app_root/dt/appconfig/appmanager/appgroup_name/action_name

此檔案稱為 動作檔案,因為它的目的是建立隱藏動作的視覺表示方式。

例如,如果您已建立執行 BestTextEditor 應用程式的名為 BestTextEditor 的動作,您就會執行名為 BestTextEditor 的可執行的檔案。在檔案管理者與應用程式管理者中,動作檔案將會使用動作定義中所指定的圖像影像。

圖 5-10 舉例說明動作定義、動作檔案與應用程式管理者視窗實際登錄之間的關係。

圖 5-10 應用程式圖像是應用程式群組中的一個檔案

Graphic

讀我檔案

桌上管理系統提供讀我資料類型,您可以將其用於您的應用程式的讀我檔案。使用這些命名習慣用法之一:

建立專用的前方面板控制

在大部分的情況中,您不需要提供前方面板的控制定義;使用者可以藉由將動作圖像定位於子面板中的安裝圖像控制來將應用程式增加至前方面板。

如果您想要使用者能夠安裝行為不同於動作圖像的控制,您可能需要為您的應用程式建立一個包含控制定義的前方面板配置檔案-例如,假設控制在被監視的檔案變更的同時監視一個檔案並變更外型。

前方面板配置檔案是放在 app_root/dt/appconfig/types/language 目錄中。命名習慣用法為 name.fp

如果您供應包含控制的配置檔案,使用者就可以藉由將 *.fp 檔案定位於子面板中的安裝圖像控制來將控制增加至子面板。

例如,以下定義可以放在應用程式群組中的前方面板配置檔案中。如果使用者將此檔案定位於子面板中的安裝圖像控制上,即在執行 BestTextEditor 應用程式的單一實例的子面板中建立控制。如果 BestTextEditor 已經在執行,視窗會移動至目前工作區中的視窗堆疊頂端。

CONTROL BestTextEditorControl 
	{      
		TYPE      icon
		ICON      BTEFPanel	  
		PUSH_RECALL    	True   
   CLIENT_NAME  	BTEd  
   PUSH_ACTION  	BTEditor  
		DROP_ACTION    	BTEditor   
   HELP_STRING   	start BestTextEditor application。  
 }

有關建立前方面板配置檔案的其它資訊,請參閱:

第 8 步:使用 dtappintegrate 註冊應用程式


註解 -

有關註冊應用程式的範例,請參閱 "建立註冊套裝軟體的範例" 的第 8 步。


只要您已在應用程式 root 之下建立註冊套裝軟體,您就已準備好可執行實際的應用程式註冊。

應用程式註冊建立註冊套裝軟體與位於沿著桌上管理系統搜尋路徑的目錄之間的連結(請參閱 "dtappintegrate 如何整合應用程式 ")。

如果要註冊具有 dtappintegrate 的應用程式

如果應用程式是智慧型桌上管理系統,dtappintegrate通常會自動以起始處理中的最後步驟來執行。如果它不是自動執行,或是如果您已建立配置檔案以整合非桌上管理系統智慧型應用程式,那麼您就可以人工執行 dtappintegrate

  1. 登入為 root。

  2. 執行指令:

    	/usr/dt/bin/dtappintegrate -s  app_root
    

    其中 app_root 為桌上管理系統應用程式的根目錄。有關更多的資訊,請參閱dtappintegrate(1) 線上援助頁。

  3. 開啟 Desktop_Tools 應用程式群組並連按兩下重新載入應用程式。

  4. 驗證已正確地註冊應用程式:

    1. 顯示應用程式管理者的頂層。新的應用程式群組應出現在應用程式管理者中。

    2. 開啟應用程式群組並連按兩下動作圖像。

dtappintegrate 的語法與選項

dtappintegrate -s app_root 
[-t target_path ] [-l language 
] [-u]

-s app_root

所需的參數,指定應用程式在其下安裝的應用程式 root。 

-t target_path

選擇性的參數,內定成系統位置 /etc/dt/appconfig。指定桌上管理系統配置檔案連接的位置。您必須使用在應用程式搜尋路徑上的位置。

-l 語言

選擇性的參數,內定成所有語言。指定語言相依的桌上管理系統配置檔案來整合。 

-u

選擇性的參數,取消整合應用程式,刪除所有在整合期間所設定的連結。 

dtappintegrate 如何整合應用程式

dtappintegrate 的功能是在安裝的檔案與桌上管理系統尋找配置檔案的位置之間設定連結。

動作與資料類型

dtappintegrate 從註冊套裝軟體中的動作與資料類型定義檔案起,建立象徵性連結至沿著動作資料庫輔助說明搜尋路徑的整個系統的目錄。其完成是藉由建立連結自

app_root/dt/appconfig/types/language/*.dt

/etc/dt/appconfig/types/language/*.dt

輔助說明資訊檔案

dtappintegrate 從註冊套裝軟體中的輔助說明檔案起,建立象徵性連結至沿著輔助說明搜尋路徑的整個系統的目錄。其完成是藉由建立連結自

app_root/dt/appconfig/help/language/help_file.sdl

/etc/dt/appconfig/help/language/help_file.sdl

圖像檔案

dtappintegrate 從註冊套裝軟體中的圖像檔案起,建立象徵性連結至沿著圖像搜尋路徑的整個系統的目錄。其完成是藉由建立連結自

app_root/dt/appconfig/icons/language/icon_files

/etc/dt/appconfig/icons/language/icon_files 

應用程式群組

如果要將應用程式的應用程式群組放在應用程式管理者的頂層中,dtappintegrate 會建立在註冊套裝軟體中的應用程式群組與沿著應用程式搜尋路徑的整個系統的位置之間的連結。其完成是藉由建立連結自目錄

app_root/dt/appconfig/appmanager/language/appgroup_name

/etc/dt/appconfig/appmanager/language/appgroup_name