こんにちは、chibaです!
Emacs大好きな自分は、Firefoxのテキストエリアの編集には、It’s All Text!を利用しているのですが、最近Chromeを使うことも多く、It’s All Text!みたいなのが、Chromeにもないかなあとちょっと探してみたらEdit with Emacsというのをみつけました。
It’s All Text!と違ってこちらは Edit with Emacs という名前の通りEmacs専用という感じです。
Emacs側で、サーバーを立てて接続を待ち受けるという方式なので、専用のelispを読み込ませておく必要があります。
いつものパターンなのですが、ChromeからEmacsを呼び出したときは、フォーカスをEmacsに遷移、そして編集が終わればまたChromeにフォーカスを自動で戻したいところ。
StumpWMならば、シェルからコマンドを実行できる仕組みがあるので、これでフォーカスの遷移に対応してみました。
(progn (require 'edit-server) (setq edit-server-new-frame nil) (unless edit-server-new-frame (add-hook 'edit-server-done-hook (lambda () (start-process "->chrome" nil "stumpish" "chrome")))) (add-hook 'edit-server-start-hook (lambda () (start-process "->emacs" nil "stumpish" "emacs"))) (edit-server-start) )
Edit with Emacsと連携させる、edit-server.elですが、フックを掛けられるように作り込まれていて、楽に拡張ができます。この辺りに地味に感心しました。 ■