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

定義前方面板控制

使用者可以藉由將圖像定位於「安裝圖像控制」上來建立個人控制。

當此動作個人控制提供簡易自訂性之時,其所提供的功能是「前方面板」控制能力的子集。例如,使用「安裝圖像控制」所建立的控制無法:

前方面板控制定義

「前方面板」控制定義的結構為:

CONTROL control_name  
{    
		TYPE	control_type    
		CONTAINER_NAME    
		CONTAINER_TYPE    
		定義 外觀與行為的其它欄位  
}

控制類型

控制定義中的 TYPE(類型) 欄位指定控制的基本行為。

控制類型

控制行為

圖像 (內定)。

當使用者按一下控制或於其上定位檔案時,控制將會執行指定的動作。

空白

用以調整控制的空間設定之位置保留符號。

工作中

進行燈。當調用動作時,控制會閃爍(切換影像)

客戶機

「前方面板」中的客戶機視窗。

時鐘

時鐘。

日期

顯示目前日期。

檔案

代表檔案。選擇執行檔案的內定動作之控制。

如果要建立新的控制

本節描述定義控制的一般步驟,以及描述如何建立各種類型的控制。

  1. 如果控制將會有 PUSH_ACTION 及/或 DROP_ACTION,請建立動作定義。這些是當使用者按一下控制或於其上定位檔案時所執行的動作。

  2. 建立控制的圖像影像檔案。

    有關圖像大小、名稱與位置的資訊,請參閱 "圖像影像檔案"

  3. 建立新的「前方面板」配置檔案於:

    • 整個系統的:/etc/dt/appconfig/types/language/*.fp

    • 個人的:HomeDirectory/.dt/types/*.fp

  4. 將控制定義增加至檔案。

  5. 儲存檔案。

  6. 從「工作區」功能表選擇「重新啟動工作區管理者」。

建立在按一下時執行動作的控制

使用這些欄位來定義控制的行為:

建立開啟檔案的控制

使用這些欄位來定義控制的行為:

建立作用如定位區域的控制

當使用者在控制上定位檔案時,使用 DROP_ACTION 欄位來指定執行的動作。動作必須要能夠接受檔案引數。

控制定義經常同時包括 PUSH_ACTIONDROP_ACTION 欄位。您可以使用相同的動作於放入與定位動作。

例如,位於「個人應用程式」子面板中的以下控制執行取得檔案引數的 X 客戶機 xwud

CONTROL Run_xwud
  { 
 	CONTAINER_NAME				PerAppsSubpanel
  	CONTAINER_TYPE				SUBPANEL
  	POSITION_HINTS				2
  	ICON							XwudImage
  	PUSH_ACTION					RunXwud
  	DROP_ACTION					RunXwud 
  }

建立監視檔案的控制

使用這些欄位來定義控制的行為:

建立一個實例的(切換)控制

一個實例的控制會檢查由 PUSH_ACTION 啟動的處理是否已經執行。如果處理未執行,則執行 PUSH_ACTION。如果處理已經執行,視窗會移動至目前工作區中視窗堆疊的頂端。

使用這些欄位來定義控制的行為:

如果要建立客戶機視窗控制

客戶機視窗控制是內含於「前方面板」中的應用程式視窗。例如,您可以藉由建立 xload 客戶機視窗控制將系統載入表放在「前方面板」中。

  1. 定義控制。

    使用這些欄位來定義控制的行為:

    • TYPE(類型): 設定至 客戶機

    • CLIENT_NAME: 指定要啟動的客戶機。

      CLIENT_NAME 的值必須符合應用程式頂層視窗上 WM_CLASS 屬性中的第一個字串(res_name)。有關更多的資訊,請參閱 xprop(1) 線上援助頁。

    • CLIENT_GEOMETRY: 指定「前方面板」視窗所需要的大小,以像素計算大小。

      xwininfo(1) 線上援助頁描述如何以像素找出視窗的大小。

  2. 從「工作區」功能表選擇「重新啟動工作區管理者」。

  3. 從終端機模擬器指令行啟動客戶機。

    例如,以下控制顯示 30\u00d720的像素載入表。

    CONTROL LoadMeter
     { 
     	TYPE							client
      	CONTAINER_NAME				Top
      	CONTAINER_TYPE				BOX
      	CLIENT_NAME					xload
      	CLIENT_GEOMETRY			30x20  
     }

    如果在階段作業之間未儲存與回復客戶機,您可能會想要配置控制以在使用者按一下時啟動客戶機。例如,您可以藉由將下行增加至定義來配置 LoadMeter 控制以啟動 xload

    PUSH_ACTION				StartXload

    以及建立動作:

    ACTION StartXload
     { 
     	WINDOW_TYPE				NO_STDIO
      	EXEC_STRING				/usr/contrib/bin/X11/xload  
     }

如果要使控制有生氣

當使用者選擇控制或於其上定位物件時,您可以附加要使用的動畫順序。

為了要有動畫順序,控制必須:

  1. 使用 ANIMATION(動畫) 元件來指定動畫順序:

    ANIMATION animation_name  
    	{  
    		ANIMATION	圖像1				[milisecond_delay]  
    		ANIMATION	圖像2				[milisecond_delay]  
    		...  
    	}

    其中 圖像1、圖像 2 等等是圖像的名稱,而 milisecond_delay 是以毫秒計算的動畫圖像之間的時間延遲。內定時間延遲為 200 毫秒。

  2. 增加 PUSH_ANIMATION 及/或 DROP_ANIMATION 欄位至控制定義。此值為 ANIMATION(動畫) 順序的名稱。

    例如,下列各行使啟動 BestEditor 應用程式的控制成為動畫。圖像之間的時間延遲是 300 毫秒。範例假定您已建立圖像檔案 frame1frame2 等等。

    CONTROL BestEditor 
     { 
     	...
      	PUSH_ANIMATION BestEdAnimation  
     	... 
     }
     ANIMATION BestEdAnimation 
     { 
     	frame1			300 
     	frame2  
     	...
     }

提供前方面板控制的關於項目輔助說明

提供控制的輔助說明有兩種方法: