自分好みのガジェットを作る! Windowsサイドバーガジェット作り入門

第2回 ガジェットを作ってみる(前編)

この記事を読むのに必要な時間:およそ 5 分

ガジェットの構成要素

それでは実際にファイルを作っていきたいと思いますが,その前にガジェットを構成するファイルを順番に作るためにも整理しておきます。ガジェットは一般的に以下のファイルで構成されます。

  • ガジェットについてを定義するためのガジェットマニフェストファイル
  • ガジェットのUIを構成するためのHTML/CSS
  • ガジェットをコントロールするJavaScript
  • その他(画像などリソースファイル)

ガジェットマニフェストファイルは,ガジェットに必ず必要となります。

HTML/CSS,JavaScriptはひとつのファイルにまとまっていても問題ありません。今回はファイルを分けずに一つのHTMLにCSSとスクリプトまで書くことにします。

その他の画像・リソースファイルは無くても作ることはできます。

ガジェットマニフェストファイルを作る

まずは,ガジェットに必ず必要なガジェットマニフェストファイルを作成するところからはじめます。

ガジェットマニフェストファイルとは,

  • ガジェットの名前
  • ガジェットの説明
  • バージョン情報
  • 作成者のウェブサイト
  • 開始HTMLファイルの指定

などの情報が含まれるガジェットの定義ファイルです。Windowsサイドバーはこれらの情報を読み取ってガジェット一覧画面に情報を表示したり,ガジェットの実行のためのHTMLを決定したりします。

次の図はガジェット選択画面の詳細表示の例です。ここに表示される内容はマニフェストファイルに記述されています。

図2 ガジェット選択画面の詳細表示の例

図2 ガジェット選択画面の詳細表示の例

それではガジェット定義ファイルを作成します。ガジェット定義ファイルはgadget.xmlという名前のXMLファイルです。このファイル名は固定でガジェットフォルダの直下に置かなければなりません。XMLファイルの内容は以下のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<gadget>
    <name>Wikipedia Search</name>
    <version>1.0.0.0</version>
    <hosts>
        <host name="sidebar">
            <base type="HTML" src="Main.html" />
            <permissions>Full</permissions>
            <platform minPlatformVersion="1.0" />
        </host>
    </hosts>
</gadget>

コードを先に示してしまいましたが最低限必要なものだけですし,要素名からぱっと見てどのようなものがどういう構造になっているのか予想できると思います。以下でXMLの内容を簡単に説明していきます。

gadget要素
ガジェットマニフェストファイルのルート要素です。すべての要素はこの要素の下におかれます。
name要素
ガジェットの名前です。説明や一覧などに表示される表示名です。ここでは一覧にWikipedia Searchと表示させたいのでWikipedia Searchと記述しています。
version要素
ガジェットのバージョンをあらわす文字列です。バージョン文字列は<メジャー>.<マイナー>.<リビジョン>.<ビルド>という4つの数字で構成されます。Windowsサイドバーは同名のガジェットをダウンロードした際,バージョンを確認することでアップデートをする必要があるかどうかを決定します。今回はまだ一度も更新していないので1.0.0.0を記述しています。
hosts要素
以下で説明するhost要素をまとめるための要素です。host要素は最低必ずひとつは持つ必要があります。
host要素
ガジェットの実行単位を定義します。どのHTMLから開始するのかなどの設定をもちます。hosts要素の子要素になります。name属性は必須で値はsidebarを固定で指定する必要があります。
base要素
表示するガジェットのHTMLファイルを指定します。host要素の子要素になります。type属性およびsrc属性は必須です。type属性の値はHTML固定で,src属性にはガジェットとして表示したいHTMLファイルのパスを指定します。ここではMain.htmlをガジェットとしたいのでMain.htmlと記述しています。
permission要素
実行許可を指定する要素です。host要素の子要素になります。内容にfullを指定する必要があります。full以外は現バージョンでは指定できません。
platform要素
実行環境を指定する要素です。host要素の子要素になります。minPlatformVersion属性は必須で値は1.0を固定で指定する必要があります。

著者プロフィール

沢渡真雪(さわたりまゆき)

普段はASP.NETやPerlでWebアプリケーションを書くのが主。興味の向きはWindows一般から.NET Framework,Perl(Plaggerとか)やMac OS Xなど。

URLhttp://www.misuzilla.org/