Как получить фоновый тип Emacs? например, "светлый" или "темный"
Как получить фоновый тип 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".
1 ответ
Решение
Вы можете использовать функцию frame-parameter
чтобы получить атрибуты кадра. Для вашего конкретного случая вы можете сделать
(frame-parameter nil 'background-mode)
Получить фоновый режим текущего кадра. Первый параметр - это кадр, для которого вы хотите получить указанный параметр, если nil используется текущий выбранный кадр. Вы можете сделать ChFframe-parameter
RET