2009年10月10日土曜日

Emacsのタイトルバーにホスト名を表示させる

 Granzchesta's ぷち日常天国 さんの方で Emacs で tramp使用時にタイトルバーにホスト名を入れられないかどうか悩んでいたみたいなので試してみました。
 以下を ~/.emacs に追記。

;;; tramp でリモートホスト名をフレームに表示する。
(defun my-tramp-hostname ()
"tramp host name."
(if (buffer-file-name)
(if (string-match "\\`/\\([^[/:]+\\|[^/]+]\\):" (buffer-file-name))
(tramp-file-name-host (tramp-dissect-file-name (buffer-file-name)))
"local") nil ))
;; フレームにセット
(setq frame-title-format '("%b - " (:eval (my-tramp-hostname))))

 Emacsはテキストエディタなんですから決っして文字列操作が弱いわけではありません。テキストエディタなのに弱いとはこれいかに。