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

定義前方面板控制

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

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

前方面板控制定義

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

CONTROL(控制) control_name
 {
   TYPE            control_type
   CONTAINER_NAME  value
   CONTAINER_TYPE  value
   other fields defining appearance and behavior
 }

控制類型

控制定義中的 TYPE 欄位指定控制的基本行為。

控制類型

控制行為

icon (預設值)。

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

blank

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

busy

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

client

「前方面板」中的用戶端視窗。

clock

時鐘。

date

顯示目前日期。

file

代表檔案。選擇執行檔案的預設動作之控制。

建立新的控制

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

  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

    • 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	icon1				[milisecond_delay]  
    		ANIMATION	icon2				[milisecond_delay]
     		…
     	}

    icon1、icon2 等等是圖示的名稱,而 milisecond_delay 是以毫秒計算的動畫圖示之間的時間延遲。預設時間延遲為 200 毫秒。

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

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

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

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

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