Opera のWidget 管理ファイル widgets.adr の解説.

注意

この文書は,WindowsXPにWindows版の Opera 9.6 の情報に基づいて作成してます.

この文書を基にして,Operaにカスタマイズその他の変更を加えて,不具合が発生しても責任は取れません.

突っ込み,感想,その他は,office@ashula.infoまで

説明

widgets.adrは,Opera 9 から追加された widget を管理するためのファイルのひとつ.

widget 本体や設定などは opera:inis:widgetsdat というファイルで管理している.

「ユーザごとの設定を使う」でインストールすると,Opera Directory(通常,%APPDATA%\Opera\Opera\profile)以下に作られる(%APPDATA%は,通常Documents and Settings\user_name\Application Data).

基本的な構造は,Opera6.adrなどと同様.

#WIDGET が用いられるほか,XPOSITIONYPOSITION などの描画用のパラメータが追加されている.

構造

widgets.adr ファイルは,ヘッダと,本体からなる.文字コードはデフォルトでutf-8が使われる.

数行のヘッダの後,フォルダと個々の widget を表す構造が widgetの量だけ繰り返される.

ヘッダ

先頭は,Hotlist書式のversion情報が入る.

その後,ファイルのエンコード情報と,何かのversionが入る.改変が可能かどうかは不明.

サンプル

Opera Hotlist version 2.0 Options: encoding = utf8, version=3

本体

本体は基本的に,#FOLDER#WIDGET#SEPERATOR,それと-の4つの要素の繰り返しによって構成される.

#FOLDERは,そこから-が現れるまでの区間をひとつのフォルダとして扱うことを示し,#WIDGETは,次の#WIDGET-が現れるまでの区間をひとつの widget として扱うことを示す.

#SEPERATOR は区切り線を表し,任意の位置に出現する.

#FOLDER#WIDGET-の3つは行の先頭にあり,それ以外の属性は,タブ(U+09),名,”=“(U+3D),値 という構造をしている.

#FOLDER

Widgets Panel でフォルダとして表示される.

#FOLDER の属性一覧
属性名とり得る値属性の種類備考
ID 整数値 必須

すべての#FOLDER#WIDGET#SEPARATORに共通して付けられる.一意の非負整数値.

値は 各種 *.adr 全てに亘って一意の値で,生成された順につけられる.

NAME 文字列 任意 識別のための名前.何でもいい.
CREATED UnixTime 任意 作られた時刻のUnixTime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値
EXPANDED YES (NO) 任意 開かれている状態かどうかを示す.
TRASH FOLDER YES 任意 ゴミ箱(相当)のフォルダにのみ付く.

#WIDGET

個々の Widget を表す.

#WIDGET の属性一覧
属性名とり得る値属性の種類備考
ID 整数値 強制

すべての#FOLDER#WIDGET#SEPARATORに共通して付けられる.一意の非負整数値.

仔細は #FOLDER の ID属性を参照.

NAME 文字列 任意 識別のための名前.何でもいい.通常は widgetの config.xml の widgetname要素の値が採用される.
IDENTIFIER 文字列 強制

各 widget に対して何らかの規則で生成され,Widgets.dat でIDとして扱われる文字列.

widget フォルダ以下に同名のフォルダが生成され,cookies4.datdcache4.urlvlink4.datが保存される.

XPOSITION 整数値 強制 widget の描画位置のX座標.
YPOSITION 整数値 強制 widget の描画位置のY座標.
CREATED UnixTime 強制 アイテムが作られた時刻のunixtime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値
SCALE 整数値 強制 widget の表示倍率.通常のページのZoomと同義.
STYLE 0,1,2 強制 widget の表示方法.
0
通常のウィンドウとして表示(Normal)
1
最前面に表示(Always on Top)
2
最背面に表示(Always below)
TYPE 整数値 (任意) 不詳.
CLEAN UNINSTALL YES 任意 Widgetの追加から入れたかどうか?
CREATED UnixTime (強制) インストール時刻のUnixTime(00:00:00 UTC, January 1, 1970からの経過秒を表す)値
ACTIVE YES 任意 Operaの終了時にアクティブだった場合につく.

#SEPARATOR

区切り線 を表す.

#SEPARATOR の属性一覧
属性名とり得る値属性の種類備考
ID 整数値 強制 省略.仔細は #FOLDER の ID属性を参照.

構成

フォルダの階層構造についてはOpera6.adr の構成と同様なので省略.

カスタマイズ

特にいじれるところは無いが,アクティブなはずのウィジェットが画面外で見えないといったときに SCALE=100 STYLE=1 XPOSITION=0 YPOSITION=0 ACTIVE=YES として再起動して見つけるといったくらいの使い方は出来そう.

参考文献

;Widget : Opera Widgets Specification 1.0 - Opera Developer Community, http://dev.opera.com/articles/view/opera-widgets-specification-1-0/ , Opera Software

更新履歴