emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] org-agenda-switch-to switches to weird place


From: Sebastien Vauban
Subject: Re: [O] org-agenda-switch-to switches to weird place
Date: Tue, 11 Oct 2011 21:35:59 +0200
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/23.3 (windows-nt)

Hi Antoine,

Antoine Levitt wrote:
> 11/10/11 18:45, Sebastien Vauban
>> Antoine Levitt wrote:
>>> I use org-capture to store information (such as appointments), then view
>>> them in the agenda. I use RET (org-agenda-switch-to) in the agenda view to
>>> modify them. For instance, for an entry like
>>>
>>> * TODO Some task
>>> SCHEDULED: !<2011-10-11 Tue>
>>>
>>> , point is at "!", which is inconvenient, because most of the time I want to
>>> modify the heading of the entry ("Some task"). A nice place to put the point
>>> would be at the %? specifier of org-capture-templates, if specified.
>>> Apparently, org-capture does the job of inserting a marker for
>>> org-agenda-switch-to to come back to, so it should be able to figure out if
>>> %? was specified, and if yes, where. I couldn't manage to do it, though.
>>> Could someone take a look at this?
>>
>> [...] I don't see how org-capture templates would come into play: your
>> different capture templates can have very different positions for %?, and
>> once captured, a note or TODO is no different than free text that the user
>> would have written manually.

Please consider what follows as doubtful, as I absolutely don't have enough
experience on this subject... but let's try...

> If I understand correctly, org-agenda-switch-to goes to the org-marker
> marker that is set by capture.

No, I absolutely don't think so. Org files are plain text files: what you
don't see in there, is simply not there. So, how could such markers be stored
in the Org file, when capturing something, and not be visible?

IIUC, the markers are simply some sort of regexp search to find certain
typical positions:

- org-marker matches the timestamp which is at the origin of the presence of
  the entry in the agenda

- org-hd-marker is the beginning of the heading.

> If capture inserts this marker right after the template insertion,
> org-agenda can then switch back to it. In theory at least. I can't make
> sense of org-capture's code.

So, no, capture does not insert any biscuit for later. It simply is the agenda
functions which scan all the agenda buffers, and remember where the important
elements are, to be used when jumping.

> Anyway, pretty much anything is better than the current behavior, which is
> not very user friendly when SCHEDULED info is present.

You say:

>>> , point is at "!", which is inconvenient, because most of the time I want to
>>> modify the heading of the entry ("Some task").

Do you really modify the title more often than the date? You have luck!
Because of procrastination, I'd say I much, much more often change the date, to
reprogram the entry at a later date, and so on, and so on.

Anyway, would you jump onto the beginning of the heading, just where the `***'
start, I think you can change the line:

    (org-get-at-bol 'org-marker))

with:

    (org-get-at-bol 'org-hd-marker))

to get another behavior. Now, from that, adding a constant number, or --
better -- moving forward a couple of times, or -- certainly there are still
better options -- ... would allow you to land on whichever component of the
heading.

Best regards,
  Seb

-- 
Sebastien Vauban




reply via email to

[Prev in Thread] Current Thread [Next in Thread]