Solaris 共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド

第 15 章 フロントパネル拡張機能のカスタマイズ

フロントパネルのポップアップ・メニューと、サブパネルのアイコンのインストール・コントロールを使用して、フロントパネルをカスタマイズできます。

この章では、構成ファイルの作成および編集によるフロントパネルのカスタマイズについて説明します。

フロントパネル構成ファイル

フロントパネルは、構成ファイルのデータベースで定義されます。

構成ファイルは、フロントパネルをカスタマイズする方法を提供します。次のような変更は、構成ファイルを編集しないと実行できません。

パネル構成に最大限の柔軟性を提供するため、構成ファイルは個人用、システム共通、または他のシステムに配置できます。

フロントパネルは、ワークスペース・マネージャによって作成および管理されます。

デフォルトのフロントパネル構成ファイル

デフォルトのフロントパネル構成ファイルは、フロントパネル構成ファイル /usr/dt/appconfig/types/language/dtwm.fp で定義されます。

このファイルは変更しないでください。

フロントパネル構成ファイルの検索パス

フロントパネル定義は、ローカルに位置するファイルやリモート・システムのファイルに分散できます。

フロントパネルの定義に使用するファイルは、次の要求事項を満たさなければなりません。

デフォルトのアクション・データベース検索パスには、次のディレクトリがあります。次の順番で検索されます。

個人用カスタマイズ — HomeDirectory/.dt/types

システム共通カスタマイズ — /etc/dt/appconfig/types/language

組み込みパネルおよびコントロール — /usr/dt/appconfig/types/language

追加のディレクトリ HomeDirectory/.dt/types/fp_dynamic は、ユーザ・インタフェースで行われる個人用カスタマイズに使用します。このディレクトリは、手動のカスタマイズには使用しないでください。

アクション・データベース検索パスに、システムをネットワーク用に構成するためにディレクトリを追加することもあります。特に、システムがアプリケーション・サーバにアクセスするよう構成する場合は、リモート位置が追加されます。詳細は、データベース (アクションとデータ型) 検索パスを参照してください。

フロントパネルの構成方法: 優先度規則

フロントパネルは、アクション・データベース検索パス上のすべての構成ファイルで作成されます。

定義のコンポーネントが競合する場合、どの定義を使用するかは優先度規則が決定します。次の場合、2 つのコンポーネントは競合します。

フロントパネルは、次の優先度規則を使用します。

動的に作成されたフロントパネル・ファイル

[アイコンのインストール] コントロールとポップアップ・メニューを使用してフロントパネルをカスタマイズすると、ファイルは HomeDirectory/.dt/types/fp_dynamic ディレクトリに書き込まれます。

フロントパネルは、追加のファイル HomeDirectory/.dt/sessions/dtwmfp.session を作成します。このファイルは、カスタマイズしたフロントパネルの状態をセッションごとに保存および復元するのに使用します。

ユーザ・インタフェースのカスタマイズの管理

フロントパネルのコントロールのポップアップ・メニューと [アイコンのインストール] コントロールを使用して、フロントパネルを大規模にカスタマイズできます。

この節では次のことを説明します。

個人用カスタマイズを回避するには

  1. コントロールが組み込みコントロールの場合は、定義を /usr/dt/appconfig/types/language/dtwm.fp から /etc/dt/appconfig/types/language/name.fp へコピーします。

  2. 次の行をコントロール定義に追加します。

       LOCKED   True

削除されたコントロールまたはサブパネルを復元するには

[デスクトップツール] アプリケーション・グループの [フロントパネルの復元] アクションは、ユーザ・インタフェースで行われたフロントパネルのカスタマイズをすべて削除します。このアクションを使用して、フロントパネルのポップアップ・メニューで行なった個人用カスタマイズをすべて削除できます。

個々のコントロールを復元するには、次の手順に従ってください。

    HomeDirectory/.dt/types/fp_dynamic ディレクトリで、コントロールを削除したときに作成されたファイルを削除します。コントロールは、削除された元のコントロールと同じ名前になります。

たとえば、アイコン・エディタ・コントロールを削除した場合、fp_dynamic ディレクトリのファイルの内容は次のようになります。

