0

I often collect several meetings under one heading in my org files, e.g.:

* Interdisciplinary studies
** Paracelsus reading group
*** Meeting <2020-01-07>
    ...
*** Meeting <2020-01-14>
    ...
*** Meeting <2020-01-21>

In my agenda view, each such meeting will show up just with its headline Meeting. It would be much more informative if the heading of the next higher level (Paracelsus reading group) were also displayed. Is there any way to achieve this? Or should I rather structure my org files differently?

1
  • Not a proper answer, but you could use inherited categories to group them. It'll show in the left beside heading.
    – Muihlinn
    Jul 9, 2020 at 15:54

2 Answers 2

1

You can add breadcrumbs to org-agenda-prefix-format:

(setq org-agenda-prefix-format '((agenda . " %i %-12:c%?-12t% s %b") (todo . " %i %-12:c") (tags . " %i %-12:c") (search . " %i %-12:c")))

That %b in the agenda entry adds higher level info:

  foo:        21 d. ago:   Foo->Type 1->TODO Item 1                                          :type1::
  Org:        Sched. 3x:   Bills->Misc->TODO Water

Do C-h v org-agenda-prefix-format RET for all the place-holders you can use:

Format specifications for the prefix of items in the agenda views.

An alist with one entry per agenda type.  The keys of the
sublists are ‘agenda’, ‘todo’, ‘search’ and ‘tags’.  The values
are format strings.

This format works similar to a printf format, with the following meaning:

  %c   the category of the item, "Diary" for entries from the diary,
       or as given by the CATEGORY keyword or derived from the file name
  %e   the effort required by the item
  %l   the level of the item (insert X space(s) if item is of level X)
  %i   the icon category of the item, see ‘org-agenda-category-icon-alist’
  %T   the last tag of the item (ignore inherited tags, which come first)
  %t   the HH:MM time-of-day specification if one applies to the entry
  %s   Scheduling/Deadline information, a short string
  %b   show breadcrumbs, i.e., the names of the higher levels
  %(expression) Eval EXPRESSION and replace the control string
                by the result
2

Not as complete a solution as https://emacs.stackexchange.com/a/59556/21368, but if you move the point to an item on the agenda, the full list of headings is displayed in the mini-buffer. So in your case:

foo.org/Interdisciplinary studies/Paracelsus reading group/Meeting <2020-01-07>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.