Change Org Mode TODO keyword color based on the state and the current Modus theme
| emacs, org
I use modus-theme-toggle
to switch between
modus-vivendi-tinted
and modus-operandi-tinted
depending on whether I want a dark background or a
light one. I also customize my
org-todo-keyword-faces
to visually distinguish
TODO, DONE, WAITING, and SOMEDAY. This is how to
colour them based on the current Modus theme.
(defun my-org-todo-set-keyword-faces () (setq org-todo-keyword-faces `(("TODO" . (:foreground ,(modus-themes-get-color-value 'blue-warmer) :weight bold)) ("DONE" . (:foreground ,(modus-themes-get-color-value 'green-warmer) :weight bold)) ("WAITING" . (:foreground ,(modus-themes-get-color-value 'red-warmer) :weight bold)) ("SOMEDAY" . (:foreground ,(modus-themes-get-color-value 'fg-dim) :weight bold)))) (when (derived-mode-p 'org-mode) (font-lock-fontify-buffer))) (with-eval-after-load 'modus-themes (add-hook 'modus-themes-after-load-theme-hook #'my-org-todo-set-keyword-faces))
This is part of my Emacs configuration.
You can comment with Disqus or you can e-mail me at sacha@sachachua.com.