CONTROL IconEditor
{
	  …
  DELETE   True
	}

サブパネルを削除すると、そのサブパネルとサブパネルの各コントロールに対して、別の動的ファイルが作成されます。

フロントパネル定義の構成

フロントパネルは、フロントパネルのコンポーネントの定義を集めて構築されます。各コンポーネントは、フロントパネル上のコンポーネントの配置と、コンポーネントの外観および動作を定義する構文が必要です。

フロントパネル・コンポーネント

図 15–1 フロントパネルのコンポーネント

Graphic

フロントパネルは、次のように構成されます。

特別なコンテナは 2 種類あります。

フロントパネル定義の一般的な構文

フロントパネルの各コンポーネントは、次の構文を使用して別々に定義されます。

COMPONENT name
{
  KEYWORD       value
  KEYWORD       value
  …
 }

キーワードには、必須なものと省略可能なものがあります。詳細は、dtfpfile(4X) のマニュアル・ページを参照してください。

パネル定義

パネルはトップレベルのコンポーネントです。定義には次のものが含まれます。

front_panel_name は、フロントパネルに固有の名前です。デフォルトは「FrontPanel」です。

ボックス定義

ボックス定義には次のものが含まれます。

コントロール定義

コントロール定義には次のものが含まれます。

サブパネル定義

サブパネル定義には次のものが含まれます。

スイッチ定義

スイッチ定義には次のものが含まれます。

メイン・パネルの変更

メイン・パネルは、サブパネルを除くフロントパネルのウィンドウです。

図 15–2 メイン・パネルのコンテナ

Graphic

次の変更を実行できます。

