Okay, wow. Thanks for writing that. Do you have a Gittip or something? I would love to support your OSS work in some way or otherwise show my gratitude beyond words in an email!Anyway. I tried your function and it works. But afterwards, the node is completely folded. So I added (org-cycle) to the sequence of functions inside save-restriction. That seems to work, but I'm no elisp/Org pro. Is this how you would have done it?On 17 April 2014 13:55, Bastien <bzg@gnu.org> wrote:
Noah Slater <nslater@tumbolia.org> writes:Try this:
> Okay, that seem to work.
>
> But I'm not able to get this work:
>
> (add-hook 'org-after-sorting-entries-or-items-hook
> (lambda() (org-cycle-hide-drawers 'children)))
>
> After running the sort, all the LOGBOOK draws are still open.
(defun my-hide-all-drawers-in-current-subtree ()
"Hide all drawers in the current subtree."
(save-restriction
(org-narrow-to-subtree)
(org-cycle-hide-drawers 'all)
(org-cycle-internal-local)))
(add-hook 'org-after-sorting-entries-or-items-hook
'my-hide-all-drawers-in-current-subtree)
You can fix the cycling through the hook above.
> I'm also thinking: even if this closes the logbook draws, all the
> nodes will be unfolded. But my node tree is quite large. Is it be
> possible to refold all the nodes after n-levels?
>
> So let's say I have:
>
> * Level 1
> ** Level 2
> *** Level 3
>
> If I move the point to Level 1 and sort, I'd like it fold all Level 2
> items, but leave Level 1 unfolded.
HTH,
--
Bastien