にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

userChrome.jsでFirefoxさくさく

せっかく高速なマシンを使っているのに、Firefoxが早くももっさりし始めてきたので拡張機能を見直し。
userChrome.jsという拡張機能を教えてもらったので早速試してみました。
ちなみに、私の環境はUbuntu Linux 7.04です。
参考にしたのは、以下のサイトなど。

userChrome.jsをインストール

[Ext] userChrome.js 0.8 - MozillaZine Forumsより拡張機能をインストール。

Sub-Script/XUL Loaderのダウンロード

[Ext] userChrome.js - MozillaZine Forumsのページ中程のCode Sampleのリンクにあるテキストを、userChrome.jsと名前を付けて、$HOME/.mozilla/firefox/{なにかの文字列}/chrome以下に保存。
拡張機能のuserChrome.jsのバージョンが0.8の場合は、以下を保存したスクリプト(Sub-Script/XUL Loader)の先頭に加える。(情報元失念)

if (location != "chrome://browser/content/browser.xul")
        throw "stop";

好きなスクリプトを上記chromeディレクトリに突っ込む

ここからは各自の好きなようにするとよいです。
前述の参照サイトにたくさんあげられていますが、軽量マウスジェスチャCopy URL Liteを使用しています。
簡単に拡張できるのがいいところで、私はCopy URL Liteにはてなダイアリー編集用に、
copy-url-lite.uc.jsのmMenusの配列に以下の二つの要素を追加しました。

var mMenus = [
  {
    (省略)
  },
  {
    label: "Hatena Diary Link(URL+Title)",
    accesskey: "H",
    get text() {
      var win = document.commandDispatcher.focusedWindow;
      return '[' + win.location.href + ':title=' + 
             win.document.title + ']';
    }
  },
  {
    label: "Hatena Diary Quote(URL+Title+Selection)",
    accesskey: "Q",
    get text() {
      var win = document.commandDispatcher.focusedWindow;
      return '>' + win.location.href + ':title=' + win.document.title + '>' +
      EOL + win.getSelection().toString() + EOL + '<<' + EOL;
    },
    get shouldDisplay() {
      return gContextMenu.isTextSelected;
    }
  },
];

あと、既存のメニューも文字化けしたので英語に変更。
これで、右クリックメニューにはてダ用のリンクタグと、文字列を選択したときは引用タグが自動でクリップボードに入れられます。
もっと他のスクリプトも追加してみたくなりますね。