GoogleChrome の拡張機能「Edit with Emacs」を elscreen と連携する
GoogleChrome でテキストエリアを編集する際、Emacs で編集する Edit with Emacs という拡張機能があります。
編集する際は、新しいバッファを作成し、そこでテキストの編集を行います。
これを elscreen の新しい screen を作って欲しく思い、defadvice してみました。
(defvar elscreen-edit-server-new-screen-created nil) (defadvice edit-server-done (after elscreen-edit-server-done) (when elscreen-edit-server-new-screen-created (elscreen-kill) (setq elscreen-edit-server-new-screen-created nil))) ;; (ad-deactivate 'edit-server-done) (ad-activate 'edit-server-done) (defadvice edit-server-create-frame (around elscreen-edit-server-create-frame (arg)) (setq elscreen-edit-server-new-screen-created nil) (cond ((> 10 (elscreen-get-number-of-screens)) (setq elscreen-edit-server-new-screen-created t) (elscreen-create) (switch-to-buffer (ad-get-arg 0))) (t ad-do-it))) ;; (ad-deactivate 'edit-server-create-frame) (ad-activate 'edit-server-create-frame)
edit-server-done への defadvice が、C-xC-s や C-xC-c をしたとき、Edit with Emacs が作ったスクリーンを消すようにする defadvice です。
# 新しくフラグとなる global 変数を作ってそこで制御して行うのは微妙な気もしますが、まあ…。
edit-server-create-frame への defadvice が elscreen の screen を作るようにする defadvice です。
まあ、よかったらどうぞという形で。
更新時刻
- 2010/05/15/23:45