如何获取Emacs的背景类型?e、 g.';轻或';黑暗的

如何获取Emacs的背景类型?e、 g.';轻或';黑暗的,emacs,elisp,Emacs,Elisp,如何获取Emacs的背景类型?e、 g.'亮或'暗 可以定义如下所示的面: (defface moedict-type '((((class color) (background light)) (:foreground "#ffffd7" :background "#525252")) (((class color) (background dark)) (:foreground "#525252" :background "#c1c1c1"))) "Fac

如何获取Emacs的背景类型?e、 g.
'亮
'暗

可以定义如下所示的面:

(defface moedict-type
  '((((class color) (background light))
     (:foreground "#ffffd7" :background "#525252"))
    (((class color) (background dark))
     (:foreground "#525252" :background "#c1c1c1")))
  "Face for type. ex: [動]、[名]")
Emacs将根据当前背景类型自动选择正确的字体。 但我想知道它是怎么做的。(如果Emacs中有内置函数,则更好)


顺便说一下,我尝试在源代码中查找并找到了一个函数(帧背景色),但它的输出类似于字符串“#ffffff”。

您可以使用函数
帧参数
来获取帧的属性。对于您的特殊情况,您可以这样做

(frame-parameter nil 'background-mode)

获取当前帧的背景模式。第一个参数是要获取指定参数的帧(如果使用当前选定的帧为nil)。您可以执行C-hf
帧参数
RET

您可以使用
设置背景色
设置当前帧的所需颜色。是否设置背景色。这就是你想要的吗?不,我正想得到当前的背景颜色类型…检查变量
帧背景模式
,它似乎就是你想要的want@IqbalAnsari:请把你的评论写在一个答案中,这个答案可以被接受,也可以被投赞成票(或反对票)。@Drew如果你是对的,我应该把上面的内容作为答案发布(社区本来可以投票的),有点得意忘形,对不起!下次会小心的。