Las caras de línea se definen en mu4e~headers-line-handler-functions
. Para cambiar la cara condicionalmente, puede establecer sus preferencias mu4e-mailing-list-colors
y probar el siguiente código (basado en la mu4e~headers-line-apply-flag-face
función):
(defvar mu4e-mailing-list-colors
'(("emacs-devel.gnu.org" . "green")
("emacs-orgmode.gnu.org" . "blue")))
(defun mu4e~headers-line-apply-mailing-list-face (msg line)
"Adjust LINE's face property based on the MSG's mailing-list value."
(let* ((ml (mu4e-message-field msg :mailing-list))
(face (if (assoc ml mu4e-mailing-list-colors)
`(:foreground ,(assoc-default ml mu4e-mailing-list-colors))
'mu4e-header-face)))
(when (fboundp 'add-face-text-property)
(add-face-text-property 0 (length line) face t line))
line))
(add-to-list 'mu4e~headers-line-handler-functions
'mu4e~headers-line-apply-mailing-list-face)
Para un efecto más súbito, puede agregar un nuevo campo de encabezado y agregar la fuente solo en esa parte de la línea. También tendrá que añadir (:colorize . 1)
a mu4e-headers-fields
y ajustar los números en add-face-text-property
. Aquí hay un ejemplo:
(add-to-list 'mu4e-header-info-custom
'(:colorize . (:name "Mailing list"
:shortname ""
:function (lambda (_msg)
(make-string 1 ?█)))))
(defun mu4e~headers-line-apply-mailing-list-face (msg line)
"Adjust LINE's face property based on the mailing list."
(let* ((ml (mu4e-message-field msg :mailing-list))
(face (if (assoc ml mu4e-mailing-list-colors)
(let ((color (assoc-default ml mu4e-mailing-list-colors)))
`(:foreground ,color :background ,color))
`(:foreground ,(face-attribute 'highlight :background)))))
(when (fboundp 'add-face-text-property)
(add-face-text-property 53 54 face t line))
line))