frame の色を由緒正しく (?) 設定する for frame-background-mode
- 追記 (2010-10-22)
after-make-frame-functions
はユーザーがカスタマイズするのはよくない変数なので、この方法はお勧めできません。
さらに、NTEmacs23.2 で試したところ(add-to-list default-frame-alist ...)
で background-color を黒に指定した場合でも dark になるようです。
Emacs23のmulti-ttyを試すもtty版の背景色が邪魔な件 - (rubikitch loves (Emacs Ruby CUI Books))
ここを参考に,frame の色を由緒正しい感じがする方法で設定できるようにしました!
(defun my-set-display-for-windowed-frames (frame) "Set display parameters for the current frame the way I like them." (select-frame frame) (set-background-color "black") (set-foreground-color "#55FF55") ) (add-hook 'after-make-frame-functions 'my-set-display-for-windowed-frames) (my-set-display-for-windowed-frames (selected-frame)) ; これがないとうまくいかない
(setq default-frame-alist ...)
でいいんじゃないの? っていう意見もあるかと思いますが,ダメです(キリッ
(setq default-frame-alist ...)
の場合 frame-background-mode がいい感じにならないからです.
frame-backgroun-mode
あまり知られていない感じがするのですが,emacs の色とかの設定 face には,背景色が light
, dark
のときの2種類の設定を同時行うことができます.
(defface hlline-face '((((class color) (background dark)) (:background "#222244")) (((class color) (background light)) (:background "LightSteelBlue1")) (t ()))
こんな感じね.
で,問題の (setq default-frame-alist ...)
だと frame-background-mode が良しなになりません.
なので after-make-frame-functions
っていう hook を使うことでうまく行きます.
でも,なんでdefault-frame-alist
はダメで,after-make-frame-functions
はいいの? って聞かれてもわかりません(>_<)
教えて!エロい人