Hi James, this small patch against current org-colview.el lets you have a custom function for computing a "summary" of a property and displaying it in the column.
To compute the time since the timestamp, you can use this patch and some of your code like this: --8<---------------cut here---------------start------------->8--- (setq org-columns-custom-summary-function 'my-org-compute-since) (defun org-time-since (time) "Get the number of days since `time'" (time-to-number-of-days (time-since (apply 'encode-time (org-parse-time-string time))))) (defun my-org-compute-since (&rest values) "Eval elapsted days since the entry's timestamp." (let* ((ts (org-entry-get (point) "TIMESTAMP"))) (when ts (org-time-since ts)))) --8<---------------cut here---------------end--------------->8--- This patch is just a workaround, though. I think we should have a way of adding more than one custom function, as Mikael Fornius suggested when sending his first patch. Let's see what's Carsten take on this. Thanks!
diff --git a/lisp/org-colview.el b/lisp/org-colview.el index d132bf6..b312d35 100644 --- a/lisp/org-colview.el +++ b/lisp/org-colview.el @@ -698,20 +698,30 @@ around it." (org-columns-display-here (cdr x))) cache))))) +(defcustom org-columns-custom-summary-function nil + "A user-defined custom summary function. +This function takes one argument: a list containing the values of +all children for the summarized property. This function should +return a number." + :group 'org-link + :type 'function) + (defvar org-columns-compile-map - '(("none" none +) - (":" add_times +) - ("+" add_numbers +) - ("$" currency +) - ("X" checkbox +) - ("X/" checkbox-n-of-m +) - ("X%" checkbox-percent +) - ("max" max_numbers max) - ("min" min_numbers min) - ("mean" mean_numbers (lambda (&rest x) (/ (apply '+ x) (float (length x))))) - (":max" max_times max) - (":min" min_times min) - (":mean" mean_times (lambda (&rest x) (/ (apply '+ x) (float (length x)))))) + '(("none" none +) + (":" add_times +) + ("+" add_numbers +) + ("$" currency +) + ("X" checkbox +) + ("X/" checkbox-n-of-m +) + ("X%" checkbox-percent +) + ("max" max_numbers max) + ("min" min_numbers min) + ("mean" mean_numbers (lambda (&rest x) (/ (apply '+ x) (float (length x))))) + (":max" max_times max) + (":min" min_times min) + (":mean" mean_times (lambda (&rest x) (/ (apply '+ x) (float (length x))))) + ("custom" custom_function (lambda (&rest x) + (funcall org-columns-custom-summary-function x)))) "Operator <-> format,function map. Used to compile/uncompile columns format and completing read in interactive function org-columns-new.")
-- 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