6

メジャーモードでモードリンクの前景色と背景色のベースを変更する方法があるかどうかを確認したいのですが、

にロジックを追加することを考えていました

(add-hook 'after-change-major-mode-hook

しかし、私はそのような変更を行うためのすべての emacs lisp の経験を持っているわけではありません。ロジックは次のとおりです。

switch major-mode:
case "emacs-lisp-mode":
  (set-face-foreground 'mode-line "ivory")
  (set-face-background 'mode-line "DarkOrange2")
case "ruby-mode":
  (set-face-foreground 'mode-line "white")
  (set-face-background 'mode-line "red")
...
default:
  (set-face-foreground 'mode-line "black")
  (set-face-background 'mode-line "white")
end switch

よろしくお願いします!

4

2 に答える 2

10

おそらく次のようなものが必要です。

(add-hook 'emacs-lisp-mode-hook
          (lambda ()
            (face-remap-add-relative
             'mode-line '((:foreground "ivory" :background "DarkOrange2") mode-line))))

顔にも face-remap を使用することをお勧めしますmode-line-inactive

于 2013-04-10T00:55:13.970 に答える