"Ryan C. Thompson" <r...@thompsonclan.org> writes: > Here is some code I came up with some code to make it easier to > customize the colors of various TODO keywords. As long as you just want > a different color and nothing else, you can customize the variable > org-todo-keyword-faces and use just a string color (i.e. a string of the > color name) as the face, and then org-get-todo-face will convert the > color to a face, inheriting everything else from the standard org-todo > face.
Interesting - would you like to add this in org-hacks? http://orgmode.org/worg/org-hacks.php If so, please send me your username on repo.or.cz (if you are not already a Worger...) Thank! > To demonstrate, I currently have org-todo-keyword-faces set to > (("IN PROGRESS" . "dark orange") > ("WAITING" . "red4") > ("CANCELED" . "saddle brown")) > > Here's the code, in a form you can put in your .emacs. > > (eval-after-load 'org-faces > '(progn > (defcustom org-todo-keyword-faces nil > "Faces for specific TODO keywords. > This is a list of cons cells, with TODO keywords in the car and > faces in the cdr. The face can be a symbol, a color, or a > property list of attributes, like (:foreground \"blue\" :weight > bold :underline t)." > :group 'org-faces > :group 'org-todo > :type '(repeat > (cons > (string :tag "Keyword") > (choice color (sexp :tag "Face"))))))) > > (eval-after-load 'org > '(progn > (defun org-get-todo-face-from-color (color) > "Returns a specification for a face that inherits from org-todo > face and has the given color as foreground. Returns nil if > color is nil." > (when color > `(:inherit org-warning :foreground ,color))) > > (defun org-get-todo-face (kwd) > "Get the right face for a TODO keyword KWD. > If KWD is a number, get the corresponding match group." > (if (numberp kwd) (setq kwd (match-string kwd))) > (or (let ((face (cdr (assoc kwd org-todo-keyword-faces)))) > (if (stringp face) > (org-get-todo-face-from-color face) > face)) > (and (member kwd org-done-keywords) 'org-done) > 'org-todo)))) > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > -- Bastien _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode