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

第 10 章 アクションとデータ型の概要

「アクション」と「データ型」は、アプリケーションをデスクトップへ統合するときに非常に役立つコンポーネントです。アプリケーションの起動とデータ・ファイルの処理を行うユーザ・インタフェースを作成する方法を提供します。

この章では、アクションとデータ型の概念を説明します。次の項目について説明します。

アクションとデータ型を作成するときの手順と規則については、このマニュアルの次の 3 つの章で説明しています。

アクションの概要

アクションは、アプリケーションの実行やデータ・ファイルを開くなど、自動化されたデスクトップのタスクを書いた命令です。アクションは、アプリケーション・マクロまたはプログラミング関数とよく似た動作をします。各アクションには、アクションを実行するのに使用するための名前があります。

一度アクションを定義すると、デスクトップ・ユーザ・インタフェースに適用されるので、タスクを実行しやすくなります。デスクトップは、アイコン、フロントパネル・コントロール、アクションに対するメニュー項目などのユーザ・インタフェース・コンポーネントに接続する機能を提供します。

たとえば、アプリケーション・マネージャの [デスクトップツール] アプリケーション・グループには、さまざまなユーティリティを起動するアイコンがあります。

図 10–1 [デスクトップツール] アプリケーション・グループのアクション・アイコン

Graphic

これらのアイコンをダブルクリックすると実行できます。次に例として、[Xwd 表示] というラベルの付いたアイコンをダブルクリックしたときにアクションを実行するという定義の一部を示します。アクションの定義は構成ファイル /usr/dt/appconfig/types/language/xclients.dt にあります。

ACTION Xwud
 {
 	LABEL				Xwd Display
 	TYPE				COMMAND
 	EXEC_STRING		/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Xwd File To Display:"%
 	…
 }

アイコンをダブルクリックすると、アクションの EXEC_STRING フィールドにあるコマンドが実行されます。

フロントパネルもアクションを使用します。次に例として、[個人アプリケーション] サブパネルの [端末エミュレータ] というラベルの付いたコントロールの定義の一部を示します。コントロールの定義は、構成ファイル /usr/dt/appconfig/types/language/dtwm.fp にあります。

CONTROL Term
 {
 	ICON				Fpterm
 	LABEL				Terminal
 	PUSH_ACTION		Dtterm
 	…
 }

PUSH_ACTION フィールドは、コントロールをクリックすると実行されるアクション (ここでは Dtterm という名前のアクション) を指定します。

他のアクションの使用方法としては、メニューで使用する方法があります。通常、データ・ファイルでは、ファイル・マネージャの [選択] メニューにアクションがあります。たとえば XWD ファイル (.xwd または .wd で終わる名前のファイル) には、Xwud アクションを実行することによって画面イメージを表示する [開く] アクションがあります。

図 10–2 データ型 XWD のファイルの [開く] アクション

Graphic

[選択] メニューのアクションは、XWD ファイルのデータ型定義で指定されます。定義は、構成ファイル /usr/dt/appconfig/types/language/xclients.dt にあります。

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Open,Print
 	ICON				Dtxwd
 	…
 }

XWD データ型と、それに関連する [開く] および [印刷] アクションは、データ型によるデータ・ファイルのアクションへの接続方法で説明します。

アクションによるアプリケーション用アイコンの作成方法

[デスクトップツール] アプリケーション・グループには [Xwd 表示] があります。このアイコンをダブルクリックすると、X クライアントの xwud が実行されます。ただし、このアイコンは実際の xwud の実行可能ファイル /usr/bin/X11/xwud を示すわけではありません。

同じディレクトリに Xwud というファイルがあるので、アプリケーション・グループに [Xwd 表示] というラベルが付いたアイコンが表示されます (図 10–3参照)。このファイルは、基本となるアクションを同じ名前、つまり Xwud で示します。アクション定義では、アクション名はキーワード ACTION に続く名前です。

ACTION Xwud
 {
 	LABEL                Xwd Display
 	TYPE                 COMMAND
 	WINDOW_TYPE          NO_STDIO
 	EXEC_STRING          /usr/bin/X11/xwud -noclick -in \
 	                     %(File)Arg_1"Xwd File To Display:"%
 	DESCRIPTION          The Xwd Display (Xwud) XwdDisplay action \
 	                     displays an xwd file that was created using the \
 	                     Xwd Capture (Xwd) action. It uses \
 	                     the xwud command.
 }

ファイルは、アクションを示すので「アクション・ファイル」と呼びます。ファイルがアクションと同じ名前の実行可能ファイルの場合は、アクション・ファイルです。アプリケーション・マネージャ (またはファイル・マネージャ) にあるアイコンは、「アクション・アイコン」、またはダブルクリックするとアプリケーションが起動するので「アプリケーション・アイコン」と呼びます。

