この章では、共通デスクトップ環境のアプリケーション・プログラム・インタフェース (API) を使用する前に知っておくべき一般的な情報について説明します。
アプリケーションをデスクトップに統合する前に、デスクトップの動作について基本的に理解しておくことが必要です。共通デスクトップ環境をプラットフォームにインストールし、その機能を把握してください。デスクトップの概要については、『Solaris 共通デスクトップ環境 ユーザーズ・ガイド』のオンライン・ヘルプ・ボリュームを参照してください。
共通デスクトップ環境には、UNIX ユーザに対して、生産性の高い快適なデスクトップ環境を提供します。アプリケーションを開発するときは、共通デスクトップ環境がユーザに提供する環境を常に念頭に置いてください。次のような特性を備えたアプリケーションを開発すれば、高機能で、一貫性のある、予期可能な共通デスクトップ環境の一部にできます。
共通デスクトップ環境は主な顧客としてエンド・ユーザをターゲットにしているので、できるだけ UNIX を隠したアプリケーションを提供することは、優れた製品の重要な要因です。
共通デスクトップ環境の優れたアプリケーションは、デスクトップ上の他のアプリケーションと同じようなルック&フィールを実現します。スタイルその他のガイドライン (共通デスクトップ環境標準フォント名など) に従うと、アプリケーションに共通デスクトップ環境 Motif のルック&フィールが備わります。
読みやすいデフォルト・フォント・サイズと、マウス指向アクション用のキーボード・アクセラレータを提供します。デスクトップ・オンライン・ヘルプ・コンポーネントを使用して、完全なヘルプシステムをアプリケーションに統合してください。基本的なコンピュータ対話形式は、プラットフォーム全体で可能な限り一貫させなければなりません。
共通デスクトップ環境には、アプリケーションをデスクトップにうまく統合できるようにするための、一連のデスクトップ統合サービスがあります。アプリケーションがローカルなコンピュータで実行されているのかネットワークの他の場所で実行されているのか、(もしあれば) 実行されているアプリケーションを書くのにどのツールキットが使用されているのかを、ユーザは知る必要がないので便利です。アプリケーションをデスクトップから起動し、他の共通デスクトップ環境のアプリケーションと通信できるようにする機能をアプリケーションに与えてください。オンライン・ヘルプシステムを使用して、ユーザに簡易情報を提供してください。ドラッグ&ドロップを使用して、ユーザがシステムの使用方法を予期できるようにしてください。
個別の、および文化的な相違点を設計します。
共通デスクトップ環境の規則とポリシーに従うと、アプリケーションは次の項目に関して、スムーズで一貫性があり、適切なカスタマイズを自然に提供できます。
フォント
カラー
キーボードとマウスの割り当て
ロケール固有の構成ファイル
ロケール固有の構成ファイルの詳細は、『Solaris 共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド』の第 18 章「ローカライズされたデスクトップ・セッションの構成」を参照してください。
デスクトップ API を使用するアプリケーションをコンパイルするには、次のものが必要です。
コンパイルしたバイナリ・ファイルは、一致するライブラリをインストールした環境で実行してください。実行時のライブラリは /usr/dt/lib にあり、表 2-2 にリストされているディレクトリを格納しています。
共通デスクトップ環境ベースのアプリケーションを正しく実行するには、次の実行時のディレクトリのファイルをインストールした環境が必要です。
アプリケーションは、X/Open XCDE 標準で明示的に言及されている実行時のファイルだけに依存しなければなりません。/usr/dt/appconfig/icons など標準で言及していないファイルに依存してはなりません。このような依存性をアプリケーションに構築した場合、標準にないファイルが失われたり変更されたりするような環境で実行できるようにアプリケーションを強化しなければなりません。
共通デスクトップ環境アプリケーションを実行するのに最低限必要な実行環境のリストについては、dtfilsys(5) のマニュアル・ページを参照してください。
実行環境には、Motif 1.2.3 のバグを修正して機能強化した共通デスクトップ環境 Motif が含まれます (機能強化の詳細は、付録 A 「共通デスクトップ環境 Motif」 を参照してください) 。共通デスクトップ環境の実行環境の詳細は、実行環境用のマニュアル・セットを参照してください。
どの共通デスクトップ環境ライブラリともリンクされていない、既存の X Window System ベースのアプリケーションは、デスクトップ・ウィンドウ・マネージャ (dtwm) のもとで、Motif ウィンドウ・マネージャで動作するのと同様な方法で動作します。共通デスクトップ環境との相互運用性のレベルのガイドラインを説明します。
表 2-1 既存 X ベースのアプリケーションと共通デスクトップ環境との相互運用性
既存 X ベースアプリケーションの特性 |
デスクトップとの相互運用ステータス |
---|---|
Motif 1.2 (以降) のドラッグ&ドロップ (登録済みプロトコルを使用) |
有 |
Motif 1.2 (以降) のドラッグ&ドロップ (動的プロトコルを使用) |
無1 |
カット&ペースト (すべてのアプリケーション) |
有 |
OPEN LOOK ドラッグ&ドロップ |
有 (複数の項目のドラッグ&ドロップ以外)2 |
ToolTalk メディア交換プロトコルおよびデスクトップ・プロトコル |
有 |
これは Motif 1.2 ドラッグ&ドロップ動的プロトコル相互運用における問題点で、共通デスクトップ環境に原因があるわけではありません。
これはドロップ・サイト・データベース・マネージャ (dsdm) のプロトコル解釈機能によって行われます。
既存の Motif アプリケーションを、共通デスクトップ環境 Motif 共有ライブラリで再コンパイルおよび再リンクする場合は、アプリケーションは Motif 1.2 に対応していなければなりません。
ベンダ固有の場所にある X11R5 ヘッダ・ファイルおよびライブラリを考慮して共通デスクトップ環境アプリケーションをコンパイルしてください。表 2-2 は、/usr/dt のサブディレクトリにあるすべての開発環境ライブラリおよびヘッダ・ファイルの場所をリストしています。
/usr/dt/examples サブディレクトリには、テンプレート・アプリケーションとしての開発環境コンポーネント・デモのソースコードが入っています。表 2-2 ですべてのデモのサブディレクトリをリストしています。
それぞれのデモのサブディレクトリには、1 つ以上のデモ・プログラムが、プログラムの makefile と共に入っています。デモを説明する README ファイルも含まれています。
ソースが template サブディレクトリにあるデモは、単純な描画プログラムです。これは、デスクトップに統合された共通デスクトップ環境アプリケーションの基本構造を図示したものです。国際化されており、別々のサブディレクトリにはローカライズされたコンポーネントがすべて入っています。アプリケーションでは、この描画プログラムをテンプレートとして使用できます。
共通デスクトップ環境のマニュアル・ページは /usr/dt/man にあります。man コマンドまたはデスクトップのマニュアル・ページ・ビューアを使用してマニュアル・ページを表示させるには、環境変数 MANPATH に /usr/dt/man を追加してください。たとえば ‾/.dtprofile ファイルでは、次のように設定します。
MANPATH=$MANPATH:/usr/dt/man
/usr/dt/man サブディレクトリと内容の一覧のリストは、表 2-2 を参照してください。man コマンドの詳細は、man(1) のマニュアル・ページを参照してください。
表 2-2 は開発環境ディレクトリ構造のトップレベル・ディレクトリと、そのサブディレクトリをリストしています (トップレベル・ディレクトリ名はすべて前に /usr/dt が付いています)。
表 2-2 /usr/dt の開発環境ディレクトリ
ディレクトリ |
サブディレクトリ |
内容 |
---|---|---|
examples |
|
開発環境コンポーネント・デモ・プログラムのソースコードを含むサブディレクトリ |
|
|
README ファイル |
|
dtaction |
アクション起動 API デモ |
|
dtbuilder |
アプリケーション・ビルダの例 |
|
dtcalendar |
カレンダ API デモ |
|
dtdnd |
ドラッグ&ドロップ API デモ |
|
dtdts |
データ型作成 API デモ |
|
dthelp |
ヘルプ API デモ |
|
dtksh |
dtksh スクリプトの例 |
|
dtsession |
セッション・マネージャ API デモ |
|
dtterm |
端末エミュレータ・ウィジェット API デモ |
|
dtwidget |
共通デスクトップ環境 Motif ウィジェット・デモ |
|
dtwsm |
ワークスペース・マネージャ API デモ |
|
template |
テンプレート共通デスクトップ環境アプリケーション |
|
motif |
Motif 1.2 API デモ |
|
motif/clipboard |
XmClipboard API デモ |
|
motif/dogs |
ウィジェット・バイナリ互換機能デモ |
|
motif/draganddrop |
Motif 1.2 ドラッグ&ドロップ API デモ |
|
motif/periodic |
Motif ウィジェット・デモ |
|
tt |
ToolTalk メッセージ・サービス・デモ |
|
開発環境ライブラリのヘッダ・ファイル |
|
|
csa |
カレンダのヘッダ・ファイル |
|
Dt |
DtSvc、DtWidget、DtHelp、 DtTerm のヘッダ・ファイル |
|
Mrm |
Motif 1.2 リソース・マネージャのヘッダ・ファイル |
|
Tt |
ToolTalk メッセージ・サービスのヘッダ・ファイル |
|
Xm |
Motif 1.2 ツールキットのヘッダ・ファイル |
|
uil |
Motif 1.2 呼び出し可能 UIL コンパイラのヘッダ・ファイル |
|
libcsa (カレンダ)、 libDtHelp (ヘルプ・システム)、 libDtSvc (アクション、データ型作成、ドラッグ&ドロップ、セッション・マネージャ、ワークスペース・マネージャ)、 libDtTerm (端末エミュレータ)、 libDtWidget (共通デスクトップ環境 Motif コントロールおよびエディタ・ウィジェット)、 libMrm (Motif 1.2 リソース・マネージャ)、 libUil (Motif 1.2 呼び出し可能 UIL コンパイラ)、 libXm (Motif 1.2 ツールキット)、 libtt (ToolTalk) sparcv9 (lib サブディレクトリ中の 64 ビットバージョン全ライブラリを格納するサブディレクトリ) |
|
|
開発環境のマニュアル・ページ |
|
|
man1 |
クライアントおよびユーティリティ関連のマニュアル・ページ |
|
man3 |
API 関連のマニュアル・ページ |
|
man4 |
データ・フォーマット |
|
man5 |
lib サブディレクトリの下にリストされたライブラリの 64 ビットバージョンが、sparcv9 サブディレクトリにあります(表 2-2 参照)。これらのライブラリで、CDE 用の 64 ビットアプリケーションを開発することができます。