Atualizar:
load-theme-buffer-local.el
( Repositório GitHub ) deve fazer o que tentei, mas fazê-lo da maneira certa .
Para usá-lo eww
, instale-o e adicione
(add-hook 'eww-mode-hook
(lambda () (load-theme-buffer-local 'tango (current-buffer))))
para o seu arquivo init.
PS: Eu não posso testar essa abordagem, então, deixe-me saber se isso funciona.
Resposta original (mantida apenas para o registro):
Você pode usar face-remap-add-relative
para definir faces no buffer atual.
Depois de um pouco de pesquisa, descobri esse truque. Extrai as configurações de face de um tema e as aplica no buffer atual.
(defun set-theme-faces-in-buffer (theme)
"Use face remapping to set faces from a theme in the current
buffer. THEME should be a symbol."
(dolist (setting (get theme 'theme-settings))
(when (eq (car setting) 'theme-face)
(let ((face (nth 1 setting))
(spec (cadar (nth 3 setting))))
(ignore-errors
(apply #'face-remap-add-relative face spec))))))
Você pode combinar isso com um eww-mode-hook
para definir um tema diferente nos eww
buffers.
(add-hook 'eww-mode-hook
(lambda () (set-theme-faces-in-buffer 'tango)))
(Substitua tango
pelo seu tema de luz favorito.)
eww-mode