GoogleChromeには、はてなブックマークを追加するだけのアドオンというものが存在しているが、Firefoxにはない。どういうわけか自分のはてなブックマークをローカルにダウンロードするとかいう余計な機能の付いた拡張しかない。そんなわけでChrome拡張と同じくCtrl+Bでブックマークが可能な設定を追加することにした。
正直な話本当に必要なのはブックマーク数でもローカル同期の機能でもなく、ワンショートカットでブックマークが可能な機能なのだが、どうもはてなの頭のおかしいプログラマたちはプログラマ的技術屋思考に陥っていて、こういう客先目線の機能を提供してはくれない。
ちなみにFirefoxのHatena Bookmarkは、同期を行っているせいでブラウザの動作をのろくするというひどいゴミアドオンなので、追加機能のためだけにこれを使うという選択肢はない。
addons.mozilla.org
ちなみに同期だけ止めるということもできない。完全なゴミアドオンである。自分のはてなブックマークのデータをローカルに置きたい人にしか用のないアドオン。しかし自分のほしいのはただショートカットキーを使ってブックマーク追加ダイアログを出してくれるアドオンなのだ。しかしはてなのプログラマは「そういう誰でもできるような機能は自分たちが実装するようなものではない」と言いたげに何もしない。彼らは一般ユーザが、欲しいと思っているならこういう機能が欲しいと提案するはずだし、その際にソースのたたき台も公開してくれると思い込んでるようだ。そこがはてな以降いくつもの有名ベンチャー企業が出ているのに、いつまでたっても はてな が有名ベンチャーになれない理由だろう。彼らは一般ユーザーというのは、欲しい機能があっても声も上げないし、提案もしないし、投票など何かしらの声を上げる機能があったとしてもそれに積極的にかかわるということはない、ということにいつまで経っても気づかないようだ。
KeySnailをインストール
github.com
xpiをダウンロード後、アドオン画面を開いてそこにxpiファイルをドラッグアンドドロップ。
キーバインドを追加
インストール後、右上にkeysnailのアイコンが追加されるのでここから設定ダイアログを開いて、
コマンド名:Hab
モード:Global
キー:Ctrl+B
を設定
関数には以下を入力
function (ev, arg) { var a = window, b = a.content.document, c = encodeURIComponent, d = a.open( 'http://b.hatena.ne.jp/add?mode=confirm&url=' + c(b.location) + '&title=' + c(b.title) , 'bkmk_popup' , 'left=' + ((a.screenX || a.screenLeft) + 10) + ',top=' + ((a.screenY || a.screenTop) + 10) + ',height=400px,width=550px,resizable=1,alwaysRaised=1'); a.setTimeout( function () { d.focus() } , 300) }
これでCtrl+Bではてなブックマーク追加ダイアログを別ウィンドウで開くようになった。通常Ctrl+Bはブックマークサイドバーを開くようになっているのでKeySnailのキーバインド一覧からこの設定を削除しておくように。
ただまぁ困ったことにブックマークした後自動でウィンドウは閉じてくれないので、タグとコメント入力してエンターした後はCtrl+Wでウィンドウを閉じるようにしよう