I've been writing my own custom org-agenda views lately, and I've had good luck playing around with org-agenda-prefix-format for customizing the format for my different tasks. I occasionally would like to include extra information, typically via my own added property tags. However, while I've been adding this extra information /before/ the task of interest, I'd prefer to include it /after/ the task.

For example, I currently display calendar events as:

Serenity:    18:00-19:00
              Location: Jaynestown
              Scheduled: TODO Help the Mudders

However, I'd like for this information to appear in the following order:

Serenity:    18:00-19:00 
              Scheduled: TODO Help the Mudders
              Location: Jaynestown

Notice that this cannot be done with org-agenda-prefix-format since some of the added text occurs after TODO Help the Mudders.


Edit: Here's the code I used to generate the above:

(defun gs/org-agenda-add-location-string ()
  "Gets the value of the LOCATION property"
  (let ((loc (org-entry-get (point) "LOCATION")))
    (if (> (length loc) 0)
    (concat "\n" (make-string 15 ?\s) "Location: " loc
        "\n" (make-string 15 ?\s))

And then use this custom function as follows (within org-agenda-custom-commands):

(org-agenda-prefix-format '((agenda . "  %-12:c%?-12t %(gs/org-agenda-add-location-string)% s") ...
  • What does your original task look like before the org-agenda buffer gets created, and what code are you using to create your first example? How about modifying org-agenda-format-item? By tweaking org-agenda-format-item, you can change any entry that is gathered prior to the creation of the org-agenda buffer. – lawlist Aug 13 '16 at 20:43
  • @lawlist I've added my source above at you're request. I'd like to avoid modifying org-agenda-format-item if possible, but if no built-in solution exists, I'm willing to give it a try. – GJStein Aug 13 '16 at 23:03
  • You could use the org-agenda-finalize-hook to comb the buffer and modify text after it has already been inserted, but that is not as ideal as modifying the text before it gets inserted. Here is a link to an example of gathering the raw data in the event you want to go crazy and create your own custom org-agenda view: emacs.stackexchange.com/a/12563/2287 – lawlist Aug 14 '16 at 3:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.