emacs - 如何获得 Emacs 的背景类型?例如 'light or ' 暗

标签 emacs elisp

如何获得 Emacs 的背景类型?例如'light'dark
你可以像这样定义一张脸:

(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有内置函数就更好了)

顺便说一句,我尝试在源代码中查找并找到一个函数(frame-background-color),但它的输出是类似“#ffffff”的字符串。

最佳答案

您可以使用功能frame-parameter获取框架的属性。对于您的特定情况,您可以这样做

(frame-parameter nil 'background-mode)

获取当前帧的背景模式。第一个参数是您想要获取指定参数的帧,如果 nil 使用当前选定的帧。你可以做 C-hf frame-parameter可再生能源

关于emacs - 如何获得 Emacs 的背景类型?例如 'light or ' 暗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21834575/

相关文章:

emacs - 在 Emacs 中替换字符

emacs - 在 emacs lisp 中匹配关联列表中的键

emacs 术语模式中的 Unicode 字符

emacs - 指定 elisp 命令的输出窗口

emacs - emacs 中的上下文相关字体锁定

eclipse - Emacs颜色语法配置

emacs - emacs 中非字母数字字符的语法突出显示

emacs - Emacs Elscreen-如何禁用“分屏”?

javascript - Emacs 运行 javascript?

linux - Emacs 编译缓冲区显示引号的十六进制值