hatena-bookmark-xul
hatena-bookmark-xul copied to clipboard
アドオンバーではなくステータスバーを使っている
chrome/content/overlay.xul でステータスバーのオーバーレイを行っているが、Firefox 4 以降の対応を考えるとアドオンバーを使いたい。 現在、インストール後にデフォルトではアドオンバーが表示されないが、これはステータスバーのオーバーレイを行っているためだと思われる。
現在、インストール後にデフォルトではアドオンバーが表示されないが、これはステータスバーのオーバーレイを行っているためだと思われる。
いえ、アドオンバー{#addon-bar
)は初期は隠れた状態です。ステータスバー(#status-bar
)にオーバーレイしているからではないと思います。
ステータスバーにオーバレイすることの弊害は、「ツールバーのカスタマイズ」から各アイテムを移動できないことではないかと思います。
『Firefox Hacks Rebooted』 の 1 章に 『アドオンバーを使用するアドオンをインストールした後は自動的に表示されるようになります』 と書かれていたり、MDN にも 『もしアドオンがそれ自身をアドオンバーに直接インストールしたときにバーがまだ可視になっていないならば、アドオンバーは自動的に可視になります』 [1] と書かれているので、アドオンバーにオーバーレイするように書き直せば、アドオンのインストール後に自動的に表示されそうだなーと思った次第です。 まだ試していないので、また試してみます!
ステータスバーにオーバレイすることの弊害は、「ツールバーのカスタマイズ」から各アイテムを移動できないこと
なるほど! ステータスバーからアドオンバーに変わったことの利点がいまいちわかっていなかった (アドオンバーを使わなければ、ステータスバーがなくなった分広くなる、という程度の認識だった) のですが、アドオンバーがツールバーの 1 つであるということでカスタマイズしやすくなっているのですね。 ありがとうございます。
[1] https://developer.mozilla.org/ja/The_add-on_bar
リスタートレスな拡張なら、インストール時にアイテムを追加すると、イベントをキャッチしてアイテム数が変わっていたら表示する処理があります。 http://mxr.mozilla.org/mozilla-central/source/browser/base/content/browser-addons.js#204
しかし、リスタートレスではない場合、というよりもFirefox再起動後の処理としては、その処理は特にない認識でいます。AddonsMgrListener.getAddonBarItemCount
の処理を見ると、ステータスバーのアイテム数のカウントしていることから、やはり単純にステータスバーからアドオンバーに移動しても効果はないと思います。
やるとしたら、インストール後の初回起動のみの処理で、アドオンバーを表示する処理を加えないと無理だと思っています。
仰るとおり、リスタートレスの拡張の場合にのみ、アドオンバーにアイテムを追加したときに自動的にアドオンバーが表示されるみたいですね。 日本語版の MDN のドキュメント にはリスタートレスの場合であることが明示されていませんでしたが、英語版の MDN のドキュメント には以下のように書かれていました。
- If a restartless add-on installs itself to the add-on bar directly and the bar is not already visible, the bar becomes visible automatically.
- If uninstalling a restartless add-on makes the number of items in the add-on bar become zero, the bar is hidden automatically.
日本語版の方、編集しておきます。