Re: [Orgmode] Easier customization of TODO keyword colors

2010-02-25 Thread Carsten Dominik

Hi Ryan, hu everyone,

this code (an extended version of it) has now been integrated into Org.
It allows you to set fonts for TODO keywords, tags, and priorities in  
this way.
And you can use the variable `org-faces-easy-properties' to make these  
colors specify the background rather tan the foreground color -  
something I like for my TODO keywords.


Thanks Ryan!  Next stop will be using your level indentation cycling  
function.

Just make sure the FSF papers get through :-)

- Carsten

On Sep 4, 2009, at 7:20 AM, Ryan C. Thompson wrote:

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.


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


- Carsten





___
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode


Re: [Orgmode] Easier customization of TODO keyword colors

2009-09-05 Thread Manish
On Sat, Sep 5, 2009 at 3:47 AM, Ryan C. Thompson wrote:
 Bastien wrote:

 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!


 I'm not on either, actually. I'm a relative newcomer to org-mode and elisp
 hacking in general. But I'd love to see it on Worg.

Added that for you.  Should be online in an hour or so.

http://orgmode.org/worg/org-contribute.php

-- 
Manish


___
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


Re: [Orgmode] Easier customization of TODO keyword colors

2009-09-04 Thread Bastien
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


Re: [Orgmode] Easier customization of TODO keyword colors

2009-09-04 Thread Ryan C. Thompson

Bastien wrote:

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!
  
I'm not on either, actually. I'm a relative newcomer to org-mode and 
elisp hacking in general. But I'd love to see it on Worg.



___
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