アクションは、アプリケーションの実行やデータ・ファイルを開くなど、自動化されたデスクトップのタスクを書いた命令です。アクションは、アプリケーション・マクロまたはプログラミング関数とよく似た動作をします。各アクションには、アクションを実行するのに使用するための名前があります。
一度アクションを定義すると、デスクトップ・ユーザ・インタフェースに適用されるので、タスクを実行しやすくなります。デスクトップは、アイコン、フロントパネル・コントロール、アクションに対するメニュー項目などのユーザ・インタフェース・コンポーネントに接続する機能を提供します。
たとえば、アプリケーション・マネージャの [デスクトップツール] アプリケーション・グループには、さまざまなユーティリティを起動するアイコンがあります。
これらのアイコンをダブルクリックすると実行できます。次に例として、[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 アクションを実行することによって画面イメージを表示する [開く] アクションがあります。
[選択] メニューのアクションは、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. }
ファイルは、アクションを示すので「アクション・ファイル」と呼びます。ファイルがアクションと同じ名前の実行可能ファイルの場合は、アクション・ファイルです。アプリケーション・マネージャ (またはファイル・マネージャ) にあるアイコンは、「アクション・アイコン」、またはダブルクリックするとアプリケーションが起動するので「アプリケーション・アイコン」と呼びます。
アプリケーション・マネージャは実行可能ファイルを検出すると、アクション・データベースを検索して、ファイル名と一致する名前のアクションがあるかどうか調べます。一致するファイルがある場合、アプリケーション・マネージャは、そのファイルがアクション・ファイルであると認識します。
アクション・ファイルの内容は関連ありません。通常、アクション・ファイルには、デスクトップ関数を説明するコメントがあります。
「アクション・ファイル」は「アクション定義ファイル」とは異なります。「アクション・ファイル」は、アクションと同じ名前を持つファイルです。ファイル・マネージャまたはアプリケーション・マネージャの「アプリケーション・アイコン」の作成に使用します。「アクション定義ファイル」は、アクションの定義が入った name.dt という名前のファイルです。
ファイルがアクション・ファイルであることをデスクトップが判別すると、基本となるアクション定義がアクション・ファイルの外観と動作の定義に使用されます。
EXEC_STRING フィールドは、アプリケーション・アイコンの動作を指定します。[Xwd 表示] アイコンの場合、EXEC_STRING は、アクション・アイコンが正しいコマンド行引き数で X クライアントの xwud を実行することを指定します。
LABEL フィールドは、アプリケーション・アイコンのラベルを指定します。
DESCRIPTION フィールドは、ユーザが [アイテムヘルプ] を要求したときに表示するテキストを記述します。
Xwud アプリケーション・アイコンは、アクション定義に別のイメージを指定する ICON フィールドがあるため、アクションのデフォルトのアイコン・イメージを使用します。
反対に、[ファイルの圧縮] というラベルの付いたアイコンは、基本となるアクション定義に ICON フィールドがあるため、別のアイコン・イメージを使用します。
次に例を示します。
ACTION Compress { LABEL Compress File ICON Dtcmprs ... }
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:
ユーザが指定するファイル名またはパスをファイル引き数として使用します。
アプリケーションの起動の他に、アクションは次のような機能を作成するためにデスクトップで使用します。
フロントパネル
フロントパネル・コントロールの定義には、コントロールをクリックしたとき、またはファイルをドロップしたときに実行するアクションを指定するフィールドがあります。詳細は、「フロントパネル・コントロール定義」を参照してください。
メニュー
[ウィンドウ] メニューとワークスペース・メニューの定義の構文により、メニュー項目で実行するアクションを指定できます。詳細は、「ワークスペース・マネージャのメニュー」と dtwmrc(4) のマニュアル・ページを参照してください。
アプリケーション間通信
ToolTalk メッセージと呼ばれる特殊なアクション (TT_MSG) を使用して情報を送受信できるようにアプリケーションを設計できます。TT_MSG アクションは、デスクトップの開発者環境用マニュアルで説明します。