Very nice, thanks. I like to see the top-level heading too, so I removed the (rest ...) call near the beginning.
-Ken
From: Anthony Lander [mailto:anthony@landerfamily.ca]
Sent: Monday, September 24, 2012 7:45 PM
To: Ken Williams
Cc: emacs-orgmode@gnu.org
Subject: Re: [O] Breadcrumbs?
Hi Ken,
You can bind this to a speed command. It will show you the path to the current headline (less the first heading) in the echo area, and will also copy it to the kill ring. This is the functionality I need, but it would be easy to modify
to do what you want.
(defun org-copy-outline-path-less-root-to-kill-ring (&optional a b)
"Copy the current outline path, less the first node, to the
kill ring, and echo to the echo area."
(interactive "P")
(let* ((bfn (buffer-file-name (buffer-base-buffer)))
(case-fold-search nil)
(path (rest (org-get-outline-path))))
(setq path (append path
(save-excursion
(org-back-to-heading t)
(if (looking-at org-complex-heading-regexp)
(list (match-string 4))))))
(let ((formatted-path (org-format-outline-path
path
(1- (frame-width)))))
(kill-new formatted-path)
(message "%s" formatted-path))))
Hope this helps,
-Anthony