Doom emacs应用spacemacs-light theme时背景颜色问题排查

问题困扰好久了,看了elisp face那章也没解决。习惯了spacemacs-light,想在doom emacs中应用。发现.el,.org等文件窗口的背景颜色不对,不是Default face的#fbf8ef(bg1),而是#efeae9(bg2),如图。用customize-face查看default的background也确实是#fbf8ef(bg1)。

特请教道友: 比较迷惑的是,打开el,org等文件时,背景应用的不是default face吗? 查看当前窗口的background 要用哪个命令?

用text-properties-at在背景正常和不正常的窗口查看,不正常的窗口有**(fontified t)的属性,正常的窗口为nil**。

找到问题所在了。经过试着把minor-mode一个个关闭,发现是solaire-mode影响。调整solaire-default-face的background即可。

还有 solaire-hl-line-face ,不然高亮当前行颜色会异常。可以加这样的 hook

(add-hook! doom-load-theme
           :append
           (unless (string-prefix-p "doom-" (symbol-name doom-theme))
              (set-face-background 'solaire-hl-line-face nil)
              (set-face-background 'solaire-default-face nil)))

:append 关键字是为了确保执行顺序在 solaire-mode-reset 之后。

感谢建议,我现在直接把这个包禁用了。(disable-packages! solaire-mode)