メイン・パネルにコントロールを追加するには

  1. フロントパネル構成ファイルを作成します。

    • システム共通: /etc/dt/appconfig/types/language/*.fp

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

  2. ファイルにコントロールを定義します。

    コントロールのコンテナを指定するために、CONTAINER_NAME フィールドと CONTAINER_TYPE フィールドを使用します。

       CONTAINER_NAME  Top
    CONTAINER_TYPE  BOX

    コントロールの配置を左から右へ指定するために POSITION_HINTS を使用します。カスタマイズは組み込みコントロールに優先するので、新しいコントロールが入ると、同じ位置にあった既存のコントロールは 1 つずつ右へずれます。

  3. 構成ファイルを保存します。

  4. フロントパネル・コントロールのアイコンを作成します。

    詳細は、コントロールが使用するアイコンの指定を参照してください。

  5. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

たとえば、ファイル /etc/dt/appconfig/types/language/audio.fp にある次のコントロール定義は、オーディオ・アプリケーションのコントロールを [時計] と [カレンダ] コントロールの間に挿入します。

CONTROL AudioApplication
 {
  TYPE             icon
  CONTAINER_NAME   Top
  CONTAINER_TYPE   BOX
  ICON             AudioApp
  POSITION_HINTS   2
  PUSH_ACTION      StartAudioApplication
  PUSH_RECALL      true
 }

コントロールを削除するには

  1. フロントパネル構成ファイルを作成します。

    • システム共通: /etc/dt/appconfig/types/language/name.fp

    • 個人用: HomeDirectory/.dt/types/name.fp

  2. 削除するコントロールの定義を新しいファイルにコピーします。

    削除するコントロールが組み込みの場合、定義は次のファイルにあります。

    /usr/dt/appconfig/types/language/dtwm.fp

    定義全体をコピーする必要はありませんが、必ず CONTAINER_NAMECONTAINER_TYPE のフィールドを含む範囲をコピーしてください。

  3. 定義に DELETE フィールドを追加します。

       DELETE			True
  4. 構成ファイルを保存します。

  5. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

たとえば、ファイル /etc/dt/appconfig/types/language/TrashCan.fp にある次のコントロール定義は、[ごみ箱] コントロールを削除します。

CONTROL Trash
 {
  CONTAINER_NAME  Top
  CONTAINER_TYPE  BOX
  DELETE          True
 }

コントロールを変更するには

コントロール定義を変更する必要がある場合 (たとえばアイコン・イメージを変更する場合など) は、次の手順を実行します。

  1. コントロール定義全体を /usr/dt/appconfig/types/language/dtwm.fp から次のファイルにコピーします。

    • システム共通: /etc/dt/appconfig/types/language/name.fp

    • 個人用: HomeDirectory/.dt/types/name.fp

  2. 変更するフィールドを編集します。フィールドを追加することもできます。

  3. ファイルを保存します。

  4. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

コントロールの位置を交換するには

  1. 位置を変更するコントロールの定義を /usr/dt/appconfig/types/language/dtwm.fp から次のファイルにコピーします。

    • システム共通: /etc/dt/appconfig/types/language/name.fp

    • 個人用: HomeDirectory/.dt/types/name.fp

    移動するコントロールごとに、コントロール定義全体をコピーしなければなりません。

  2. コントロール定義の POSITION_HINTS フィールドの値を交換します。

  3. ファイルを保存します。

  4. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

たとえば、ファイル /etc/dt/appconfig/types/C/MailHelp.fp にある次のコントロール定義は、[メール] と [ヘルプ・マネージャ] のコントロールの位置を交換し、それらのコントロールを個人の変更に対してロックします。

CONTROL Mail
 {
 	POSITION_HINTS					12
 	LOCKED							True
 	…その他のコントロール定義
 }
CONTROL Help
 {
 	POSITION_HINTS					5
 	LOCKED							True
 	…その他のコントロール定義
 }

フロントパネル・コントロールを交換するには

    次のものを同じにして、別のコントロール定義を作成します。

    • control_name

    • CONTAINER_NAME value

たとえば、次の 2 つのコントロールは異なる 2 つの構成ファイルで定義されます。これらのコントロールはコントロール名とコンテナ名が同じなので、同一コントロールと見なされます。

個人用コントロールが優先するので、コントロールは位置 6 に配置されます。

コントロールが使用するアイコンの指定

コントロール定義の ICON フィールドは、コントロールが使用するアイコン・イメージを定義します。

ICON フィールドの値は、次のいずれかになります。

アイコン・ファイルを次のいずれかに配置します。

サブパネルの作成と変更

フロントパネルのポップアップ・メニューを使用して、サブパネルを作成および変更できます。

この節では、システム共通のカスタマイズの方法を説明します。カスタマイズするには、フロントパネル構成ファイルを変更する必要があります。

サブパネルは、メイン・パネル内のコントロールに「接続」されています。

図 15–3 サブパネルのコンテナ (サブパネルが接続されているコントロール)

Graphic

接続は、サブパネルの定義で行われます。CONTAINER_NAME フィールドは、サブパネルが接続されるコントロールを指定します。

CONTROL control_name
{
    …
 }

SUBPANEL subpanel_name
{
 	CONTAINER_NAME 					control_name
 	…
 }

新しいシステム共通サブパネルを作成するには

  1. メイン・パネル上の、サブパネルを接続するコントロールの control_name を検出します。

    コントロールが組み込みの場合、定義は次のファイルにあります。

    /usr/dt/appconfig/types/language/dtwm.fp

  2. 新しいファイル /etc/dt/appconfig/types/language/*.fp を作成します。

  3. サブパネルを定義します。

       SUBPANEL subpanel_name
        {
          CONTAINER_NAME			control_name
          TITLE			value
          KEYWORD			value
          …
        }
  4. 新しい構成ファイルを保存します。

  5. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

組み込みサブパネルのカスタマイズ

組み込みサブパネルの一般的な属性 (タイトルなど) と内容を変更できます。

組み込みサブパネルの一般的な属性を変更するには

  1. 新しいフロントパネル構成ファイルを作成します。

    • システム共通: /etc/dt/appconfig/types/language/name.fp

    • 個人用: HomeDirectory/.dt/types/name.fp

  2. デフォルトのサブパネル定義全体を /usr/dt/appconfig/types/language/dtwm.fp から新しいファイルへコピーします。

       SUBPANEL   subpanel_name
        {
          …
        }
  3. サブパネル定義を変更します。

  4. 新しい構成ファイルを保存します。

  5. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

たとえば、ファイル /users/janice/.dt/types/PerApps.fp にある次の定義は、[個人アプリケーション] サブパネル名を変更します。

SUBPANEL PersAppsSubpanel
 {
 	CONTAINER_NAME					TextEditor
 	TITLE								Janice's Applications
 }

組み込みサブパネルにシステム共通コントロールを追加するには

  1. フロントパネル構成ファイル /etc/dt/appconfig/types/language/name.fp を作成します。

  2. システム共通コントロールをファイルに定義します。

    コントロールのコンテナを指定するために、CONTAINER_NAME フィールドと CONTAINER_TYPE フィールドを使用します。

       CONTROL control_name
        {
          CONTAINER_NAME					subpanel_name
          CONTAINER_TYPE					SUBPANEL
          …
        }

    詳細は、フロントパネル・コントロール定義を参照してください。

  3. 構成ファイルを保存します。

  4. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

たとえば、新しいファイル /etc/dt/appconfig/types/language/DigitalClock.fp に定義された次のコントロールは、( [デスクトップツール] アプリケーション・グループの) [デジタル時計] を、すべてのユーザの [個人アプリケーション] サブパネルに追加します。

CONTROL DigitalClockControl
 {
 	TYPE						icon
 	CONTAINER_NAME			PerAppsSubpanel
 	CONTAINER_TYPE			SUBPANEL
 	ICON						Dtdgclk
 	PUSH_ACTION				DigitalClock
 	PUSH_RECALL				True
 }

組み込みサブパネルからコントロールを削除するには

    メイン・パネルのコントロールを削除する方法と同じです。詳細は、コントロールを削除するにはを参照してください。

アイコンのインストールのコントロールを削除するには

    次のフィールドをサブパネル定義に追加します。

   CONTROL_INSTALL					False

サブパネルの自動的に閉じる動作を変更するには

デフォルトでは、サブパネルを元の位置から移動していない限り、コントロールを選択するとサブパネルも閉じます。

次の手順で、サブパネルを明示的に閉じるまでサブパネルを開いておくようにフロントパネルを構成できます。

  1. フロントパネル構成ファイルを作成します。

    • システム共通: /etc/dt/appconfig/types/language/*.fp

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

  2. デフォルトのパネル定義を /usr/dt/appconfig/types/language/dtwm.fp から新しいファイルへコピーします。

       PANEL FrontPanel
        {
          …
        }
  3. 次のフィールドをパネル定義に追加します。

       SUBPANEL_UNPOST    False
  4. 新しい構成ファイルを保存します。

  5. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

フロントパネル・コントロール定義

アイコンを [アイコンのインストール] コントロールにドロップすることで、個人用のコントロールを作成できます。

この方法によって簡単にカスタマイズできますが、提供される機能はフロントパネル・コントロールの機能のサブセットになります。たとえば、[アイコンのインストール] コントロールを使用して作成されたコントロールでは、次の作業は実行できません。

この節では、手動でフロントパネル・コントロールを作成する方法を説明します。

フロントパネル・コントロールの構文については、dtfpfile(4X) のマニュアル・ページを参照してください。

フロントパネル・コントロール定義

フロントパネル定義の構造は次のとおりです。

CONTROL control_name
{
  TYPE            control_type
  CONTAINER_NAME  value
  CONTAINER_TYPE  value
  外観と動作を定義している他のフィールド
}

コントロールの型

コントロール定義の TYPE フィールドは、コントロールの基本的な動作を指定します。

TYPE フィールド 

コントロールの動作 

icon

(デフォルト) コントロールは、コントロールをクリックするかファイルをコントロール上にドロップすると、指定されたアクションを実行します。 

blank

コントロールの間隔を調節するためのプレースホルダ

busy

ビジー・ライト。アクションが起動されると、コントロールが点滅します (イメージを切り替えます)。 

client

フロントパネルのクライアント・ウィンドウ

clock

時計

date

現在の日付を表示します。

file

ファイルを表します。コントロールを選択すると、ファイルのデフォルト・アクションを実行します。

新しいコントロールを作成するには

この節では、コントロールを定義する一般的な手順と、さまざまな型のコントロールの作成方法を説明します。

  1. コントロールに PUSH_ACTIONDROP_ACTION のいずれかが関連付けられている場合は、アクション定義を作成します。

    これらは、コントロールをクリック、またはファイルをコントロール上にドロップすると実行されるアクションです。

  2. コントロールのアイコン・イメージ・ファイルを作成します。

    アイコンのサイズ、名前、および位置については、アイコン・イメージ・ファイルを参照してください。

  3. 新しいフロントパネル構成ファイルを作成します。

    • システム共通: /etc/dt/appconfig/types/language/*.fp

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

  4. ファイルにコントロール定義を追加します。

  5. ファイルを保存します。

  6. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

クリックするとアクションを実行するコントロールの作成

コントロールの動作を定義するには、次のフィールドを使用します。

たとえば、[個人アプリケーション] サブパネルに入る次のコントロールは、ユーザが獲得したゲームを実行します。

CONTROL Ball
 {
 	TYPE							icon
 	CONTAINER_NAME				PersAppsSubpanel
 	CONTAINER_TYPE				SUBPANEL
 	ICON							ball
 	PUSH_ACTION					RunBallGame
 	HELP_STRING					"Choose this control to play Ball."
 }

次のコントロールは、スイッチの左上隅に配置されます。このコントロールは、CutDisp という名前のアクションを起動します。

CONTROL StartCutDisp
 {
   TYPE							icon
   CONTAINER_NAME			Switch
   CONTAINER_TYPE			SWITCH
   POSITION_HINTS			first
   ICON							cutdisp
   HELP_STRING				"Choose this control to run cutdisp."
   PUSH_ACTION				CutDisp
 }

ファイルを開くコントロールの作成

コントロールの動作を定義するには、次のフィールドを使用します。

ファイルのデータ型に Open アクションが定義されていなければなりません。

たとえば、次のコントロールはメイン・パネルの右側奥に配置されます。このコントロールは、テキスト・エディタをデータファイル /users/ellen/PhoneList.txt で起動します。*.txt ファイルの Open アクションは、デフォルト・アクション・データベースの一部です。

CONTROL EditPhoneList
 {
 	TYPE                   file
 	FILE_NAME					/users/ellen/PhoneList.txt
 	CONTAINER_NAME         Top
 	CONTAINER_TYPE         BOX
 	POSITION_HINTS         last
 	ICON                   PhoneBook
 	HELP_STRING            "This control displays Ellen's phone list."
 	PUSH_ACTION            Open
 }

ドロップ領域として動作するコントロールの作成

ファイルをコントロール上にドロップしたときに実行されるアクションは、DROP_ACTION フィールドに指定します。このアクションは、ファイル引き数を受け取れなければなりません。

コントロール定義に PUSH_ACTION フィールドと DROP_ACTION フィールドの両方を含む場合が多いです。同じアクションをプッシュ&ドロップ・アクションに使用できます。

たとえば、[個人アプリケーション] サブパネルにある次のコントロールは、ファイル引き数を受け取る X クライアント xwud を実行します。

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

ファイルを監視するコントロールの作成

コントロールの動作を定義するには、次のフィールドを使用します。

たとえば、次のコントロールは、anonymous ftp を使用して自分のシステムに転送されることになっている、meetings という名前のファイルの有無を確認します。このコントロールは、[個人アプリケーション] サブパネルの一番上に配置されます。

CONTROL MonitorCalendar
 {
 	TYPE							file
 	CONTAINER_NAME				PersonalApps
 	CONTAINER_TYPE				SUBPANEL
 	POSITION_HINTS				first
 	FILE_NAME					/users/ftp/meetings
 	MONITOR_TYPE				file
 	ICON							meetingsno
 	ALTERNATE_ICON				meetingsyes
 }

1 インスタンス (切り替え) コントロール

1 インスタンス・コントロールは、PUSH_ACTION によって起動されたプロセスがすでに実行中かどうかをチェックします。プロセスが実行中でない場合は、PUSH_ACTION が実行されます。プロセスが実行中の場合は、ウィンドウが現在のワークスペースのウィンドウの重なりの一番上に移動します。

コントロールの動作を定義するには、次のフィールドを使用します。

たとえば次のコントロールは、MyEditor という名前のアクションを持つアプリケーションのインスタンスを 1 つ実行します。

CONTROL MyEditor
 {
 	TYPE							icon
 	CONTAINER_NAME				Top
 	CONTAINER_TYPE				BOX
 	POSITION_HINTS				15
 	PUSH_RECALL					True
 	CLIENT_NAME					BestEditor
 	PUSH_ACTION					StartMyEditor
 	ICON							MyEd
 }

クライアントのウィンドウ・コントロールを作成するには

クライアント・ウィンドウ・コントロールは、フロントパネルにはめ込まれたアプリケーション・ウィンドウです。たとえば、xload クライアントのウィンドウ・コントロールを作成することで、システム負荷メータをフロントパネルに入れることができます。

  1. コントロールを定義します。

    コントロールの動作を定義するには、次のフィールドを使用します。

    • TYPEclient に設定します。

    • CLIENT_NAME — 起動するクライアントを指定します。

      CLIENT_NAME の値は、アプリケーションのトップレベル・ウィンドウの WM_CLASS 属性の一番目の文字列 (res_name) に一致しなければなりません。詳細は、xprop(1) のマニュアル・ページを参照してください。

    • CLIENT_GEOMETRY — クライアントのフロントパネル・ウィンドウで必要なサイズをピクセル単位で指定します。

      xwininfo(1) のマニュアル・ページで、ピクセル単位のウィンドウ・サイズを調べる方法を説明しています。

  2. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

  3. 端末エミュレータのコマンド行からクライアントを起動します。

たとえば、次のコントロールは 30x20 ピクセルの負荷メータを表示します。

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]
     		…
        }

    icon1icon 2 は、アイコン名で、milisecond_delay は、アニメーション・アイコン間のミリ単位の遅延時間です。デフォルトの遅延時間は 200 ミリ秒です。

  2. PUSH_ANIMATION フィールドと DROP_ANIMATION フィールド、またはそのどちらかをコントロール定義に追加します。値は ANIMATION シーケンス名です。

たとえば次の行は、BestEditor アプリケーションを起動するコントロールをアニメーション化します。アイコン間の遅延時間は 300 ミリ秒です。この例では、アイコン・ファイル frame1frame2 などを作成してあると想定しています。

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

フロントパネル・コントロールのアイテムヘルプを提供する

コントロールにヘルプを提供するには、次の 2 つの方法があります。

ワークスペース・スイッチのカスタマイズ

ワークスペース・スイッチをカスタマイズするには、次のいくつかの方法があります。

ワークスペースのデフォルト数を変更するには

    次のワークスペース・マネージャ・リソースを変更します。

   Dtwm*workspaceCount:						n

詳細は、システム共通ベースのワークスペース数を変更するにはを参照してください。

スイッチの列の数を変更するには

    SWITCH 定義の NUMBER_OF_ROWS フィールドを変更します。

たとえば、次の例は 3 列のスイッチを定義します。

SWITCH Switch
 {
 	CONTAINER_NAME				box_name
 	NUMBER_OF_ROWS				3
   …
 }

ワークスペース・スイッチのコントロールを変更および追加するには

  1. フロントパネル構成ファイルをコントロール定義とともに作成します。

    • コントロールをスイッチの内側に指定します。

        CONTAINER_NAME   Switch
      CONTAINER_TYPE   SWITCH
    • スイッチ内での位置を指定します。

            POSITION_HINTS    n
      

      n は整数です。位置は左から右、上から下の順に番号が付けられています (デフォルトの 2 列スイッチの場合、位置は 1 〜 4 です)。

  2. コントロールのアイコンを作成します。16x16 ピクセルのサイズを推奨します。

たとえば次のコントロールは、スイッチに端末エミュレータ・コントロールを入れます。

	CONTROL SwitchTerminal  
{    
	TYPE                  icon    
	CONTAINER_NAME        Switch    
	CONTAINER_TYPE        SWITCH    
	POSITION_HINTS        3    
	ICON                  Fpterm    
	LABEL                 Terminal    
	PUSH_ACTION           Dtterm    
	HELP_TOPIC            FPOnItemTerm    
	HELP_VOLUME           FPanel  
}

このコントロールは、組み込みアイコンと、[個人アプリケーション] サブパネルの端末エミュレータ・コントロールが使用するのと同じヘルプ・トピックを使用します。

一般的なフロントパネルの構成

フロントパネルのパネル構文により、次の作業を実行できます。

デフォルトのパネルの記述は、/usr/dt/appconfig/types/language/dtwm.fp にあります。

その他の詳しい情報については、dtfpfile(4X) のマニュアル・ページを参照してください。

一般的な手順

  1. 新しいフロントパネル構成ファイルを /etc/dt/appconfig/types/language または HomeDirectory/.dt/types に作成します。

  2. デフォルトのパネルの記述を /usr/dt/appconfig/types/language/dtwm.fp から新しいファイルにコピーします。

  3. パネルの記述を編集します。

新しいパネルの記述はデフォルトに優先します。

デフォルトのフロントパネル位置を変更するには

    位置を指定するには、パネル定義の PANEL_GEOMETRY フィールドを使用します。

たとえば、次のパネルは右上隅にあります。

PANEL SpecialFrontPanel
 {
   PANEL_GEOMETRY      -1+1
   …
 }

メイン・パネルのコントロールにラベルを付けるには

  1. パネル定義に次の行を追加します。

       DISPLAY_CONTROL_LABELS   True
  2. 各コントロールに LABEL フィールドを追加します。

LABEL が指定されていない場合は、control_name を使用します。

コントロールのクリック動作を変更するには

    コントロールの PUSH_ACTION を実行する方法を指定するには、パネル定義の CONTROL_BEHAVIOR フィールドを使用します。

    single_click — コントロールをクリックして PUSH_ACTION を実行します。

    double_click — コントロールをダブルクリックして PUSH_ACTION を実行します。

新しいフロントパネルを作成するには

フロントパネルを大幅に変更する場合は、新しく作成した方がよいでしょう。

組み込みのフロントパネル・コンポーネントとの競合を避けるために、新しいフロントパネルでは、パネルとその他のコンテナに新しい名前を付けてください。

  1. 新しいフロントパネル用のパネル・コンポーネントを作成します。固有の名前を指定します。

       PANEL front_panel_name
        {
          …
        }
  2. 新しいコンテナ名を使用して、新しいボックスとコントロールを作成します。

    既存のコンポーネントを使用する場合は、それらの定義をコピーしてから CONTAINER_NAME の値を変更する必要があります。

  3. ワークスペース・メニューから [ワークスペースマネージャの再起動] を選択します。

3 列の個人用フロントパネルの作成例

次の例では、デフォルトのフロントパネルを、コントロールが 3 列になるように変更します。

  1. /usr/dt/appconfig/types/language/dtwm.fpHomeDirectory/.dt/types/MyFrontPanel.fp にコピーします。ファイルに書き込み権を与えます。

    このファイルを編集して、新しいフロントパネルを提供します。

  2. フロントパネル名を変更します。

       PANEL NewFrontPanel
  3. Top という名前のボックス名を変更し、そのコンテナ名を編集します。

       BOX NewFrontPanelTop
        {
          CONTAINER_NAME					NewFrontPanel
          POSITION_HINTS					first
          … 
        }
  4. 中段と下段のボックス定義を追加します。

       BOX NewFrontPanelMiddle
        {
          CONTAINER_NAME						NewFrontPanel
          POSITION_HINTS						second
        }
       BOX NewFrontPanelBottom
        {
          CONTAINER_NAME						NewFrontPanel
          POSITION_HINTS						second
        }
  5. 次のコントロールの CONTAINER_NAMENewFrontPanelTop に変更します。

    • Clock (時計)

    • Date (カレンダ)

    • Home (ホーム・フォルダ)

    • TextEditor (テキストエディタ)

    • Mail (メール)

  6. 次のコントロールの CONTAINER_NAMENewFrontPanelBottom に変更します。

    • Printer (デフォルト)

    • Style (デスクトップ・スタイル)

    • Applications (アプリケーション)

    • Help (ヘルプ・マネージャ)

    • Trash (ごみ箱)

  7. Switch (スイッチ) の CONTAINER_NAMENewFrontPanelMiddle に変更します。

  8. ワークスペース・メニューの [ウィンドウ] サブメニューから [ワークスペースマネージャの再起動] を選択します。