On Nov 28, 2007 12:23 PM, Rick Moynihan <
rick@calicojack.co.uk> wrote:
Carsten Dominik wrote:
> I for one do find this idea useful. Some way to lock all agenda
> commands to the current subtree or file, until this lock is removed
> again. I am not sure if I'd like the agenda to automatically follow
> while I am moving through a file - this would be slow since agenda
> construction does need a finite amount of time.
Would it necessarily need to be so slow? It seems to me that edits are
pretty much prohibited during an org-goto, so could you not just build
the agenda once for the org-goto session and then filter it to the
subtree? Could that speed it up more, or is it the filtering itself
which is slow? I appreciate this might not be the case, or it might not
be possible to architect the system to support this.
Org-mode does not keep an internal structure of the data it contains.
Each time information is needed, the original plain text files
are scanned. This is the good an bad of plain text files.
In principle one could of course make an internal structure, index it
in the appropriate ways and then create many different displays fast.
But that would require a rewrite of the entire agenda code, and
intensive bookkeeping to make sure updates happen when
they are needed. Since Org-mode is committed to the
plain text format, this is not going to happen.
Either way my mentioning of follow was more to indicate the interaction
style and browsable nature it encourages, rather than the instantaneous
nature of it. Pressing a single key to rebuild the agenda view for the
current subtree would be fantastic and probably easier for you to
implement :-)
> I have also been thinking about using the sidebar engine to display
> something like omnifocus' side bar hierarchy and have mouse clicks
> restrict the agenda stuff to the context. But I guess this is not
> needed since we have an outlining buffer anyway...
Interesting... It seems that the org-goto idea and your sidebuffer idea
are similar. You're right that it might not be needed, but it seems
that it might be quite nice to render user-defined subtrees in the
sidebar, as a kind of shortcut to current projects or outlines of
concern. You're right that it might not be adding any real
functionality, but I can see that it might make navigating
easier/quicker for some users. One potential problem is that org seems
to encourage outlines to be titles (and consequently they're quite
long). If this were to be browseable in a sidebar you might want
represent them with aliases or shortened names, property drawers would
be an obvious way to implement this.
I have tried this, and it actually works reasonably well for me.
I will put sidebar support into org-mode, so that you can drill
into an org-mode file (one or two levels deep, maybe) directly
from the sidebar. I could also have hot keys in the sidebar
that will restrict the agenda to the file or subtree the cursor
points to. If combined with an immediate update of the agenda
(if it is visible), this might get close to what you are looking for.
Together with a command in an Org-mode buffer to restrict to the
local subtree/file and immediately update the agenda.
I think this is going to be *very* nice, thanks for the idea!
- Carsten