emacsクライアントの起動時にinit.elの内容を読み込ませる
init.el の中に次のような記述をしていた。
(if window-system
(setq linum-format "%4d")
(setq linum-format "%4d|"))
こういうのもある。
(if window-system
(load "resize-frame-interactively"))
これらは、emacsサーバーが起動するときは読み込まれない。
(emacsサーバーは GUI じゃないからな)
解決法
以下のようにする。
1つめ
(defun line-number-setup (frame)
(with-selected-frame frame
(if window-system
(progn
(setq linum-format "%4d")
(set-face-attribute 'linum nil :height 0.9))
(setq linum-format "%4d|"))))
;; 既存フレームに適用(デーモン起動時や通常起動時の初期状態)
(line-number-setup (selected-frame))
;; 新しいフレームが作られたときにも適用
(add-hook 'after-make-frame-functions #'line-number-setup)
2つめ
(defun resize-frame-setup (frame)
(with-selected-frame frame
(if window-system
(load "resize-frame-interactively"))))
(resize-frame-setup (selected-frame))
(add-hook 'after-make-frame-functions #'resize-frame-setup)
#' は、関数を値として扱う場合の表記法で、
#'resize-frame-setup
は
function resize-frame-setup
という意味になる。
カテゴリー: Emacs, memo
タグ: emacs-client, emacsクライアント, init.el, 設定ファイル
カウント: 19