TomblooのないChromeで自分をちょっとGoogle化する chromium for tableau

chromiumで動くTomblooが作れるようにならない限りchromiumをメインで使えるようにならないので、コードをいじってメニューからTumblrにpostできるようにしたchromiumをつくりました。いまのところOSX(intel)専用です。

About chromium

インストール

chromium for tableau本体
chromium.app.zip
tableau(chromium extension)
tableau-0.2.0.crx

使い方

ダウンロードしたchromium.appを起動してtableau-0.2.0.crxにアクセスして拡張機能をインストールしてください。

Confirmation

--enable-extensionsがデフォルトでオンになっているリビジョン(25962)をベースにしているので、ふつうに起動すれば拡張機能が有効になっています。

tableauがインストールされると右クリックしたときに出てくるコンテキストメニューにShareという項目が追加されます。

画像の上であればShare – Photo
Share Photo

テキストを選択していればShare – Quoteが出てきます。
Share Quote

何もないところだとShare – Linkになります。
あとはそのままメニューから選択すればログインしているTumblrにpostされます。

ソースコード

元のコードとの差分だけアップロードしています。
ku’s tableau at master – GitHub

僕の愛するTomblooがない

僕の愛するTomblooがない Tomblooこそ自分をGoogle化する最強のツール – Future Insight
Google Chrome 4.0(開発版)のBookmark sync + Autopagerizeが非常に快適な件について – Future Insight

自分も最近仕事でなにかを検索したりするのに使うのにはChrome+AutoPatchWorkで文句なしなのですが、それでもTomblooがないのは致命的なのでどうにかしたいとおもっていました。

いまのところchromiumがコンテキストメニューの拡張に対応しておらず、いちおうAPI Wish List (Chromium Developer Documentation)には載っているけれど当分実装されることは期待できなさそうなのでソースコードをいじって作りました。

まだTumblrにしかpostすることができませんがTomblooの最大の特徴は

  • いろいろなサイトからデータを取り出せて
  • いろいろなサイトにpostできる

ところなので、今後それが実現できるようにしたいと思います。

参考

Tomblooこそ自分をGoogle化する最強のツール – Future Insight

難しいところ

chomiumは外側のワク(アドレスバーとかブックマークとか)を管理しているプロセスとHTMLをレンダリングしているプロセスが別なので、クリックされた要素に応じてコンテキストメニューの中身を動的に変える、というのが難しいです。
Firefoxの場合すべてが同じプロセスの中で動いているので、ふつうにextensionからページのDOMツリーにアクセスして中身を読んで、ブラウザのコンテキストメニューを操作することができますが、chromiumの場合プロセスが別々なのでややこしいことをしないといけません。

DOMツリーを持っているのはレンダリングプロセス、メニューの内容を変更するロジックを持っているのはextensionのプロセス、実際にメニューを表示するのはブラウザプロセス、というふうに分かれているので全部IPCで繋いであげる必要があります。


About this entry