Thunderbirdアドオン開発でabout:configの値を取得する


Addon開発でユーザ設定値が欲しくなったとき、↓のようにして値を取得できるようです。

var prefValue = '';
try {
  // getCharPref() で文字列として取得
  // 例えばメールのカスタムヘッダの場合
  var str = Components.classes["@mozilla.org/preferences-service;1"]
    .getService(Components.interfaces.nsIPrefBranch).getCharPref("mail.compose.other.header");

  // UTF-8に変換
  var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
    .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
  converter.charset = "UTF-8";
  prefValue = converter.ConvertToUnicode(str);
catch(e){
  console.log(e);
}

書き込むときは setCharPref("mail.compose.other.header", "X-Custom")です。

Firefoxも同様だと思われます。

参考

https://developer.mozilla.org/ja/docs/Code_snippets/Preferences
http://so-zou.jp/add-on/tech/firefox/persistence/preferences/
http://d.hatena.ne.jp/vividcode/20100331/1270041237