Thunderbird 3 リリースしましたね。一週間ぐらい前でしょうか。私は同じ話題でなんどかブログを書いていますがこりずにまた書きます。
というわけで Firemacs 3.7 を Thunderbird 3 で使えるようにしたのでお披露目します。
firemacs-3.7-tb.xpi
今回の変更点は以前の記事とほぼ同じなのですが、以下の部分を追加しました。
Thunderbird 2の時から Firemacs を使っていて Thuderbird 3 に上げてこの add-on をインストールした場合は C-v や M-v の設定がそれぞれ C-, M-, になっていると思いますので Firemacsの設定画面で C-v や M-v に変更する必要があります。Version 3 から Shiftをちゃんと認識するようになったからなんですが。
といった感じです。Thuderbird ライフのお役に立てれば幸いです。>ここの存在に気づいた方々
Tags: Emacs, Firemacs, Thunderbird
Thunderbird 3 Beta 3 というのが出てました。Thunderbird 3 のリリースがもうすぐなんでしょうね。何時なんでしょうね。
さて Firemacs 愛好者の私としては、Thunderbird 3 でもはたして動くか気になるところです。試してみたのですが、どうやら簡単に動かすことができそうです。
気づいた点を以下に少々。
とまあ、列挙するほどもない内容なんですが、簡単に動かせそうでよかったよかったという話。
Thunderbird 3 が出て Firemacs の動作確認ができたあかつきには、Firemacs の作者様にこういう変更を加えてくれると Thunderbird 利用者が喜びます、というメールを送った方がよいのかどうか只今迷い中。
Tags: Firemacs, Thunderbird
Firemacs という Firefox 用の拡張機能があります。Firefox でのキー操作が Emacs 風になります。
エディターに Emacs を使う、あるいは使っていた人々は、全てのアプリケーションのキー操作が Emacs ライクでないとストレスが溜まるという症状に苛まれます。私もその一人です。
その Firemacs ですが、Firefox がターゲットになってます。Thunderbird では動きません。
Firefox も Thunderbird も拡張機能はほぼ同じテクノロジーを使っているので動くはずだと思い、クイックハックをして動かしてみました。
以下、 Thunderbird で動かすための変更点を列挙します。ちなみに FIremacs 3.4 と Thunderbird 2.0.0.17 の組み合わせて確認しています。
念のため、firemacs-3.4-fx.xpi というファイルを firemacs-3.4-th.xpi という名前に変えて変更すると良いかと思います。
また、このファイルは zip形式なので winzipやjarなどのコマンドで展開したり固めたりして下さい。
まず、firemacs-3.4xpi の中にある install.rdf に以下の記述を追加します。</em:targetApplication> と <em:name>Firemacs</em:name> の間に入れます。
<em:targetApplication> <Description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minVersion>2.0.0</em:minVersion> <em:maxVersion>2.0.0.*</em:maxVersion> </Description> </em:targetApplication>
<em:targetApplication>
<Description>
<em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
<em:minVersion>2.0.0</em:minVersion>
<em:maxVersion>2.0.0.*</em:maxVersion>
</Description>
</em:targetApplication>
これで Thunderbird もインストール対象になります。次に chrome\firemacs.jar の中にある content\init.js の以下の部分を変更します。
(変更前) var firefoxVersion = ua.search(’Firefox/2|Iceweasel/2|BonEcho/2′) > 0 ? 2 : ua.search(’Firefox/3|Iceweasel/3|Minefield/3′) > 0 ? 3 : 0; (変更後) var firefoxVersion = ua.search(’Firefox/2|Iceweasel/2|BonEcho/2′) > 0 ? 2 : ua.search(’Firefox/3|Iceweasel/3|Minefield/3′) > 0 ? 3 : ua.search(’Thunderbird/2′) > 0 ? 2 : 0;
(変更前)
var firefoxVersion = ua.search(’Firefox/2|Iceweasel/2|BonEcho/2′) > 0 ? 2 :
ua.search(’Firefox/3|Iceweasel/3|Minefield/3′) > 0 ? 3 :
0;
(変更後)
ua.search(’Thunderbird/2′) > 0 ? 2 :
これで UserAgent 情報で判断している部分に Thunderbird2.* も加わります。
メール作成画面には検索バー(一番下にひょこっと現れるバー)がないので chrome\firemacs.jar の中にある content\subfunc.js の以下の部分を変更します。
(変更前) SearchOpen: function() { gFindBar.onFindCmd(); }, SearchClose: function() { gFindBar.closeFindBar(); }, SearchField: function() { return document.getElementById(’find-field’); }, SearchUnhilite: function() { gFindBar.toggleHighlight(false); }, SearchForward: function() { gFindBar.onFindAgainCmd(); }, SearchBackward: function() { gFindBar.onFindPreviousCmd(); } (変更後) SearchOpen: function() { if (typeof(gFindBar) == ‘undefined’) goDoCommand(’cmd_find’); else gFindBar.onFindCmd(); }, SearchClose: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.closeFindBar(); }, SearchField: function() { return document.getElementById(’find-field’); }, SearchUnhilite: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.toggleHighlight(false); }, SearchForward: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.onFindAgainCmd(); }, SearchBackward: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.onFindPreviousCmd(); }
SearchOpen: function() { gFindBar.onFindCmd(); },
SearchClose: function() { gFindBar.closeFindBar(); },
SearchField: function() { return document.getElementById(’find-field’); },
SearchUnhilite: function() { gFindBar.toggleHighlight(false); },
SearchForward: function() { gFindBar.onFindAgainCmd(); },
SearchBackward: function() { gFindBar.onFindPreviousCmd(); }
SearchOpen: function() { if (typeof(gFindBar) == ‘undefined’) goDoCommand(’cmd_find’); else gFindBar.onFindCmd(); },
SearchClose: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.closeFindBar(); },
SearchUnhilite: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.toggleHighlight(false); },
SearchForward: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.onFindAgainCmd(); },
SearchBackward: function() { if (typeof(gFindBar) == ‘undefined’) return; gFindBar.onFindPreviousCmd(); }
以上の変更を終えて firemacs-3.4-th.xpi を再構築したら Thunderbird へインストールしてください。
以上でインストールが終わり Thunderbird のキー操作が Emacs風になりますが、1つ問題があります。Thunderbird では M-> や M-< のような AltとShiftを押して記号キーを押すキー操作を検出できませんでした。M-, や M-. として検出してしまいます。(M-a ではなく) M-A や単なる < とかだと検出できるのですが。
なので、Firemacs の Configuration画面にて Edit タブにある move to the top と move to the bottom の M-< と M-> をそれぞれ M-, と M-. に変更します。
これで M-< と M-> キーが有効になります。
以上で快適な Thuderbird 環境になります。ぜひ試してみてください。なお自己責任でお願いします。
追記(2008-10-20)
chrome.manifest の一行目を以下の行に変更すると、画面右下のステータスバーに Firemacs のアイコンが現れ、右クリックで設定変更や有効・無効ができるようになります。(以下の表示は改行されてますが実際は1行です)
overlay chrome://messenger/content/messenger.xul chrome://firemacs/content/statusbar.xul
以下、作成したファイルを公開します。Unofficial な拡張機能です。
firemacs-34-th.xpi
Tags: Emacs, Firemacs, Thunderbird, キーバインド