sud*_*udo 6 emacs customization emacs-faces
我有一个函数可以将 Emacs 的颜色主题设置为我自己定义的主题。在这个功能中,我做:
(set-face-attribute 'default cur-frame :foreground fg-color :background bg-color)
Run Code Online (Sandbox Code Playgroud)
然后我为default-frame-alist、initial-frame-alist和设置背景颜色、前景色和光标颜色special-display-frame-alist。
所有这些在我的 Mac 上都运行良好。但是当我在 Linux 上使用它时,对于已经打开的所有框架看起来都很好,但是在新创建的框架上它看起来像这样:

如果使用set-background-color/set-foreground-color函数而不是 ( set-face-attribute 'default ...) ,则新框架不会出现此问题。但是如果我这样做,我必须手动重置已经打开的每个帧的颜色。
我在 Mac 和 Ubuntu 上都使用 Emacs 23.3 版。
为了澄清起见,这是我使用的主题文件:
小智 6
set-face-attribute顾名思义,设置的是人脸的属性(即与字体相关的属性),而不是框架的属性。用
(add-to-list 'default-frame-alist '(background-color . "lightgray"))
并类似于更改与框架相关的属性。
貌似用起来比较好
(custom-set-faces
'(default ... )
'(region ... )
....
)
Run Code Online (Sandbox Code Playgroud)
style 来设置面孔,这样就不会出现这个问题。