From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sebastien Vauban" Subject: Re: org-agenda-switch-to switches to weird place Date: Tue, 11 Oct 2011 21:35:59 +0200 Message-ID: <80hb3f5nj4.fsf@somewhere.org> References: <87lisrwmf7.fsf@gmail.com> <804nzf79zu.fsf@somewhere.org> <87r52jqwju.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org 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