図 10–3 アクション・ファイルを示すアプリケーション (アクション)・アイコン

Graphic

アプリケーション・マネージャは実行可能ファイルを検出すると、アクション・データベースを検索して、ファイル名と一致する名前のアクションがあるかどうか調べます。一致するファイルがある場合、アプリケーション・マネージャは、そのファイルがアクション・ファイルであると認識します。

アクション・ファイルの内容は関連ありません。通常、アクション・ファイルには、デスクトップ関数を説明するコメントがあります。


注 –

「アクション・ファイル」は「アクション定義ファイル」とは異なります。「アクション・ファイル」は、アクションと同じ名前を持つファイルです。ファイル・マネージャまたはアプリケーション・マネージャの「アプリケーション・アイコン」の作成に使用します。「アクション定義ファイル」は、アクションの定義が入った name.dt という名前のファイルです。


ファイルがアクション・ファイルであることをデスクトップが判別すると、基本となるアクション定義がアクション・ファイルの外観と動作の定義に使用されます。

図 10–4 アクション定義の ICON フィールドで指定したアイコン・イメージ

Graphic

Xwud アクションは、実行するコマンド (EXEC_STRING) が定義に含まれているため、「コマンド」アクションと呼びます。アクション定義の TYPE フィールドは、アクション型を定義します。

最初に、[Xwd 表示] アイコンは [デスクトップツール] アプリケーション・グループに表示されます。ただし、書き込み権がある場合は、任意のディレクトリにアクション・アイコンのコピーを作成できます。Xwud アクション定義がデータベースの一部である間は、Xwud と名付けて作成した実行可能ファイルは、アクションを示すアクション・ファイルとなります。ファイル・マネージャまたはアプリケーション・マネージャのアイコンは、アクションを実行するのに使用されます。

アクションがデータ・ファイルを引き数として使用する方法

コマンドの「引き数」は、コマンドを動作させるためのもので、通常はファイルです。アクションは、ファイル引き数を受け取るように記述できます。

たとえば、Xwud アクションの EXEC_STRING は、ファイル引き数が必須であることを指定します。

EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Xwd File To Display:"%

Arg という用語は「引き数」を意味します。構文 Arg_1 は最初の引き数であること、(File) はアクションが引き数をファイルとして処理することを意味します。

ファイル引き数を指定するのに最も簡単な方法は、データ・ファイルをアプリケーション・アイコンにドロップすることです。デスクトップはドロップされたファイルのパスを判別し、コマンド行の % 記号の間のテキストの位置 (%(File)Arg_1"Xwd File To Display:"%) にパスを置き換えます。したがって、実行されるコマンドは次のとおりです。

/usr/bin/X11/xwud -noclick -in file_path

アプリケーション・アイコンをダブルクリックすると、デスクトップは EXEC_STRING からファイル引き数が必須であることを判断し、ファイル名またはパスを入力するようダイアログ・ボックスでプロンプトします。Xwud アクションの場合、プロンプトは次のとおりです。

Xwd File To Display:

ユーザが指定するファイル名またはパスをファイル引き数として使用します。

アクションのその他の使い方

アプリケーションの起動の他に、アクションは次のような機能を作成するためにデスクトップで使用します。

データ型の概要

新規データ・ファイルを作成した場合、ファイル・マネージャのファイルアイコン外観と動作は、作成したデータ・ファイルの型によって異なります。ファイルとディレクトリの外観および動作をカスタマイズするこの機能は、デスクトップのデータ型作成機能によって提供されます。

データ型とは何か

データ型は、デスクトップ・データベース内で定義される構造です。次に例として、XWD データ型の定義を示します。定義は、構成ファイル /usr/dt/appconfig/types/language/xclients.dt にあります。

DATA_ATTRIBUTES XWD
 {
 	ACTIONS          Open,Print
 	ICON             Dtxwd
 	NAME_TEMPLATE	   %s.xwd
 	MIME_TYPE        application/octet-stream
 	SUNV3_TYPE       xwd-file
 	DESCRIPTION      This file contains a graphics image in the XWD \
 	                 format. These files are typically created by \
 	                 taking snapshots of windows using the XwdCapture \
 	                 action. Its data type is named XWD. XWD files \
 	                 have names ending with `.xwd' or `.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
 }

それぞれのデータ型定義には、次の 2 つの部分があります。

DATA_ATTRIBUTES — データ型の外観と動作を説明します。

DATA_CRITERIA — そのデータ型に属するファイルをカテゴリに分類するための (命名および内容に関する) 規則を指定します。

