emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] [PATCH 2/2] org-agenda: add org-agenda-day-face-function


From: Julien Danjou
Subject: [Orgmode] [PATCH 2/2] org-agenda: add org-agenda-day-face-function
Date: Mon, 8 Nov 2010 18:23:07 +0100

* lisp/org-agenda.el (org-agenda-day-face-function): New variable.
(org-agenda-get-day-face): Use org-agenda-day-face-function.

Signed-off-by: Julien Danjou <address@hidden>
---
 lisp/org-agenda.el |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 98371e6..ffd6c90 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -1433,6 +1433,14 @@ determines if it is a foreground or a background color."
                                   (string :tag "Color")
                                   (sexp :tag "Face"))))))
 
+(defcustom org-agenda-day-face-function nil
+  "Function called to determine what face should be used to display a day.
+The only argument passed to that function is the day. It should
+returns a face, or nil if does not want to specify a face and let
+the normal rules apply."
+  :group 'org-agenda-line-format
+  :type 'function)
+
 (defcustom org-agenda-category-icon-alist nil
   "Alist of category icon to be displayed in agenda views.
 
@@ -3108,11 +3116,13 @@ no longer in use."
 
 (defun org-agenda-get-day-face (date)
   "Return the face DATE should be displayed with."
-  (cond ((org-agenda-todayp date)
-        'org-agenda-date-today)
-       ((member (calendar-day-of-week date) org-agenda-weekend-days)
-        'org-agenda-date-weekend)
-       (t 'org-agenda-date)))
+  (or (and (functionp org-agenda-day-face-function)
+          (funcall org-agenda-day-face-function date))
+      (cond ((org-agenda-todayp date)
+            'org-agenda-date-today)
+           ((member (calendar-day-of-week date) org-agenda-weekend-days)
+            'org-agenda-date-weekend)
+           (t 'org-agenda-date))))
 
 ;;; Agenda timeline
 
-- 
1.7.2.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]