Cocoa Emacs: emacsclientをAppに変換する
Emacsは常に起動させておけ、とEmacs使いは言います。
私もそれに従って、常にEmacsを起動させ、テキストファイルはほぼ全てEmacsで編集するようにしています。
Mac OS XのFinderでテキストを開きたい時は、ダブルクリックで起動済みEmacsを開きたいものです。
本来、このような用途では、emacsclientという実行ファイルで起動するのですが、
Cocoa EmacsのemacsclientはUnix実行形式のため、Finder上で設定することが出来ません。
(設定できるのはアプリケーション(.app)のみ。)
Emacs.appなら設定できますが、私の環境では
・別ウィンドウで開く
・色が変(黒背景のはずが、白背景になる)
という現象が起こり、かなり不便です。
そこで、Platypus (Platypus | Sveinbjorn Thordarson) というアプリケーションを使って、
ファイルをダブルクリックしたら、起動済みのEmacs.appのバッファ内で「期待通りに」開くようにします。
PlatypusはシェルスクリプトをMacのアプリケーション(.app)に変換してくれるツールです。
これを使って、emacsclientを.appに変換します。
( Yakitara: EmacsClient.app を参考にしました。)
1. 以下のようなシェルスクリプトを作る。
便宜上、 /Users/homu/bin/emacsclient.sh と名前を付ける。
/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -n "$1"
2. 以下の図のように設定する。
3. Finderで開きたいファイルを右クリックして、Get Info(日本語だと「情報を見る」だったはず、あるいはcommand+i)。
開くアプリケーションを指定する部分で、EmacsClient.appを選択する。
このとき、"Always open with"にチェックを入れる(日本語は略)。
これで、めでたく「期待通りに」起動済みEmacsでファイルが開けます。