Из документов:
Переменная window-system-default-frame-alist
является списком элементов (WINDOW-SYSTEM . ALIST)
, где WINDOW-SYSTEM
является символом оконной системы, а ALIST
является списком параметров кадра.
Допустим, я хочу изменить список параметров кадра для системы X Window, чтобы он содержал элемент (font . "Monospace-11")
, но я не хочу, чтобы в этом списке было несколько элементов font
.
Так что мне делать?По сути, я перехожу по спискам, удаляю элемент, который хочу заменить / добавлять, а затем добавляю элемент.Это код:
(let ((x-frame-alist (alist-get 'x window-system-default-frame-alist)))
(cl-acons 'x (cl-acons 'font "Monospace-11"
(cl-remove (cl-assoc 'font x-frame-alist)
x-frame-alist))
(cl-remove `(x . ,x-frame-alist)
window-system-default-frame-alist)))
Тогда результат должен быть присвоен символу window-system-default-frame-alist
.Но как-то все это выглядит слишком сложным.Конечно, должно быть более простое решение.