Firefox拡張機能で設定値を読み書きする (その1)
ここまでのあらすじ
Bottom Error ConsoleというFirefox拡張機能を作った。ウィンドウを分割して下側にエラーコンソールを表示するadd-onだ。でも、ちょっと困った所がある。
- エラーコンソールのデフォルトの高さが300px固定になっている。もっと自由に指定したい。
- 起動したときにエラーコンソールが必ず閉じている。特に、開いた状態で再起動した場合は、再起動後もやっぱり開いていてほしい。
これを修正することにした。
修正方法
これを直すには、設定値を保存しておく必要がある。about:configで出てくるあれだ。調べてみると以下のページが見つかった。
Preferences - MDC
ただ、このページはなんか分かりにくいので、自分なりに試したメモを残すことにした。
設定値の構造
設定値の名前はドットを区切りとしたツリー構造になっている。今回新しく作る設定値はextensions.bottomerrorconsole
の下に作ることにした。これでFirefoxが本来持っている設定値とかぶらないようにできる。
デフォルト値の設定
何やらデフォルト値を設定すると良いらしいので、そうする。これで拡張機能をインストールした直後からその値が使用可能になる。
デフォルト値はdefaults/preferences/*.js
ファイルに書いておけば良い。今回のファイル構造はこんな風になった。defaultsディレクトリ以下が今回新しく作った分だ。
bottom_error_console-0.2.1-fx.xpi
-- install.rdf |
-- chrome.manifest |
-- chrome/ |
`-- bottom_error_console.jar |
defaults/preferences
というディレクトリ名は固定で、変えてはいけない。一方、jsファイルの名前は'.js'で終わっていれば何でも良い。ここではbottomErrorConsole.jsとした。
このjsファイルの書き方はこんな感じ。
// ここはコメント // 文字列 pref("extensions.bottomerrorconsole.height_mode", "previous"); // 整数値 pref("extensions.bottomerrorconsole.default_height", 400); // 真偽値 pref("extensions.bottomerrorconsole.is_opened_at_shutdown", false);
要するにpref
の引数として「設定値名」と「デフォルト値」を指定すれば良い。また、値の種類として「文字列」、「整数値」、「真偽値」の3種類がある。適当に使い分けよう。
あとは起動時にFirefoxが勝手にこの値を読んでくる。再起動した後about:configにこの値が出ていれば成功だ。
次回はJavaScriptコードからこの設定値を読み書きする。