背景
以前、bm.el をインストールした訳だが、デフォルトの色がちょっと見にくかったので変更してみた。【参考】自分のための日記: bm.el を入れてみた
環境
- Mac OS X Version 10.6.7
- GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local
- bm.el,v 1.55
デフォルトの色
デフォルトの色は、こんな感じ。文字の色は白で、背景は紺っぽい色。文字の色が単色であれば、そんなに問題ないようにも思えるが、ソースコードなどは型名、クラス名、メソッド名、リターンタイプ、予約語などは色付けされているので、紺だとちょっと色が強すぎる気が。。。あと、文字色がすべて白になってしまうのも、ソースコードを読むとき、コーディングしているときに見づらいと思った。
デフォルトの色の変更
bm.el 内で color で検索したら、この辺が出てきた。(((class color) (background light)) (:foreground "White" :background "DarkOrange1")) (((class color) (background dark)) (:foreground "Black" :background "DarkOrange1"))) (((class color) (background light)) (:foreground "White" :background "DarkBlue")) (((class color) (background dark)) (:foreground "White" :background "DarkBlue"))) (((class color) (background light)) (:foreground "White" :background "DarkOrange1")) (((class color) (background dark)) (:foreground "Black" :background "DarkOrange1"))) (((class color) (background light)) (:foreground "White" :background "DarkBlue")) (((class color) (background dark)) (:foreground "White" :background "DarkBlue")))
bm-persistent-face, bm-fringe-persistent-face に設定されている以下の色が怪しい、と思った。
(:foreground "White" :background "DarkBlue")
自分のバックグラウンドは白で明るいので (background light)の行を変更する。という訳で、399行と434行の設定を以下のように変更してみた。
- 変更前
(background light)) (:foreground "White" :background "DarkBlue"))
- 変更後
(background light)) (:background "LightGreen"))
設定を変更して、Emacs を再起動。
すると、何も変わらなかった。。。
Σ(゚Д゚;)ガーーーン!
よくよく bm.el のある ~/.emacs.d/auto-install ディレクトリを見ると、bm.elc ファイルがある。という訳で、bm.el をバイトコンパイル。
M-x byte-compile-file[Enter] ~/.emacs.d/auto-install/bm.el
そして、Emacs を再起動。
すると、ブックマークの色が期待した色になりましたー!
(・∀・)!
こちらの方が、foreground のカラーは維持されるし、background のカラーもどぎつくないので、断然見やすいのではないでしょうか?
因みに、今回は bm-persistent-face, bm-fringe-persistent-face の両方を変更しましたが、bm-persistent-face を変更するだけで、所望の結果が得られることが分かりました。lisp の書き方が分からないので、emacs の設定をするときは毎回「トライ&エラー」なのが悲しいところ。。。
(´・ω・`)
bm.el を変更せずに init.el で変更するなら、
返信削除(require 'bm)
(set-face-background 'bm-face "LightGreen")
でも ok かと。
コメント、どうもありがとうございます!!
返信削除教えて頂いたものを init.el に記述してみましたが、変更されませんでした。。。
(require 'bm)
(set-face-background 'bm-persistent-face "LightGreen")
とすることで、背景色が LightGreen になることを確認しました!!
しかし、この方法だと、背景色は LightGreen なのですが、文字の色が白色になってしまいます。
元の文字の色を維持できるよう、
(set-face-foreground 'bm-persistent-face "")
という記述をしてみましたが、
error: Empty foreground color value,
というエラーが出て、変更出来ませんでした。
デフォルトの文字色を維持できるよう、もう少し探ってみます。
ありがとうございます。