INDEX(Topページ) | News & Topics | Glossary | Column List | GuestBook | Link & Profile

第9回 デスクアクセサリの流れを汲む「Dashboard」〜構成や仕組、Widget等〜

「Mac OS X 10.4 Tiger」より新たに実装された小アプリケーション実行環境「Dashboard」は、Classic Mac OS由来のデスクアクセサリを「より使い易く、より作り易く」リファインする事により、数ある新機能の中でも親しみ易い存在の一つとなっています。今回は、そんな「Dashboard」の使用法や構成、仕組、Widget等について紹介します。


●「システム環境設定」で機能割当をカスタマイズ

前回紹介した「Automator」と違い、鮮やかなエフェクトや手軽な操作性から、Mac OS X 10.4 Tigerのユーザであれば1度は使った事があるであろうDashboard。基本的には旧Mac OSにおいてシステムリソースの1部となっていた「デスクアクセサリ」の流れを汲んだ形になっており、

「F12」キーを押す事によりデスクトップ上に現れるDashboard専用の半透明レイヤ上で、「Widget」と呼ばれるミニアプリケーションが動作する

というのが基本的な仕様となっています。この「F12」キーはデフォルト(初期値)がそうなっているだけなので、「システム環境設定」>「DashboardとExpose」から変更する事も可能です。
「DashboardとExpose」システム環境設定
↑「画面のコーナーへの機能割り当て」は私が割り当てた設定です(クリックで拡大します)

Dashboardに関しては、左側のプルダウンメニュー(現在「F12」が設定されている)でファンクションキーの割り当てを設定。右隣のプルダウンメニュー(現在未割り当て)ではマウスボタンの割り当てが可能になっているので、好みに応じて設定を変更すると良いでしょう。このインターフェイスに関しては、Dashboard自体が元来「何時でも好きな時に呼び出す事ができ、用が済んだらサッとしまえる」という即時性を主旨としているアプリケーションなので、色々試してみつつ、自分に最適な操作性を見つける事をお勧めします。尚、右利きである私の個人的な見解で恐縮ですが、右手でマウスを操作する以上、キーボードの右側に配置されている「F12」はどうしても操作性が悪く感じてしまいます(Ejectキーが割り当てられている機種もある)。かといって左側のファンクションキーも、ノート型の機種等では「輝度、照度」や「音量」等、他の機能が割り当てられている事もあるので、マウスボタンか画面のコーナーに割り当ててしまうのが有効ではないかと思います。仮に「Mighty Mouse(マイティマウス)」を利用しているのならば、ソフトタッチでストレス無く操作できる「スクロールボール」に割り当てるのもお勧めです。ちなみに上記スクリーンショットの設定は個人的に気に入って使っておりますので、参考までに御覧下さい。


●Dashboardを構成する3層構造

このように、今までに無い形でのアプローチでディスアクセサリを発展させた「Dashboard」。基本的には3層構造にてMac OS X 10.4 Tiger上に存在しています。

「1」Dashboard Server【ダッシュボードサーバ】

起動時のエフェクトやDashboardバーの管理等、Dashboardの実行環境全体を制御するプロセス。

「2」Dashboard Client【ダッシュボードクライアント】

個々のWidgetを制御するプロセスで「Safari」で馴染みの深い「Web Kit(注1)」と呼ばれるフレームワークを搭載。Dashboard ServerとWidgetの間を仲介する役割を担っており、個々のWidget同士が干渉し合わないよう、1種類のWidgetにつき1つのDashboard Clientがプロセスとして起動される。

「3」Widget【ウィジェット】

ユーザーと直接入出力のやり取りをするアプリケーションに近い存在で、パッケージ形式で造られている(Mac OS Xの「Finder」上では「Widget」という種類に分類されている)。HTMLとCSSで構成され、JavaScriptで制御されている。

上記中でも「Dashboard Client」と「Widget」は1対1で構成されるため、ユーザ側から意識されるのは「Widget」のみとなります。基本的には「デスクトップ上に呼び出されているアクティブなWidget」が、Dashboard呼び出し時に起動するプロセスの対象となり、「Widgetバーに登録されていているだけの非アクティブなWidgetのDashboard Client」がプロセスとして起動する事はありません。

基本的な動作としては、初回呼び出し時に「デスクトップに呼び出されているアクティブなWidgetのDashboard Client」が個々のプロセスとして起動し、これらのプロセスはシステムに対し

の何れかの処理が行われるまで、システムに常駐する事になります(任意の場所をクリックしてDashboardを終了させても、Dashboard Clientのプロセスは残っています)。この辺りの動作は、パフォーマンスの低い(グラフィック性能の低い)マシンを使っていると如実に感じ取れます(初回呼び出し時だけ「カクッ」と遅れる感じがあり、2回目以降はスムーズに呼び出す事ができます)。そしてDashboard Clientは、システムの安定性とセキュリティ上の問題から複数回(実質4回以上)連続して異常終了したWidgetをDashboard Server上に停める事を許可しません。この場合、該当するWidgetはDashboard ClientごとDashboard Serverから排除される事になります。

尚、DashboardにおけるWidgetは一見するとアプリケーションの1つのように思われがちですが、基本的にWidgetは、


「Dashboard ClientというWebブラウザ上で動く、1つの動的なWebページ」

と考えるのが自然かと思われます。あくまでもWeb Kit(ブラウザ用フレームワーク)を搭載したDashboard Clientがメモリ上に読み込まれるプロセスであり、一般のWebブラウザと大きく違う点は「1つのプロセスで1つのWebページしか表示できない」といった点でしょう。この点を除けばDashboard全体の仕組みは、

