From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilya Shlyakhter Subject: Re: custom sorting of agenda items Date: Tue, 17 Aug 2010 12:40:14 -0400 Message-ID: References: <87r5ie2dpx.fsf@gnu.org> <693E7971-E33F-4354-B947-A07FA3D873A6@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: Received: from [140.186.70.92] (port=44927 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OlPD0-0007bt-IC for emacs-orgmode@gnu.org; Tue, 17 Aug 2010 12:40:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OlPCz-00065H-8Q for emacs-orgmode@gnu.org; Tue, 17 Aug 2010 12:40:18 -0400 Received: from mail-ww0-f41.google.com ([74.125.82.41]:48261) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OlPCz-000653-4K for emacs-orgmode@gnu.org; Tue, 17 Aug 2010 12:40:17 -0400 Received: by wwi14 with SMTP id 14so1198131wwi.0 for ; Tue, 17 Aug 2010 09:40:15 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: Martin Pohlack , emacs-orgmode Mode , Bastien Guerry Thanks Carsten, org-agenda-before-sorting-filter-function does what I need. It would be better if it was called with the point already on the corresponding headline in the corresponding buffer. This would also be faster as you could call it for all entries in one buffer at a time, avoiding a separate excursion for each entry. It seems that _appending_ text to the agenda line should be safe. Is that correct? thanks, ilya On Mon, Aug 16, 2010 at 9:40 AM, Carsten Dominik wrote: > > On Aug 16, 2010, at 2:59 PM, Ilya Shlyakhter wrote: > >> Thanks! =A0 Would things work faster if there was a user-defined hook >> that was called at each agenda entry at the same time >> the 'org-hd-marker property gets stored, so it could store any other >> things it needs from the entry as text properties for later >> use by user-defined entry sorting routine? > > Please pull and take a look at the new variable > `org-agenda-before-sorting-filter-function'. > > Martin, I think you could use this variable also for your > "filtering" application. > > - Carsten > >> >> ilya >> >> On Mon, Aug 16, 2010 at 8:54 AM, Carsten Dominik >> wrote: >>> >>> On Aug 5, 2010, at 1:01 AM, Ilya Shlyakhter wrote: >>> >>>> When giving a user-defined function for org-agenda-cmp-user-defined, >>>> the function gets two agenda entries. =A0 Is there a way from an agend= a >>>> entry >>>> to get to the original org entry? >>> >>> Yes, the marker that points to the original entry is stored in text >>> properties. >>> You can take it and then go to the entry, for example with >>> >>> (org-with-point-at (org-get-at-bol 'org-hd-marker) >>> =A0 =A0;; do here what you need to do at the location of the entry >>> =A0 =A0) >>> >>> You could do this in org-finalize-agenda-hook for all entries, for >>> example. >>> Might slow things down, of cause. >>> >>> HTH >>> >>> - Carsten >>> >>>> >>>> Best would be if, besides a user-defined sort function, you could also >>>> provide >>>> a function that takes the org entry and the agenda item (i.e. is run >>>> with >>>> point >>>> on the org entry and is passed the agenda item), and can then store >>>> anything >>>> it wants about the org entry as text properties on the agenda item. >>>> The companion user-defined sorting function could then use these store= d >>>> text properties for ordering the agenda items. =A0 Could you add such = a >>>> hook? >>>> >>>> thanks, >>>> >>>> ilya >>>> >>>> On Wed, Aug 4, 2010 at 6:51 PM, Bastien >>>> wrote: >>>>> >>>>> Hi Ilya, >>>>> >>>>> Ilya Shlyakhter writes: >>>>> >>>>>> I'd like to sort agenda entries in a custom agenda view by the value >>>>>> of a text property that I put on the headlines. >>>>>> Is there a way to do that? >>>>> >>>>> Well, no. >>>>> >>>>> Maybe playing around with org-map-entries could yield some result. >>>>> >>>>> -- >>>>> =A0Bastien >>>>> >>>> >>>> _______________________________________________ >>>> Emacs-orgmode mailing list >>>> Please use `Reply All' to send replies to the list. >>>> Emacs-orgmode@gnu.org >>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>> >>> - Carsten >>> >>> >>> >>> > > - Carsten > > > >