From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Re: Proposed tweak to org-agenda-skip-entry-when-regexp-matches-in-subtree Date: Fri, 2 Jul 2010 06:46:37 +0200 Message-ID: References: <87pqzbcont.fsf@gollum.intra.norang.ca> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=59221 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OUY9D-00024L-Sk for emacs-orgmode@gnu.org; Fri, 02 Jul 2010 00:46:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OUY9C-0007ge-9W for emacs-orgmode@gnu.org; Fri, 02 Jul 2010 00:46:43 -0400 Received: from mail-ew0-f41.google.com ([209.85.215.41]:47961) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OUY9B-0007gS-Ue for emacs-orgmode@gnu.org; Fri, 02 Jul 2010 00:46:42 -0400 Received: by ewy28 with SMTP id 28so1144874ewy.0 for ; Thu, 01 Jul 2010 21:46:41 -0700 (PDT) In-Reply-To: <87pqzbcont.fsf@gollum.intra.norang.ca> 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: Bernt Hansen Cc: emacs-orgmode@gnu.org Hi Eric, is there still an action item left here? Thanks. - Carsten On Jun 28, 2010, at 2:44 PM, Bernt Hansen wrote: > eric johnson writes: > >> org-mode is fantastic. Part of what makes it so awesome is that >> one can keep >> tweaking the software and the process. In looking at my own usage, I >> noticed that >> I really wanted to simplify my org-todo-keywords. I had a separate >> list of TODOs >> for projects (PROJ->PRST->DONE) and was wondering why I had to have >> that. >> Why couldn't I just get by with TODO->STARTED->DONE for everything, >> tasks >> and projects, and mark up projects with a tag. >> >> You can see what I'm aiming for with this example. >> >> (setq org-tags-exclude-from-inheritance '("project")) >> (setq org-todo-keywords '( >> (sequence "TODO" "STARTED" "WAITING" "|" "DONE" "CNCL")) >> (setq org-stuck-projects '("project/STARTED" ("TODO" "WAITING" >> "STARTED") nil "")) >> >> * STARTED Stuck project :project: >> ** DONE This was done >> * STARTED Not stuck project :project: >> ** TODO Next project >> >> C-a # won't show "Stuck Project". That's because the project >> line's "STARTED" >> is found in org-agenda-skip via the >> org-agenda-skip-entry-when-regexp-matches-in-subtree. >> I really want it to be >> org-agenda-skip-entry-when-regexp-ONLY-matches-in-subtree. >> >> To do that, I hacked up the function to capture a "begin" point after >> the headline. >> >> (defun org-agenda-skip-entry-when-regexp-matches-in-subtree () >> "Checks if the current subtree contains match for `org-agenda-skip- >> regexp'. >> If yes, it returns the end position of the current entry (NOT the >> tree), >> causing agenda commands to skip the entry but continuing the search >> in >> the subtree. This is a function that can be put into >> `org-agenda-skip-function' for the duration of a command. An >> important >> use of this function is for the stuck project list." >> (let ((begin (save-excursion (org-end-of-line) (1- (point)))) >> (end (save-excursion (org-end-of-subtree t))) >> (entry-end (save-excursion (outline-next-heading) (1- (point)))) >> skip) >> (save-excursion >> (goto-char begin) >> (setq skip (re-search-forward org-agenda-skip-regexp end t))) >> (and skip entry-end))) >> >> If this change is too radical, it might make sense to modify >> org-agenda-list-stuck-projects to let the user define the skip >> function via >> an element in org-stuck-projects. >> >> I'm thinking something like this... >> >> (let* ((org-agenda-skip-function >> (or (nth 4 org-stuck-projects) >> 'org-agenda-skip-entry-when-regexp-matches-in-subtree)) >> >> That would enable everyone to control the org-agenda-skip-function. > > Hi Eric, > > I've already moved to this type of a system with lazy project > definitions. I changed my STARTED keyword to NEXT and clocking in > changes TODO to NEXT only if there are no unfinished subtasks for the > headline. > > Stuck project views can be configured in a custom agenda view and that > is what I use now -- I don't use the standard stuck project definition > anymore - I just override the # key selection in the agenda so the > keys > are all the same. > > Not changing tasks with actionable subtasks to STARTED or NEXT on > clock > in keeps the standard stuck project determination working. So if you > clock time on the top-level task it just stays as TODO since there are > subtasks available to work on. > > Details of my current set up are at http://doc.norang.ca/org-mode.html > > HTH, > Bernt > > > _______________________________________________ > 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