と考えると理解し易いかと思われますし、Widgetが他アプリケーションのように「起動」「終了」といったプロセスを伴わないのは、母体となるDashboard Serverが起動項目としてメモリに常駐している事に起因しているのが分ります。
Activity Monitor
↑Dashboard呼び出し直後のプロセスの状態「アクティビティモニタ(/Aplication/Utilities/Activity Monitor.app)」。プロセス名の末尾を見ると解るように、メモリ上にプロセスとして常駐しているのは、WidgetではなくDashboard Clientである事が見て取れる

余談ですが、スクリーンショットを撮る時の「screencapture」も独立した1つのプロセスである事がみて取れます。最下段の「mdimport」はSpotlight用の索引を作成するためのプロセスです。


●Widgetの種類と活用法

続いてWidgetについても少し触れておきたいと思います。Dashboard全体を見渡してみても、最もユーザーと密接に関係する事となるWidget。Mac OS X 10.4 Tigerにデフォルトでバンドルされているものは、

というフォルダ以下に保存されており、これらには、

「アドレスブック」「計算機」「カレンダー」「Dictionary」「Flight Tracker」「iTunes」「Phone Book」「スティッキーズ」「Stocks」「タイルゲーム」「翻訳」「単位換算」「Weather」「世界時計」

以上の14種類のWidgetが該当します。その他、ユーザーが後付けでインストールしたWidgetは、

以下に保存される事となります。サードパーティ製や個人作のWidgetに関しては、Appleの「アップル - Mac OS X ダウンロード - Dashboard ウィジェット」というページで、既に600以上ものWidgetが紹介されているので、参考にしてみると良いかと思います。そして、Widget自体は様々な種類と用途のものが公開されていますが、大きく分けると以下の3種類のカテゴリに分類されます。

Application Widgets【アプリケーションウィジェット】

「アドレスブック(Widget)」や「iTunes Controller」等に代表されるような、特定のアプリケーションに関連づけられたWidgetで、関連づけられたアプリケーションに対して新たな入出力のインターフェイスを提供するもの。

Information Widgets【インフォメーションウィジェット】

「Flight Tracker」「Stocks」「Weather」等に代表される、インターネットを利用したリアルタイム性を特徴としたWidget。Dashboardが呼び出される度にインターネット経由で特定のサイトから情報を取得しているため、常時接続環境が前提条件となる。

Accessory Widgets【アクセサリウィジェット】

サポートするアプリケーションやインターネットアクセスを必要とせず、それ自体が単独で機能するスタンドアロン(注2)仕様のWidget。「計算機」「カレンダー」「スティッキーズ」「タイルゲーム」「世界時計」等が該当

そしてDashboard自体は、先程も著しました通り「F12」キー(初期値)を押す事により、Finder上にDashboard専用の半透明レイヤを呼び出す事ができます。その時にデスクトップ上に登録されているアクティブなWidgetが現在使用可能なWidgetとなり、画面左下の「+」ボタンを押すと、画面下側に鉄格子状のバー(Widgetバー)が表示され、そこには非アクティブなWidgetも含め「現在ログインしているユーザーが使用可能な全てのWidget」が表示されています。
Widgetバー
↑「Widgetバー」を呼び出したときの様子。左上の「×」印をクリックするとWidgetバーを閉じる事ができる

このWidgetバーからデスクトップ上に、アクティブな状態としてWidgetを追加するには以下の3種類の方法が考えられます

Widgetバー上にあるWidgetをクリック

単純にWidgetバー上のWidgetをシングルクリックするだけで、デスクトップ中央にクリックしたWidgetが追加されます。

Widgetバーからデスクトップへ、Widgetをドラッグ&ドロップ

WidgetバーからWidgetをドラッグ&ドロップする事によって、デスクトップ上の好きな位置にWidgetを追加する事ができます。

Widget管理用のWidgetによって個々のWidgetのON/OFFを制御

Mac OS X 10.4.2より追加された「Widget管理用のWidget(上記スクリーンショットの1番左で「ウィジェット」と表記されている)」上で、対象となるWidgetの左側のチェックボックスによって、アクティブ、非アクティブを切り替える事ができます。旧Mac OSの「機能拡張マネージャー」と近いイメージです。
Widget管理用のWidget
↑Widget管理用のWidget。旧Mac OSの「機能拡張マネージャー」のようにチェックボックスによってアクティブ、非アクティブを切り替えるようになっている

尚、個々のWidgetをDashboard上で非アクティブにするには、

「Widgetバーが表示されている状態」か、或いは「Optionキーを押しながら」のいずれかの状態で、非アクティブにしたいWidget上にカーソルを置くと、Widgetの左上にクローズボタン(×印)が表示されるので、そのボタンをクリックする事により、Dashboard上からWidgetを非アクティブにする事ができます(これでDashboard Clientも終了)。

今回はここで一区切りです。次回はWidgetのパッケージの構成や、幾つかの独自タグの存在、Dashboardのエフェクトを司る「CoreImage(コアイメージ)」等を紹介したいと思います。


●本文訳注

(注1)Web Kit

Appleより提供されているブラウザ用のフレームワーク。KDEオープンソースプロジェクトが開発したレンダリングエンジン「KHTML」に対しAppleが独自に変更を加えた「WebCore」や、「JavaScriptCore」と呼ばれるインタプリタ等を含んでいる。

(注2)スタンドアロン

インターネットやLAN等のネットワークに接続されていない、単体で稼働するコンピュータの事を指す場合が多いが、この場合は「単体で動作するアプリケーション」という意味合いで用いている。


御意見、御感想はこちらまで
Topページへ


Created Date : 05/12/25
Modified Date :