手動によるデータ型の作成
データ型定義は次の2つの方法で作成されます。
ファイル型、「データ型<$nopage>」を参照してくださいデータ型手動による作成
アクション作成ツールを使用する。アクション作成ツールの使用方法については、
を参照してください。
手動でデータ型定義を作成する。
手動でデータ型を作成するには、データベース・ファイルを編集しなければなりません。
この章では、手動によるデータ型定義の作成方法について説明します。
関連項目
データ型の概要については、
を参照してください。
データ型定義のリファレンス情報については、
dtdtsfile(4) のマニュアル・ページを参照してください。
手動でデータ型を作成しなければならない理由
データ型を手動で作成すると、データ型定義の構文に構築されたすべての機能を使用することができます。
データ型手動による作成の要件
次のデータ型の機能を使用する場合は、データ型を手動で作成する必要があります。
位置(パス)ベースのデータ型作成
[開く]および[印刷]以外のデータ型に関連するアクションを指定する機能
同じデータ型に対する複数の名前、パターン、内容の基準 — たとえば、*.abc または *.def という名前のファイルに基づくデータ型など
リンクベースのデータ型
データ型定義のコンポーネント: 基準と属性
データ型定義は、次の2つの異なるデータベース定義で構成されます。
DATA_ATTRIBUTES定義DATA_ATTRIBUTES 定義
DATA_ATTRIBUTES 定義は、データ型の名前およびこの型のファイルの外観と動作を説明します。
DATA_CRITERIA定義DATA_CRITERIA 定義
DATA_CRITERIA 定義は型を作成するための基準を説明します。各基準定義は、基準を適用する DATA_ATTRIBUTES をもつことができます。
各 DATA_ATTRIBUTES 定義に対して、少くともひとつの
DATA_CRITERIADATA_ATTRIBUTES とともに指定するDATA_CRITERIA 定義がなければなりません。DATA_ATTRIBUTES 定義は、関連する複数の DATA_CRITERIA をもつことができます。
たとえば、ファイル・マネージャでの PostScript ファイルの外観と動作を説明する PostScript ファイルの属性定義を作成できます。次に、PostScript データ型の2つの異なる基準を作成できます。ひとつの基準はファイル名に基づき、もうひとつはファイル内容に基づきます。
詳細については、
を参照してください。
手動によるデータ型の作成: 一般的な手順
この節では、データ型構成ファイルの作成方法を説明します。
データ型の構成ファイルデータ型構成ファイル構成ファイルデータ型
データ型定義を含む構成ファイルの要件は次のとおりです。
ファイルが name.dt という命名規則を使用していること。
ファイルがデータベース検索パス上にあること。デフォルトの検索パスは次のとおりです。
個人用データ型
HomeDirectory/.dt/types
システム共通データ型
/etc/dt/appconfig/types/language
組み込みデータ型
/usr/dt/appconfig/types/language
このディレクトリは使用しないでください。
データベース検索パスの変更については、
を参照してください。
データ型定義を作成するにはデータ型定義
既存のデータベース・ファイルを開くか、新しいファイルを作成します。
詳細については、前節の
を参照してください。
次の構文を使用して、データ型のデータ属性を定義します。
DATA_ATTRIBUTES data_type_name
{
ICON image_name
DESCRIPTION string
attribute_field
attribute_field
…
}
DATA_ATTRIBUTES構文
それぞれの意味は次のとおりです。
data_type_name
このデータ型に指定する固有の名前。
image_name
アイコン・ファイルのファイル名またはパス。ファイルのベース名を使用します。たとえば、myimage.m.pm および myimage.t.pm というアイコン・ファイルは、myimage を使用します。
attribute_field
データ型の外観と動作を定義するフィールド
string
文字列。内容はデータ型のアイテムヘルプです。
を参照してください。
次の構文を使用して、データ型のデータ基準を定義します。
DATA_CRITERIA criteria_name
{
DATA_ATTRIBUTES_NAME data_type_name
criteria_field
criteria_field
…
}
DATA_CRITERIA構文
それぞれの意味は次のとおりです。
criteria_name
この基準定義の固有の名前。
data_type_name
DATA_ATTRIBUTES 定義で使用する名前
criteria_field
ファイルをこのデータ型に割り当てるための基準を定義するために使用するフィールド。
を参照してください。
データベース・ファイルを保存します。
データ型のアイコンを作成します。
詳細については、
を参照してください。
必要に応じて、属性定義の ACTIONS フィールドにリストされたアクションを作成します。
[デスクトップツール]アプリケーション・グループの[アクションの再読込み]をダブルクリックし、データベースの再読み込みを行います。
個人用アクションとデータ型の作成例データ型例個人用データ型とアクション、作成
GIF 画像を表示する xgif というアプリケーションがシステムに含まれているとします。通常は、次のように入力してプログラムを実行します。
xgif filename
GIF 画像は、次の2つの方法で表示するものとします。
GIF データ・ファイルをダブルクリックする
データ・ファイルを選択し、[選択]メニューからアプリケーションを選択する
編集のため、新規ファイル HomeDirectory/.dt/types/GifViewer.dt を開きます。
データ型定義を入力します。
DATA_ATTRIBUTES Gif
{
DESCRIPTION Gif image file.
ICON GifIcon
ACTIONS View
}
DATA_CRITERIA Gif_Criteria
{
DATA_ATTRIBUTES_NAME Gif
NAME_PATTERN *.gif
}
GifViewer アクションのアクション定義を入力します。
ACTION GifViewer
{
EXEC_STRING xgif %(File)Arg_1“Gif file to view:”
WINDOW_TYPE NO_STDIO
DESCRIPTION Double-click or drop a file to \
start the Gif viewer.
}
定義に ICON フィールドは含まれないので、アクションはシステムのデフォルト・アイコンを使用します。
次のマップ・アクションを入力し、GifViewer アクションを、データ型定義にリストされた View アクションに接続します。この表示アクションを Gif 型ファイルに制限するには ARG_TYPE フィールドを使用します。
ACTION View
{
ARG_TYPE Gif
TYPE MAP
MAP_ACTION GifViewer
}
ファイルを保存します。
[デスクトップツール]アプリケーション・グループの[アクションの再読込み]をダブルクリックし、データベースの再読み込みを行います。
データ型のデータ属性の定義DATA_ATTRIBUTES定義データ型属性
DATA_ATTRIBUTES 定義は、データ型の外観と動作を定義します。データ型の名前を指定し、次の内容を指定する機能を提供します。
ファイル・マネージャ・アイコン (ICON フィールド)
[選択]メニューのダブルクリック動作と内容 (ACTIONS フィールド)
データ型のアイテムヘルプ (DESCRIPTIONDESCRIPTION フィールドデータ型〜についてのヘルプヘルプデータ型についての〜 フィールド)
データ型に使用するアイコン・イメージの指定アイコンデータ型データ型〜のアイコン
ICON フィールドデータ型のICON フィールドを使用して、ファイル・マネージャで使用するアイコンを指定します。アイコン・イメージを指定しないと、ファイル・マネージャはラベルだけを表示します。
ICON フィールド有効な値ICON フィールドの値は次のいずれかです。
ベース・ファイル名アイコンベース・ファイル名
ベース・ファイル名
ベース・ファイル名は、ファイル名からサイズに関する接尾辞拡張子 (l、m、および t) およびイメージ型に関する接尾辞拡張子 (bm および pm) を取ったアイコン・イメージのファイルの名前です。たとえば、GameIcon.m.pm および GameIcon.t.pm という名前のファイルは、GameIcon というベース・ファイル名を使用します。
ベース・ファイル名を使用する場合、アイコン・ファイルは次のアイコン検索パスのディレクトリに必ず指定してください。
個人用アイコン: HomeDirectory/.dt/icons
システム共通アイコン: /etc/dt/appconfig/icons/language
完全ファイル名を含むアイコン・ファイルの絶対パス
アイコン・ファイルがアイコン検索パスにない場合のみ絶対パスを使用してください。たとえば、アイコン・ファイル GameIcon.m.pm がアイコン検索パス上にないディレクトリ /doc/projects にある場合、ICON フィールドの値は /doc/projects/GameIcon.m.pm となります。
[
は、作成するアイコンのサイズと、対応するファイル名のリストです。
データ型アイコンのアイコン名とサイズ
サイズ(ピクセル単位)
ビットマップ名
ピックスマップ名
48 × 48
name.l.bm
name.l.pm
32 × 32
name.m.bm
name.m.pm
16 × 16
name.t.bm
name.t.pm
データ型とアクションの関連付けデータ型アクションとの関連付けアクションデータ型との関連付けデータ型アクションとの関連付け
データ型をアクションに関連付けるには、次の2つの方法があります。
DATA_ATTRIBUTES 定義の ACTIONS フィールドACTIONS フィールドは、ファイル・マネージャの[選択]メニューに表示されるアクションをリストします。リストの最初のアクションは、デフォルト(ダブルクリック)アクションです。
アクション定義の ARG_TYPE フィールドARG_TYPE フィールドを使用して、指定したデータ型にアクションを制限できます。
たとえば、次のデータ型定義は、*.rm という命名規則を使用してシステム管理者が作成した特殊な “readme” ファイルのデータ型を作成します。
DATA_ATTRIBUTES SysReadmeFile
{
ICON SysReadMe
ACTIONS Open,Respond
}
DATA_CRITERIA SysReadmeFileCriteria
{
NAME_PATTERN *.rm
DATA_ATTRIBUTES_NAME SysReadmeFile
}
特別な Respond アクションは、ファイルに対して下記のように定義されます。このアクションは、テキスト・エディタで書き込み可能なファイルのコピーを開きます。ファイルを保存してテキスト・エディタを終了すると、ファイルはシステム管理者にメール送信されます(メール・アドレスは sysadmin@utd です)。
ACTION Respond
{
ARG_TYPE SysReadmeFile
EXEC_STRING /bin/sh -c 'cp %Arg_1% $HOME/readme.temp;\
chmod +w $HOME/readme.temp; \
dtpad $HOME/readme.temp; \
cat $HOME/readme.temp | \
/usr/bin/mailx sysadmin@utd; \
rm $HOME/readme.temp'
WINDOW_TYPE NO_STDIO
}
データ型に基づいてファイルを隠すファイルデータ型に基づいて隠すデータ型隠されたデータ型によってファイルを隠す
ファイルが非表示のデータ型の場合、ファイル・マネージャでは表示されません。
DATA_ATTRIBUTES 定義の PROPERTIES フィールドを使用して、この型のオブジェクトを隠すよう指定します。
PROPERTIES invisible
ファイルを処理するときの動作の指定
次の DATA_ATTRIBUTES フィールドは、おもにアプリケーション・プログラマが使用します。ユーザがさまざまなデスクトップ・アクティビティを実行したときのファイルの動作を指定します。
詳細については、開発者環境のマニュアルである 共通デスクトップ環境 プログラマーズ・ガイド を参照してください。
フィールド
説明
MOVE_TO_ACTIONMOVE_TO_ACTION フィールド
ディレクトリなどのコンテナに対して使用します。ファイルをこのデータ型のコンテナに移動したときに実行するアクションを指定します。
COPY_TO_ACTIONCOPY_TO_ACTION フィールド
ディレクトリなどのコンテナに対して使用します。ファイルをこのデータ型のコンテナにコピーしたときに実行するアクションを指定します。
LINK_TO_ACTIONLINK_TO_ACTION フィールド
ファイルをこのデータ型のファイルにリンクしたときに実行するアクションを指定します。
IS_TEXTIS_TEXT フィールド
このデータ型のファイルが、テキスト・ボックスに表示できるテキストを含むよう指定します。
MEDIAMEDIA フィールド
対応する ToolTalk メディア型を指定します。
MIME_TYPEMIME_TYPE_MEDIA フィールド
対応する MIME 型を指定します。
X400_TYPEX400_TYPE フィールド
対応する X400 型を指定します。
データ型のデータ基準の定義データ型基準データ型差分データ型分類基準2
DATA_CRITERIA定義DATA_CRITERIA 定義は、オブジェクト型をファイルまたはディレクトリに割り当てるのに使用する基準を定義します。
使用できるオブジェクト型の基準は次のとおりです。
基準
説明
ファイル名
ファイル名は指定したパターンに一致しなければなりません。NAME_PATTERN フィールドを使用します。
NAME_PATTERN フィールド
ファイル位置
パスは指定したパターンと一致しなければなりません。PATH_PATTERN フィールドを使用します。
PATH_PATTERN フィールド
ファイル内容
ファイル内容の指定した部分が指定したデータに一致しなければなりません。CONTENT フィールドを使用します。
CONTENT フィールド
ファイル・モード
ファイルは指定したアクセス権(読み取り、書き込み、実行、ディレクトリ)を所有しなければなりません。MODE フィールドを使用します。
MODE フィールド
シンボリック・リンクシンボリック・リンクデータ型の基準
リンク名はオブジェクトがリンクするファイルに基づきます。
ひとつのデータ型に2つ以上の基準を使用することができます。ただし、NAME_PATTERN と PATH_PATTERN を同じデータ型で使用してはいけません。
名前に基づいたデータ型データ型名前に基づいた名前に基づいたデータ型
NAME_PATTERN フィールドを使用して、命名要件を指定します。フィールド値には、次のワイルドカードを指定できます。
?? ワイルドカード文字
任意の1文字に一致します
** ワイルドカード文字データ型のワイルドカード文字
任意の文字列(空文字列を含む)に一致します
[cc…]
角括弧で囲まれた任意の文字 (c) に一致します
[c−c]
c から c までの範囲の任意の文字に一致します
例
次のデータ型定義は、ファイル名に基づいたデータ型を作成します。ファイル名は、必ず QS で始まり、.doc で終わるようにしてください。
DATA_ATTRIBUTES QS_Doc
{
DESCRIPTION This file contains a document for the QS project.
ICON Word_Doc
ACTIONS Open
}
DATA_CRITERIA QS_Doc_Criteria
{
NAME_PATTERN QS*.doc
DATA_ATTRIBUTES_NAME QS_Doc
}
次の定義は、Demo_n (n は 0 から 9) という名前のディレクトリのデータ型を作成します。
DATA_ATTRIBUTES Demo_directory
{
DESCRIPTION This is a directory. Double-click to open it.
ICON Demo
ACTIONS OpenInPlace,OpenNewView
}
DATA_CRITERIA Demo_directory_criteria
{
NAME_PATTERN Demo_[0-9]
MODE d
DATA_ATTRIBUTES_NAME Demo_directory
}
位置に基づいたデータ型データ型パスに基づいたデータ型位置に基づいた位置に基づいたデータ型パスに基づいたデータ型
PATH_PATTERN フィールド構文PATH_PATTERN フィールドを使用してパスを指定します。NAME_PATTERN と同じワイルドカードを使用できます。
たとえば、次のデータ型はパスに基づいた基準を使用します。
DATA_ATTRIBUTES Project_Graphics
{
DESCRIPTION Graphics file for the QS project. Double-click the \
icon to see the graphic.
ICON QSgraphics
}
DATA_CRITERIA Project_Graphics_Criteria
{
DATA_ATTRIBUTES_NAME Project_Graphics
PATH_PATTERN */projects/QS/graphics/*
}
名前と位置に基づいたデータ型
ファイル名と位置の両方に基づいたデータ型を作成するには、PATH_PATTERN の値に名前を取り込みます。NAME_PATTERN と PATH_PATTERN の両方を同じ基準定義で使用することはできません。
例
次に定義する QS_Source_Files データ型は、*/projects/QS というサブディレクトリにある appn.c (n は 1 から 9) という名前のすべてのファイルに適用されます。
DATA_ATTRIBUTES QS_Source_Files
{
…
}
DATA_CRITERIA QS_Source_Files_Criteria
{
PATH_PATTERN */projects/QS/*/app[1-9].c
DATA_ATTRIBUTES_NAME QS_Source_Files
}
次のデータ型は、/doc/project1 ディレクトリの chnn.xxx (n は 0 から 9、xxx は任意の3文字のファイル名の拡張子) という名前のすべてのファイルに適用されます。
DATA_ATTRIBUTES ChapterFiles
{
DESCRIPTION Chapter file for the project document.
ICON chapter
ACTIONS Edit,Print
}
DATA_CRITERIA Chapter_Criteria
{
PATH_PATTERN /doc/project1/ch[0-9][0-9].???
DATA_ATTRIBUTES_NAME ChapterFiles
}
データ型作成基準としてのファイル・モードの使用データ型モード基準
MODE フィールド構文MODE フィールドを使用して、必須アクセス権を指定します。
通常、モード基準は名前、位置、内容に基づいたデータ型作成の組み合わせで使用します。これらの基準によって、データ型をファイルまたはディレクトリに制限したり、必須の読み取り、書き込み、実行権を指定することができます。
MODE フィールドには、次の論理演算子および文字を指定できます。
演算子
説明
!
論理演算子 NOTMODE フィールドの NOT 演算子
&
論理演算子 ANDMODE フィールドの AND 演算子
|
論理演算子 ORMODE フィールドの OR 演算子
文字
説明
fファイル、データ型基準
ファイルだけに適用されるデータ型
dディレクトリデータ型基準
ディレクトリだけに適用されるデータ型
r
任意のユーザが読み取れるファイル
w読み込み専用のデータ型基準データ型読み込み専用
任意のユーザが書き込めるファイル
xデータ型実行可能ファイル実行可能ファイル、データ型基準
任意のユーザが実行できるファイル
lリンク、データ型基準
リンクであるファイル
u
set-uid であるファイル
g
set-gid であるファイル
特定モードのデフォルトは、モードには関係ありません。
例
次のモード・フィールドは、データ型を制限します。
f&!w
読み専用ファイル
!w
読み専用ファイルおよび読み専用ディレクトリ
f&x
実行可能ファイル
f&w&x
書き込み可能および実行可能ファイル
x|!w
実行可能ファイルまたは読み専用ファイル
次のデータ型定義は、読み専用で実行可能でないファイルのデータ型を作成します。ファイル名は、*.doc という命名規則にしたがっています。View アクションはデータ型に対して定義されているものとします。
DATA_ATTRIBUTES ReadOnlyDocument
{
ICON read_only
DESCRIPTION This document is not writable. Double-clicking \
runs your editor with a read-only copy of the \
file.
ACTIONS View
}
DATA_CRITERIA ReadOnlyDocument_Criteria
{
NAME_PATTERN *.doc
MODE !d&!x&!w
DATA_ATTRIBUTES_NAME ReadOnlyDocument
}
内容に基づいたデータ型データ型内容に基づいた内容に基づいたデータ型
CONTENT フィールドCONTENT フィールドを使用して、ファイル内容に基づいたデータ型を作成します。内容に基づいたデータ型の作成には、名前または位置に基づいたデータ型を組み合わせて使用できます。
データ型の作成は、ファイルの文字または数字内容に基づいて行われます。ファイルの最初のバイトの番号は 0 です。
ファイルの文字内容には、次の構文を使用します。
CONTENT starting_byte string string
ファイルの数字内容については、次の構文を使用します。
CONTENT starting_byte byte number
CONTENT starting_byte short number
CONTENT starting_byte long number
ディレクトリの内容については、次の構文を使用します。
CONTENT 0 filename “file_name”
8進数(先頭が 0)および16進数(先頭が 0X)については、標準C表記を使用します。
内容に基づいたデータ型を作成すると、システム性能の速さが遅くなります。できるだけ、名前または位置に基づいたデータ型を使用してください。
たとえば、次のデータ型 Writable_Wingz は、ファイルの最初に WNGZ 文字列が入っていて書き込み権をもつすべてのファイルに適用されます。
DATA_ATTRIBUTES Writable_Wingz
{
…
}
DATA_CRITERIA Writable_Wingz_Criteria
{
CONTENT 0 string WNGZ
MODE w&!d
DATA_ATTRIBUTES_NAME Writable_Wingz
}
独自の基準をもつデータ型を作成するにはデータ型複数の基準
いくつかの独自の基準をもつデータ型を作成できます。つまり、基準のいずれか(または両方)に一致した場合に、ファイルはデータ型に割り当てられます。
データ型の DATA_ATTRIBUTES 定義を作成します。
各基準ごとに DATA_CRITERIA複数のDATA_CRITERIA 定義を作成します。
DATA_ATTRIBUTES_NAME フィールドを使用して、各基準を同じ DATA_ATTRIBUTES 定義に接続します。
たとえば、次の定義は Mif データ型を作成します。データ型の作成は、名前または内容に基づきます。
DATA_ATTRIBUTES Mif
{
ICON Frame
ACTION_LIST Open,Print
}
DATA_CRITERIA Mif_Name_Criteria
{
DATA_ATTRIBUTES_NAME Mif
NAME_PATTERN *.mif
}
DATA_CRITERIA Mif_Content_Criteria
{
DATA_ATTRIBUTES_NAME Mif
CONTENT 1 string MIFFile
}
ローカライズされたデータ型の作成データ型ローカライズされたローカリゼーションデータ型
データ型の検索パスには、言語に依存した位置を含みます。デスクトップは
LANG 変数データ型の影響 LANG の値を使用して、データ型定義を検索する場所を決定します。
ローカライズされたデータ型の位置
ローカライズされたデータ型定義は、アクション検索パス上にある正しい言語依存ディレクトリになければなりません。
デフォルトの検索パスは次のとおりです。
個人用アクション: HomeDirectory/.dt/types
システム共通アクション: /etc/dt/appconfig/types/language
組み込みアクション: /usr/dt/appconfig/types/language
データ型をローカライズするには
適切な言語依存ディレクトリ(/etc/dt/appconfig/types/japanese) にファイルを作成します。
データ型定義を言語に依存した構成ファイルにコピーします。
データ型定義のひとつ以上のフィールドをローカライズします。