From: Bastien <bastienguerry@googlemail.com>
To: "Ryan C. Thompson" <rct@thompsonclan.org>
Cc: org-mode Mailinglist <emacs-orgmode@gnu.org>
Subject: Re: Easier customization of TODO keyword colors
Date: Fri, 04 Sep 2009 16:23:27 +0800 [thread overview]
Message-ID: <87skf36ruo.fsf@bzg.ath.cx> (raw)
In-Reply-To: <4AA0A386.6030901@thompsonclan.org> (Ryan C. Thompson's message of "Thu, 03 Sep 2009 22:20:06 -0700")
"Ryan C. Thompson" <rct@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
next prev parent reply other threads:[~2009-09-04 14:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-04 5:20 Easier customization of TODO keyword colors Ryan C. Thompson
2009-09-04 8:23 ` Bastien [this message]
2009-09-04 22:17 ` Ryan C. Thompson
2009-09-05 7:06 ` Manish
2010-02-25 16:48 ` Carsten Dominik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87skf36ruo.fsf@bzg.ath.cx \
--to=bastienguerry@googlemail.com \
--cc=emacs-orgmode@gnu.org \
--cc=rct@thompsonclan.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.