DATA_ATTRIBUTES_NAME フィールドは、条件を属性に接続します。

1 つの DATA_ATTRIBUTE に対して複数の DATA_CRITERIA が存在することも可能です。たとえば XWD データ型には、.xwd または .wd で終わる名前という 2 つの異なる命名条件 (NAME_PATTERN) を指定する 2 つの基準があります。

データ型によるデータ・ファイルのアクションへの接続方法

XWD データ型を想定してください。ファイルに 2 つのファイル名拡張子 .xwd または .wd のいずれかを指定することにより、XWD 型のファイルを作成します。デスクトップは、その型のファイルを設計するための「基準」としてファイル名を使用します。

XWD データ型は、次の内容を備えるデータ型の各ファイルを提供します。

[選択] メニューからのアクションの実行

ファイル・マネージャの [選択] メニューは、ファイルまたはディレクトリが選択された場合にのみ使用できます。[選択] メニューの下のコマンドは、データ型によって異なります。たとえば XWD ファイルを選択すると、[選択] メニューには [開く] と [印刷] という項目が含まれます。

データ型定義の ACTIONS フィールドは、データ型の [選択] メニューの下に追加されるコマンドを指定します。

DATA_ATTRIBUTES XWD
{
          ACTIONS         Open,Print
          …
}

[選択] メニューの内容はデータ型に依存しますが、[開く] アクションはほとんどのデータ型にあります。つまり、ファイル・マネージャの特定のデータ型のファイルを選択して、[選択] メニューを表示すると、[開く] コマンドが表示されます。

図 10–5 XWD ファイルの [選択] メニュー

Graphic

[開く] アクションは、通常データ・ファイルが関連しているアプリケーションを実行します。たとえば、XWD ファイルを開くと Xwud アクションが実行されます。このアクションは、順番に xwud X クライアントを実行して画面イメージを表示します。つまり XWD データ型の場合、[開く] アクションは Xwud アクションと同じです。同様に、TEXTFILE データ型のファイルを開くとテキスト・エディタが実行され、BM (ビットマップ) ファイルまたは PM (ピックスマップ) ファイルを開くとアイコン・エディタが実行されます。

異なる動作を行うさまざまな [開く] アクションを作成する機能は、アクション定義の次の 2 つの機能によって実現されます。

[開く] アクションを XWD データ型の Xwud アクションにマップするアクションの定義を次に示します。この定義は、データベース構成ファイル /usr/dt/appconfig/types/C/xclients.dt にあります。

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

TYPE フィールドは、このアクションがマップ・アクションであることを指定します。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 アクションにマップします。

データ型のダブルクリック動作の定義

データ型のダブルクリック動作は、ACTIONS フィールドの最初のエントリで定義します。たとえば XWD データ型をダブルクリックすると、Xwud アクションを順番に実行する [開く] アクションを実行します。

データ・ファイルのアクション・アイコンへのドロップ

データ・ファイルをアクション・アイコンへドロップすると、データ・ファイルをアクションの引き数としてシステムはアクションを実行します (詳細は、アクションがデータ・ファイルを引き数として使用する方法を参照してください)。

たとえば、XWD データ・ファイルを [Xwd 表示] アイコンへドロップすると、データ・ファイルを引き数として Xwud アクションが実行されます。これにより、そのデータ・ファイルとともに xwud X クライアントが実行されます。

データ型に応じたデスクトップ印刷の作成

デスクトップ印刷は、データ・ファイルを印刷する次の 2 つの方法を提供します。

デスクトップ印刷の他にも、たくさんのアプリケーションがアプリケーション内から印刷する方法を提供しています。

デスクトップ印刷は、[印刷] という名前のアクションを使用します。[印刷] は [開く] のように、さまざまなデータ型に使用されるアクション名です。したがって、[印刷] アクションは、アクション・マッピングと ARG_TYPE フィールドを使用し、各データ型の印刷をカスタマイズします。

次に例として、XWD データ型の [印刷] アクションを示します。定義は /usr/dt/appconfig/types/language/xclients.dt にあります。

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

この [印刷] アクションは XWD ファイルに固有で、NoPrint アクションにマップされます。NoPrint は、/usr/dt/appconfig/types/language/dt.dt で定義される特殊アクションです。NoPrint アクションは、このデータ型が印刷できないことをユーザに通知するダイアログ・ボックスを表示します。

XWD の [印刷] アクションを、次の PCL ファイルの [印刷] アクションと比較します。

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

PrintRaw アクションは、PCL ファイルを印刷するコマンド行が入っている構成ファイル /usr/dt/appconfig/types/language/print.dt で定義されています。

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