* Still Wishing for Snooze @ 2013-01-21 18:20 Andrew M. Nuxoll 2013-01-23 10:42 ` Samuel Loury ` (3 more replies) 0 siblings, 4 replies; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-21 18:20 UTC (permalink / raw) To: emacs-orgmode A while ago I posted for help in adding an ability to "snooze" a to-do item: http://www.mail-archive.com/emacs-orgmode@gnu.org/msg20114.html At the time, the only solution available was to create a manual copy of the item. This approach creates as many problems as it solves for me. I've gotten so frustrated with this that I'm really to knuckle under and fix it myself. I'd like to modify the org-mode code to support the following: 1. Add a date tag to an entry that indicates that it is "inactive" until a certain date. I'm picturing something like this: ***** TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> 2. Add a command similar to org-deadline that I can use to attach a delay date to a to-do item 3. When I display my agenda, items that are delayed are not displayed. My e-lisp is pretty rusty so *any* advice or help is great. Could someone help point me to the right files and functions I'll need to modify to accomplish this? Thanks, Andrew ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-21 18:20 Still Wishing for Snooze Andrew M. Nuxoll @ 2013-01-23 10:42 ` Samuel Loury 2013-01-23 19:00 ` Andrew M. Nuxoll 2013-01-23 13:36 ` Bastien ` (2 subsequent siblings) 3 siblings, 1 reply; 31+ messages in thread From: Samuel Loury @ 2013-01-23 10:42 UTC (permalink / raw) To: Andrew M. Nuxoll, emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 792 bytes --] "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > 1. Add a date tag to an entry that indicates that it is "inactive" > until a certain date. I'm picturing something like this: > > ***** TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> > In your model, does the DELAY act as a scheduled date also? I mean, do you want the event "Verify login to the virtual machines" to show up in the agenda on 2013-01-24 Thu? I think it is a very good idea and I would be use it as soon as it would be ready. I might take a look as soon as I find some free time at how to implement this. It does not look too complicated. -- Konubinix GPG Key : 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A [-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-23 10:42 ` Samuel Loury @ 2013-01-23 19:00 ` Andrew M. Nuxoll 0 siblings, 0 replies; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-23 19:00 UTC (permalink / raw) To: Samuel Loury, Emacs-orgmode Sam: I'd be delighted if you did this. I suspect you could do it in 1/10th the time that it would take me to figure it out. In the example below, I would want the "Verify login..." entry to reappear on the agenda starting on 2013-01-24 Thu. The easiest way to do this might be to just automatically delete the DELAY entry on that date. I imagine adding code to add the DELAY entry would be easy. The hard part is getting the agenda display to honor the DELAY entry when it is present and also to delete the DELAY entry when its associated date is reached. I've no idea where to add that functionality in the org-mode code. :AMN: On 01/23/2013 02:42 AM, Samuel Loury wrote: > "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > >> 1. Add a date tag to an entry that indicates that it is "inactive" >> until a certain date. I'm picturing something like this: >> >> ***** TODO [#B] Verify login to the virtual machines >> SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> >> > In your model, does the DELAY act as a scheduled date also? I mean, do > you want the event "Verify login to the virtual machines" to show up in > the agenda on 2013-01-24 Thu? > > I think it is a very good idea and I would be use it as soon as it would > be ready. I might take a look as soon as I find some free time at how to > implement this. It does not look too complicated. > -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-21 18:20 Still Wishing for Snooze Andrew M. Nuxoll 2013-01-23 10:42 ` Samuel Loury @ 2013-01-23 13:36 ` Bastien 2013-01-24 18:49 ` Andrew M. Nuxoll 2013-01-23 15:49 ` Michael Brand 2013-01-24 20:09 ` Marc-Oliver Ihm 3 siblings, 1 reply; 31+ messages in thread From: Bastien @ 2013-01-23 13:36 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: emacs-orgmode Hi Andrew, "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > 1. Add a date tag to an entry that indicates that it is "inactive" until a > certain date. I'm picturing something like this: > > ***** TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> > > 2. Add a command similar to org-deadline that I can use to attach a delay > date to a to-do item > > 3. When I display my agenda, items that are delayed are not displayed. > > My e-lisp is pretty rusty so *any* advice or help is great. Could someone > help point me to the right files and functions I'll need to modify to > accomplish this? C-h v org-agenda-ignore TAB will open many doors. See C-h org-agenda-todo-ignore-timestamp RET for example: Non-nil means don't show entries with a timestamp. This applies when creating the global todo list. Valid values are: past Don't show entries for today or in the past. future Don't show entries with a timestamp in the future. The idea behind this is that if it has a future timestamp, you don't want to think about it until the date. all Don't show any entries with a timestamp in the global todo list. The idea behind this is that by setting a timestamp, you have already "taken care" of this item. This variable can also have an integer as a value. If positive (N), todos with a timestamp N or more days in the future will be ignored. If negative (-N), todos with a timestamp N or more days in the past will be ignored. If 0, todos with a timestamp either today or in the future will be ignored. For example, a value of -1 will exclude todos with a timestamp in the past (yesterday or earlier), while a value of 7 will exclude todos with a timestamp a week or more in the future. See also `org-agenda-todo-ignore-with-date'. See also the variable `org-agenda-tags-todo-honor-ignore-options' if you want to make his option also apply to the tags-todo list. -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-23 13:36 ` Bastien @ 2013-01-24 18:49 ` Andrew M. Nuxoll 2013-01-24 22:26 ` Bastien 0 siblings, 1 reply; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-24 18:49 UTC (permalink / raw) Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 3691 bytes --] Bastien: I sense that your reply contains the key to the functionality that I want but I find I am unable to figure it out. I'm sorry to bother you further but I would be grateful for a little more direction. My first problem is that C-h is mapped to backspace on my computer. I presume (C-h v) means view help on a particular item. My second problem is that org-agenda-ignore is not a valid prefix for anything in my version of org-mode. (I have version 7.9.3d installed.). I *think* you intended to point me to variables that begin with org-agenda-todo-ignore instead. Can you confirm this is so? My third problem is that I can not figure out how to use these variables to accomplish my purpose. I think part of the problem is that I am using custom agenda commands. The relevant code snippet for the command I use most is here: (setq org-agenda-custom-commands '( ("o" "Today's Tasks" ((agenda "" ((org-agenda-ndays 1))) ;; limits the agenda display to a single day (todo "TODO")) ((org-agenda-compact-blocks t) )) etc... Would you please give me some more information? Thank you, :AMN: On 01/23/2013 05:36 AM, Bastien wrote: > Hi Andrew, > > "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > >> 1. Add a date tag to an entry that indicates that it is "inactive" until a >> certain date. I'm picturing something like this: >> >> ***** TODO [#B] Verify login to the virtual machines >> SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> >> >> 2. Add a command similar to org-deadline that I can use to attach a delay >> date to a to-do item >> >> 3. When I display my agenda, items that are delayed are not displayed. >> >> My e-lisp is pretty rusty so *any* advice or help is great. Could someone >> help point me to the right files and functions I'll need to modify to >> accomplish this? > C-h v org-agenda-ignore TAB will open many doors. > > See C-h org-agenda-todo-ignore-timestamp RET for example: > > Non-nil means don't show entries with a timestamp. > This applies when creating the global todo list. > Valid values are: > > past Don't show entries for today or in the past. > > future Don't show entries with a timestamp in the future. > The idea behind this is that if it has a future > timestamp, you don't want to think about it until the > date. > > all Don't show any entries with a timestamp in the global todo list. > The idea behind this is that by setting a timestamp, you > have already "taken care" of this item. > > This variable can also have an integer as a value. If positive (N), > todos with a timestamp N or more days in the future will be ignored. If > negative (-N), todos with a timestamp N or more days in the past will be > ignored. If 0, todos with a timestamp either today or in the future will > be ignored. For example, a value of -1 will exclude todos with a > timestamp in the past (yesterday or earlier), while a value of 7 will > exclude todos with a timestamp a week or more in the future. > > See also `org-agenda-todo-ignore-with-date'. See also the variable > `org-agenda-tags-todo-honor-ignore-options' if you want to make his > option also apply to the tags-todo list. > -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 [-- Attachment #2: Type: text/html, Size: 5094 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-24 18:49 ` Andrew M. Nuxoll @ 2013-01-24 22:26 ` Bastien 2013-01-24 22:54 ` Andrew M. Nuxoll 0 siblings, 1 reply; 31+ messages in thread From: Bastien @ 2013-01-24 22:26 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: emacs-orgmode Hi Andrew, "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > My first problem is that C-h is mapped to backspace on my computer. > I presume (C-h v) means view help on a particular item. C-h v is normally bound to `describe-variable'. So you can run this: M-x describe-variable RET org-agenda-todo-ignore-timestamp RET > My second problem is that org-agenda-ignore is not a valid prefix for > anything in my version of org-mode. In recent Emacsen, the completion mechanism is clever enough to know what to do when entering M-x describe-variable RET org-agenda-ignore TAB On the first TAB, it offers "org-agenda-t-ignore-" If you complete "org-agenda-todo-ignore-" and press TAB again, you should see five variables. > (I have version 7.9.3d > installed.). I *think* you intended to point me to variables that > begin with org-agenda-todo-ignore instead. Can you confirm this is > so? I do :) > My third problem is that I can not figure out how to use these > variables to accomplish my purpose. I think part of the problem is > that I am using custom agenda commands. The relevant code snippet > for the command I use most is here: > (setq org-agenda-custom-commands > '( > ("o" "Today's Tasks" > ((agenda "" ((org-agenda-ndays 1))) ;; limits the agenda > display to a single day > (todo "TODO")) > ((org-agenda-compact-blocks t) > )) > etc... Try this: (setq org-agenda-custom-commands '(("X" "Todo test" todo "TODO" ((org-agenda-todo-ignore-scheduled 2))))) When listing todos, the ones that are 2 days or more in the future will be ignored. You can also use this for tags-todo if `org-agenda-tags-todo-honor-ignore-options' is set to t. We don't have `org-agenda-agenda-honor-ignore-options' so this is not relevant in agenda-type views. Maybe we can consider this. In your case, this does not solve your problem, since you want an item-based decision, not an agenda-based one. But... my first question would be... ***** TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> why not simply have this instead: ***** TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-25 Fri +1w> ? Maybe I miss something obvious in your workflow, and maybe this is something needed more widely. Let us know! > Would you please give me some more information? Hope that helps, -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-24 22:26 ` Bastien @ 2013-01-24 22:54 ` Andrew M. Nuxoll 2013-01-25 1:20 ` Eric S Fraga ` (2 more replies) 0 siblings, 3 replies; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-24 22:54 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode Bastien: Thanks for your patience and continued assistance. Here an example scenario that illustrates my problem: Say, at the end of each week I need to sit down and generate a report on my progress to send to the boss. So I have recurring, weekly TODO entry on Friday morning. Well, one week the report is delayed because a coworker was ill and couldn't send me the data I needed on time. So, I have to delay that TODO entry until Monday *just this one time.* I need to get it off my agenda for the day but I don't want to mark is as completed because it's not. Right now the only way to do that is to mark it as completed anyway but make a one-time copy of the TODO item with the new scheduled date. The problem is that I have roughly thirty TODO items per day and, on any given day, I need to delay about 10-20% of them for various reasons. (It's the nature of my job though I don't think it's that unusual.) So making a copy of a TODO item each time is inconvenient because I end up with dozens of copies floating about. Furthermore, a delayed TODO item should have more urgency since it's been delayed. But creating a copy means i can't do that. When Monday rolls around and it's time to prepare that report it shows up in green text like this in my agenda: Scheduled: TODO [#B] Prepare TPS Report but I want it to be in red text like this: Sched. 4x: TODO [#B] Prepare TPS Report This is why I'm looking for a distinct "snooze" or "delay" functionality. I want a TODO item to disappear from the agenda until a specified date and then reappear again waiting to be done with all the urgency associated with that delay. Any help would be appreciated. :AMN: On 01/24/2013 02:26 PM, Bastien wrote: > Hi Andrew, > > "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > >> My first problem is that C-h is mapped to backspace on my computer. >> I presume (C-h v) means view help on a particular item. > C-h v is normally bound to `describe-variable'. > > So you can run this: > > M-x describe-variable RET org-agenda-todo-ignore-timestamp RET > >> My second problem is that org-agenda-ignore is not a valid prefix for >> anything in my version of org-mode. > In recent Emacsen, the completion mechanism is clever enough to know > what to do when entering > > M-x describe-variable RET org-agenda-ignore TAB > > On the first TAB, it offers "org-agenda-t-ignore-" > > If you complete "org-agenda-todo-ignore-" and press TAB again, > you should see five variables. > >> (I have version 7.9.3d >> installed.). I *think* you intended to point me to variables that >> begin with org-agenda-todo-ignore instead. Can you confirm this is >> so? > I do :) > >> My third problem is that I can not figure out how to use these >> variables to accomplish my purpose. I think part of the problem is >> that I am using custom agenda commands. The relevant code snippet >> for the command I use most is here: >> (setq org-agenda-custom-commands >> '( >> ("o" "Today's Tasks" >> ((agenda "" ((org-agenda-ndays 1))) ;; limits the agenda >> display to a single day >> (todo "TODO")) >> ((org-agenda-compact-blocks t) >> )) >> etc... > Try this: > > (setq org-agenda-custom-commands > '(("X" "Todo test" todo "TODO" > ((org-agenda-todo-ignore-scheduled 2))))) > > When listing todos, the ones that are 2 days or more in the future > will be ignored. > > You can also use this for tags-todo if > `org-agenda-tags-todo-honor-ignore-options' is set to t. > > We don't have `org-agenda-agenda-honor-ignore-options' so > this is not relevant in agenda-type views. Maybe we can > consider this. > > In your case, this does not solve your problem, since you > want an item-based decision, not an agenda-based one. > > But... my first question would be... > > ***** TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> > > why not simply have this instead: > > ***** TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-25 Fri +1w> > > ? > > Maybe I miss something obvious in your workflow, and maybe > this is something needed more widely. Let us know! > >> Would you please give me some more information? > Hope that helps, > -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-24 22:54 ` Andrew M. Nuxoll @ 2013-01-25 1:20 ` Eric S Fraga 2013-01-25 10:45 ` Bastien 2013-01-25 11:10 ` Michael Brand 2 siblings, 0 replies; 31+ messages in thread From: Eric S Fraga @ 2013-01-25 1:20 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: Bastien, emacs-orgmode "Andrew M. Nuxoll" <nuxoll@up.edu> writes: [...] > Furthermore, a delayed TODO item should have more urgency since it's > been delayed. But creating a copy means i can't do that. When Monday > rolls around and it's time to prepare that report it shows up in green > text like this in my agenda: > Scheduled: TODO [#B] Prepare TPS Report > > but I want it to be in red text like this: > Sched. 4x: TODO [#B] Prepare TPS Report Maybe I'm missing a key point here but wouldn't alternative TODO states do what you want here, as in maybe defining a todo sequence like: #+TODO: TODO(t) DLYD(d) | DONE(x) with appropriate faces for the different states so that a DLYD one stands out as you wish? Then, on a Friday, you would change the state of the item to DLYD so it would still appear on the Monday. Whenever you marked it DONE, it would go back to TODO if it were a repeated task. This doesn't quite do what you want in that the DLYD task would still appear on the agenda view on the Friday so maybe that is a stumbling block. Just some thoughts... feel free to ignore! ;-) -- : Eric S Fraga, GnuPG: 0xC89193D8FFFCF67D : in Emacs 24.3.50.1 and Org release_7.9.3d-837-ge37613 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-24 22:54 ` Andrew M. Nuxoll 2013-01-25 1:20 ` Eric S Fraga @ 2013-01-25 10:45 ` Bastien 2013-01-25 19:48 ` Andrew M. Nuxoll 2013-01-25 11:10 ` Michael Brand 2 siblings, 1 reply; 31+ messages in thread From: Bastien @ 2013-01-25 10:45 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: emacs-orgmode Hi Andrew, thanks for explaining it so clearly, I understand the need, and I also understand my suggestion (and Eric's one, FWIW) cannot completely satisfy it. I will provide a patch for this next week, we can discuss it afterwards. All best, -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-25 10:45 ` Bastien @ 2013-01-25 19:48 ` Andrew M. Nuxoll 2013-02-07 9:44 ` Bastien 0 siblings, 1 reply; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-25 19:48 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode If you do that, I may have to send you a cheesecake. Thank you! :AMN: On 01/25/2013 02:45 AM, Bastien wrote: > Hi Andrew, > > thanks for explaining it so clearly, I understand the need, > and I also understand my suggestion (and Eric's one, FWIW) > cannot completely satisfy it. > > I will provide a patch for this next week, we can discuss it > afterwards. > > All best, > -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-25 19:48 ` Andrew M. Nuxoll @ 2013-02-07 9:44 ` Bastien 2013-02-07 15:25 ` Michael Brand 2013-02-12 22:35 ` Andrew M. Nuxoll 0 siblings, 2 replies; 31+ messages in thread From: Bastien @ 2013-02-07 9:44 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: emacs-orgmode Hi Andrew, "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > If you do that, I may have to send you a cheesecake. Time for a cheesecake! You can now use a "delay cookie" like this: SCHEDULED: <2013-02-07 jeu. -2d> The item will not be shown today, but in three days. See the new options `org-scheduled-delay-days' and `org-agenda-skip-scheduled-delay-if-deadline' which are quite symmetric to `org-deadline-warning-days' and `org-agenda-skip-deadline-prewarning-if-scheduled'. Thanks for this idea, and thanks to Michael for the implementation example -- I implemented it a bit differently, but I think it makes sense (1) to use -2d to tell the scheduled item is postponed, and (2) to use the same "-" for prewarning and delays. -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-07 9:44 ` Bastien @ 2013-02-07 15:25 ` Michael Brand 2013-02-09 18:06 ` Samuel Loury 2013-02-12 10:21 ` Bastien 2013-02-12 22:35 ` Andrew M. Nuxoll 1 sibling, 2 replies; 31+ messages in thread From: Michael Brand @ 2013-02-07 15:25 UTC (permalink / raw) To: Org Mode; +Cc: Andrew M. Nuxoll Hi Bastien On Thu, Feb 7, 2013 at 10:44 AM, Bastien <bzg@altern.org> wrote: > You can now use a "delay cookie" like this: > > SCHEDULED: <2013-02-07 jeu. -2d> > > The item will not be shown today, but in three days. For this case I would use: SCHEDULED: <2013-02-09 Sat> It seems I don’t get the point because when a TODO with repeater SCHEDULED: <2013-02-01 Fri +1w -3d> is set to DONE the delay remains and this way also here I would not use a delay but: SCHEDULED: <2013-02-04 Mon +1w> The usefulness of a SCHEDULED delay I see together with a TODO and repeater to implement an _exception_ (to simplify: exception just for the first date, before the repetitions). For example SCHEDULED: <2013-02-01 Fri +1w -3d> would mean: Usually start working on the entry earliest on the first day of the month except [2013-02-01 Fri] when work can not start before [2013-02-04 Mon]. It would start to show in the agenda on [2013-02-04 Mon], [2013-03-01 Fri], [2013-04-01 Mon], [2013-05-01 Wed], [2013-06-01 Sat] etc. On let’s say [2013-02-05 Tue] it would be set to DONE and would change to: SCHEDULED: <2013-03-01 Fri +1w> Note the automatically removed delay. Am I missing something? Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-07 15:25 ` Michael Brand @ 2013-02-09 18:06 ` Samuel Loury 2013-02-09 20:50 ` Michael Brand 2013-02-12 10:21 ` Bastien 1 sibling, 1 reply; 31+ messages in thread From: Samuel Loury @ 2013-02-09 18:06 UTC (permalink / raw) To: Michael Brand, Org Mode; +Cc: Andrew M. Nuxoll [-- Attachment #1: Type: text/plain, Size: 1348 bytes --] Hi, Michael Brand <michael.ch.brand@gmail.com> writes: > The usefulness of a SCHEDULED delay I see together with a TODO and > repeater to implement an _exception_ (to simplify: exception just for > the first date, before the repetitions). For example > > SCHEDULED: <2013-02-01 Fri +1w -3d> > > would mean: Usually start working on the entry earliest on the first > day of the month except [2013-02-01 Fri] when work can not start > before [2013-02-04 Mon]. It would start to show in the agenda on > [2013-02-04 Mon], [2013-03-01 Fri], [2013-04-01 Mon], [2013-05-01 > Wed], [2013-06-01 Sat] etc. On let’s say [2013-02-05 Tue] it would be > set to DONE and would change to: > > SCHEDULED: <2013-03-01 Fri +1w> > > Note the automatically removed delay. > > Am I missing something? > I quite agree with you. It is also the way I understood it, with the automatic removal of the -3d. Only a tiny glitch there, I suppose you guessed it was written SCHEDULED: <2013-02-01 Fri +1m -3d> and not SCHEDULED: <2013-02-01 Fri +1w -3d> Because your description is about a monthly repeated event while the example shows a weekly event. It is really nothing but I think someone might find it confusing. -- Konubinix GPG Key : 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A [-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-09 18:06 ` Samuel Loury @ 2013-02-09 20:50 ` Michael Brand 0 siblings, 0 replies; 31+ messages in thread From: Michael Brand @ 2013-02-09 20:50 UTC (permalink / raw) To: Samuel Loury; +Cc: Andrew M. Nuxoll, Org Mode Hi Samuel On Sat, Feb 9, 2013 at 7:06 PM, Samuel Loury <konubinix@gmail.com> wrote: > [...] > I quite agree with you. It is also the way I understood it, with the > automatic removal of the -3d. > > Only a tiny glitch there, I suppose you guessed it was written > > SCHEDULED: <2013-02-01 Fri +1m -3d> > > and not > > SCHEDULED: <2013-02-01 Fri +1w -3d> > [...] Yes, my bad... Thanks for pointing out. Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-07 15:25 ` Michael Brand 2013-02-09 18:06 ` Samuel Loury @ 2013-02-12 10:21 ` Bastien 2013-02-12 12:29 ` Michael Brand 2013-02-13 11:09 ` Samuel Loury 1 sibling, 2 replies; 31+ messages in thread From: Bastien @ 2013-02-12 10:21 UTC (permalink / raw) To: Michael Brand; +Cc: Andrew M. Nuxoll, Org Mode Hi Michael, Michael Brand <michael.ch.brand@gmail.com> writes: >> SCHEDULED: <2013-02-07 jeu. -2d> >> >> The item will not be shown today, but in three days. > > For this case I would use: > > SCHEDULED: <2013-02-09 Sat> AFAIU this would not work for what Andrew wants. He wants the scheduled item to be invisible on the 2013-02-07 but to appear on the 2013-02-07 as it is was scheduled on 2013-02-09. My change does this. > It seems I don’t get the point because when a TODO with repeater > > SCHEDULED: <2013-02-01 Fri +1w -3d> > > is set to DONE the delay remains and this way also here I would not > use a delay but: > > SCHEDULED: <2013-02-04 Mon +1w> > > The usefulness of a SCHEDULED delay I see together with a TODO and > repeater to implement an _exception_ (to simplify: exception just for > the first date, before the repetitions). For example > > SCHEDULED: <2013-02-01 Fri +1w -3d> > > would mean: Usually start working on the entry earliest on the first > day of the month except [2013-02-01 Fri] when work can not start > before [2013-02-04 Mon]. It would start to show in the agenda on > [2013-02-04 Mon], [2013-03-01 Fri], [2013-04-01 Mon], [2013-05-01 > Wed], [2013-06-01 Sat] etc. On let’s say [2013-02-05 Tue] it would be > set to DONE and would change to: > > SCHEDULED: <2013-03-01 Fri +1w> > > Note the automatically removed delay. Point well taken -- this is now what adding "--2d" does: use a temporary delay that will not be taken into account for dates later than the next repeater, and that will be deleted when a repeating task is marked as done. Thanks for suggesting this. I think it still makes sense to keep the default behavior: -1d in a scheduled items means "inconditionnally add a delay of one day, even when there is a repeater" -- because perhaps what users want is a global delay for the repeated task. If that's not the case, --2d is just fine too. Thanks for your feedback on this! -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-12 10:21 ` Bastien @ 2013-02-12 12:29 ` Michael Brand 2013-02-12 13:24 ` Michael Brand ` (2 more replies) 2013-02-13 11:09 ` Samuel Loury 1 sibling, 3 replies; 31+ messages in thread From: Michael Brand @ 2013-02-12 12:29 UTC (permalink / raw) To: Bastien; +Cc: Andrew M. Nuxoll, Org Mode Hi Bastien On Tue, Feb 12, 2013 at 11:21 AM, Bastien <bzg@altern.org> wrote: > Point well taken -- this is now what adding "--2d" does: use a > temporary delay that will not be taken into account for dates later > than the next repeater, and that will be deleted when a repeating > task is marked as done. Thanks for suggesting this. This * TODO 1a SCHEDULED: <2013-01-10 Thu +1m --2d> * TODO 2a SCHEDULED: <2013-02-10 Sun +1m --2d> * TODO 1b SCHEDULED: <2013-01-11 Fri +1m --2d> * TODO 2b SCHEDULED: <2013-02-11 Mon +1m --2d> * TODO 1c SCHEDULED: <2013-01-12 Sat +1m --2d> * TODO 2c SCHEDULED: <2013-02-12 Tue +1m --2d> in the agenda of today ([2013-02-12 Tue]) shows 1a 2a 1b 2b but I would expect 1a 2a 1b 1c. And there is a critical bug: Setting 2a to DONE repeats all entries below too. Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-12 12:29 ` Michael Brand @ 2013-02-12 13:24 ` Michael Brand 2013-02-12 15:57 ` Bastien 2013-02-12 16:33 ` Bastien 2 siblings, 0 replies; 31+ messages in thread From: Michael Brand @ 2013-02-12 13:24 UTC (permalink / raw) To: Bastien; +Cc: Andrew M. Nuxoll, Org Mode On Tue, Feb 12, 2013 at 1:29 PM, Michael Brand <michael.ch.brand@gmail.com> wrote: > And there is a critical bug: Setting 2a to DONE repeats all entries > below too. Reducing to a MCE shows me that triggering the repetitions requires #+STARTUP: nologrepeat Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-12 12:29 ` Michael Brand 2013-02-12 13:24 ` Michael Brand @ 2013-02-12 15:57 ` Bastien 2013-02-12 16:33 ` Bastien 2 siblings, 0 replies; 31+ messages in thread From: Bastien @ 2013-02-12 15:57 UTC (permalink / raw) To: Michael Brand; +Cc: Andrew M. Nuxoll, Org Mode Hi Michael, Michael Brand <michael.ch.brand@gmail.com> writes: > And there is a critical bug: Setting 2a to DONE repeats all entries > below too. I fixed this one. I'm looking in the other issue right now. Thanks! -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-12 12:29 ` Michael Brand 2013-02-12 13:24 ` Michael Brand 2013-02-12 15:57 ` Bastien @ 2013-02-12 16:33 ` Bastien 2013-02-12 18:09 ` Michael Brand 2 siblings, 1 reply; 31+ messages in thread From: Bastien @ 2013-02-12 16:33 UTC (permalink / raw) To: Michael Brand; +Cc: Andrew M. Nuxoll, Org Mode Hi Michael, Michael Brand <michael.ch.brand@gmail.com> writes: > This > > * TODO 1a > SCHEDULED: <2013-01-10 Thu +1m --2d> > * TODO 2a > SCHEDULED: <2013-02-10 Sun +1m --2d> > * TODO 1b > SCHEDULED: <2013-01-11 Fri +1m --2d> > * TODO 2b > SCHEDULED: <2013-02-11 Mon +1m --2d> > * TODO 1c > SCHEDULED: <2013-01-12 Sat +1m --2d> > * TODO 2c > SCHEDULED: <2013-02-12 Tue +1m --2d> > > in the agenda of today ([2013-02-12 Tue]) shows 1a 2a 1b 2b but I > would expect 1a 2a 1b 1c. This should be fixed now. Thanks for the clear example and the testing. -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-12 16:33 ` Bastien @ 2013-02-12 18:09 ` Michael Brand 0 siblings, 0 replies; 31+ messages in thread From: Michael Brand @ 2013-02-12 18:09 UTC (permalink / raw) To: Bastien; +Cc: Andrew M. Nuxoll, Org Mode Hi Bastien On Tue, Feb 12, 2013 at 5:33 PM, Bastien <bzg@altern.org> wrote: > This should be fixed now. Thanks for the clear example and the > testing. Thank you for fixing the bugs and mainly for the --2d delay for repeated SCHEDULED. To summarize my point of view of this thread: Originally I wanted to use such a delay primarily for repeated DEADLINE. But as I had to realize, to me such a delay seems not simple enough to use with warning periods other than -0d. Maybe I will adapt my usage of SCHEDULED a bit so that I can use repeated SCHEDULED with the new --2d delay, instead of my current not delayable repeated DEADLINE with -0d. Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-12 10:21 ` Bastien 2013-02-12 12:29 ` Michael Brand @ 2013-02-13 11:09 ` Samuel Loury 2013-02-13 11:14 ` Bastien 1 sibling, 1 reply; 31+ messages in thread From: Samuel Loury @ 2013-02-13 11:09 UTC (permalink / raw) To: Bastien, Michael Brand; +Cc: Andrew M. Nuxoll, Org Mode [-- Attachment #1: Type: text/plain, Size: 499 bytes --] Bastien <bzg@altern.org> writes: > Point well taken -- this is now what adding "--2d" does: use a > temporary delay that will not be taken into account for dates later > than the next repeater, and that will be deleted when a repeating > task is marked as done. Thanks for suggesting this. Thanks for the --2d feature! May be I should also consider sending you a cheesecake ;-). -- Konubinix GPG Key : 7439106A Fingerprint: 5993 BE7A DA65 E2D9 06CE 5C36 75D2 3CED 7439 106A [-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-13 11:09 ` Samuel Loury @ 2013-02-13 11:14 ` Bastien 0 siblings, 0 replies; 31+ messages in thread From: Bastien @ 2013-02-13 11:14 UTC (permalink / raw) To: Samuel Loury; +Cc: Andrew M. Nuxoll, Michael Brand, Org Mode Samuel Loury <konubinix@gmail.com> writes: > May be I should also consider sending you a cheesecake ;-) Well, cheesecake don't travel very well through the Atlantic, a postcard would do! :) -- Bastien ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-02-07 9:44 ` Bastien 2013-02-07 15:25 ` Michael Brand @ 2013-02-12 22:35 ` Andrew M. Nuxoll 1 sibling, 0 replies; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-02-12 22:35 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode I just got this installed today and it appears to be *exactly* what I wanted. Many thanks for this implementation. Your cheesecake is in the mail. :) :AMN: On 02/07/2013 01:44 AM, Bastien wrote: > Hi Andrew, > > "Andrew M. Nuxoll" <nuxoll@up.edu> writes: > >> If you do that, I may have to send you a cheesecake. > Time for a cheesecake! > > You can now use a "delay cookie" like this: > > SCHEDULED: <2013-02-07 jeu. -2d> > > The item will not be shown today, but in three days. > > See the new options `org-scheduled-delay-days' and > `org-agenda-skip-scheduled-delay-if-deadline' which > are quite symmetric to `org-deadline-warning-days' > and `org-agenda-skip-deadline-prewarning-if-scheduled'. > > Thanks for this idea, and thanks to Michael for the > implementation example -- I implemented it a bit > differently, but I think it makes sense (1) to use > -2d to tell the scheduled item is postponed, and > (2) to use the same "-" for prewarning and delays. > -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-24 22:54 ` Andrew M. Nuxoll 2013-01-25 1:20 ` Eric S Fraga 2013-01-25 10:45 ` Bastien @ 2013-01-25 11:10 ` Michael Brand 2013-01-25 19:30 ` Andrew M. Nuxoll 2013-02-07 15:24 ` Michael Brand 2 siblings, 2 replies; 31+ messages in thread From: Michael Brand @ 2013-01-25 11:10 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: Org Mode Hi Andrew On Thu, Jan 24, 2013 at 11:54 PM, Andrew M. Nuxoll <nuxoll@up.edu> wrote: > Here an example scenario that illustrates my problem: Say, at the end of > each week I need to sit down and generate a report on my progress to send to > the boss. So I have recurring, weekly TODO entry on Friday morning. Well, > one week the report is delayed because a coworker was ill and couldn't send > me the data I needed on time. So, I have to delay that TODO entry until > Monday *just this one time.* I need to get it off my agenda for the day but > I don't want to mark is as completed because it's not. > > Right now the only way to do that is to mark it as completed anyway but make > a one-time copy of the TODO item with the new scheduled date. The problem > is that I have roughly thirty TODO items per day and, on any given day, I > need to delay about 10-20% of them for various reasons. (It's the nature of > my job though I don't think it's that unusual.) So making a copy of a TODO > item each time is inconvenient because I end up with dozens of copies > floating about. > > Furthermore, a delayed TODO item should have more urgency since it's been > delayed. But creating a copy means i can't do that. When Monday rolls > around and it's time to prepare that report it shows up in green text like > this in my agenda: > Scheduled: TODO [#B] Prepare TPS Report > > but I want it to be in red text like this: > Sched. 4x: TODO [#B] Prepare TPS Report > > This is why I'm looking for a distinct "snooze" or "delay" functionality. I > want a TODO item to disappear from the agenda until a specified date and > then reappear again waiting to be done with all the urgency associated with > that delay. Let me only suggest an idea to deal with this, item-based: When the DEADLINE “warning period” would be generalized to allow positive numbers then it would extend to a “warning and delay period”. Starting with: * TODO [#B] Verify login to the virtual machines DEADLINE: <2013-01-22 Tue +1w -0d> It could be delayed to <2013-01-24 Thu> which means two days later by changing the “warning and delay period” to 2d: * TODO [#B] Verify login to the virtual machines DEADLINE: <2013-01-22 Tue +1w 2d> This would not show up in the agenda until <2013-01-24 Thu>. At that date it would be shown with the desirable “In -2 d.:” for overdue to get the higher priority. When set to done it would become: * TODO [#B] Verify login to the virtual machines DEADLINE: <2013-01-29 Tue +1w -0d> Note the change from 2d to -0d: It is important that when the date repeats and has a positive warning period aka delay period then it must be reset to -0d. Otherwise undesirable suprises are guaranteed. The same “warning and delay period” could also be allowed for SCHEDULED, mainly usable with a positive range for a delay. Probably what you would prefer over DEADLINE for your use case. I would even allow negative numbers for a warning for SCHEDULED, with a default warning period of -0d to reflect current behavior. Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-25 11:10 ` Michael Brand @ 2013-01-25 19:30 ` Andrew M. Nuxoll 2013-02-07 15:24 ` Michael Brand 1 sibling, 0 replies; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-25 19:30 UTC (permalink / raw) To: Michael Brand; +Cc: Org Mode That looks like a delay period on a SCHEDULED item would work very well for me. I can see the positive delay period being useful to me as well. This does look like it would be more difficult to implement because it's a subtle change to existing code rather than something more modular. :AMN: On 01/25/2013 03:10 AM, Michael Brand wrote: > Hi Andrew > > On Thu, Jan 24, 2013 at 11:54 PM, Andrew M. Nuxoll <nuxoll@up.edu> wrote: >> Here an example scenario that illustrates my problem: Say, at the end of >> each week I need to sit down and generate a report on my progress to send to >> the boss. So I have recurring, weekly TODO entry on Friday morning. Well, >> one week the report is delayed because a coworker was ill and couldn't send >> me the data I needed on time. So, I have to delay that TODO entry until >> Monday *just this one time.* I need to get it off my agenda for the day but >> I don't want to mark is as completed because it's not. >> >> Right now the only way to do that is to mark it as completed anyway but make >> a one-time copy of the TODO item with the new scheduled date. The problem >> is that I have roughly thirty TODO items per day and, on any given day, I >> need to delay about 10-20% of them for various reasons. (It's the nature of >> my job though I don't think it's that unusual.) So making a copy of a TODO >> item each time is inconvenient because I end up with dozens of copies >> floating about. >> >> Furthermore, a delayed TODO item should have more urgency since it's been >> delayed. But creating a copy means i can't do that. When Monday rolls >> around and it's time to prepare that report it shows up in green text like >> this in my agenda: >> Scheduled: TODO [#B] Prepare TPS Report >> >> but I want it to be in red text like this: >> Sched. 4x: TODO [#B] Prepare TPS Report >> >> This is why I'm looking for a distinct "snooze" or "delay" functionality. I >> want a TODO item to disappear from the agenda until a specified date and >> then reappear again waiting to be done with all the urgency associated with >> that delay. > Let me only suggest an idea to deal with this, item-based: When the > DEADLINE “warning period” would be generalized to allow positive > numbers then it would extend to a “warning and delay period”. Starting > with: > > * TODO [#B] Verify login to the virtual machines > DEADLINE: <2013-01-22 Tue +1w -0d> > > It could be delayed to <2013-01-24 Thu> which means two days later by > changing the “warning and delay period” to 2d: > > * TODO [#B] Verify login to the virtual machines > DEADLINE: <2013-01-22 Tue +1w 2d> > > This would not show up in the agenda until <2013-01-24 Thu>. At that > date it would be shown with the desirable “In -2 d.:” for overdue to > get the higher priority. When set to done it would become: > > * TODO [#B] Verify login to the virtual machines > DEADLINE: <2013-01-29 Tue +1w -0d> > > Note the change from 2d to -0d: It is important that when the date > repeats and has a positive warning period aka delay period then it > must be reset to -0d. Otherwise undesirable suprises are guaranteed. > > The same “warning and delay period” could also be allowed for > SCHEDULED, mainly usable with a positive range for a delay. Probably > what you would prefer over DEADLINE for your use case. I would even > allow negative numbers for a warning for SCHEDULED, with a default > warning period of -0d to reflect current behavior. > > Michael -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-25 11:10 ` Michael Brand 2013-01-25 19:30 ` Andrew M. Nuxoll @ 2013-02-07 15:24 ` Michael Brand 1 sibling, 0 replies; 31+ messages in thread From: Michael Brand @ 2013-02-07 15:24 UTC (permalink / raw) To: Org Mode; +Cc: Andrew M. Nuxoll On Fri, Jan 25, 2013 at 12:10 PM, Michael Brand <michael.ch.brand@gmail.com> wrote: > Let me only suggest an idea to deal with this, item-based: When the > DEADLINE “warning period” would be generalized to allow positive > numbers then it would extend to a “warning and delay period”. Starting > with: > > * TODO [#B] Verify login to the virtual machines > DEADLINE: <2013-01-22 Tue +1w -0d> > > It could be delayed to <2013-01-24 Thu> which means two days later by > changing the “warning and delay period” to 2d: > > * TODO [#B] Verify login to the virtual machines > DEADLINE: <2013-01-22 Tue +1w 2d> > > This would not show up in the agenda until <2013-01-24 Thu>. At that > date it would be shown with the desirable “In -2 d.:” for overdue to > get the higher priority. When set to done it would become: > > * TODO [#B] Verify login to the virtual machines > DEADLINE: <2013-01-29 Tue +1w -0d> > > Note the change from 2d to -0d: It is important that when the date > repeats and has a positive warning period aka delay period then it > must be reset to -0d. Otherwise undesirable surprises are guaranteed. Resetting to just -0d would only be enough for this example, not for the common case where we don’t know which DEADLINE warning period was in use before the DEADLINE has been delayed. Thus it looks like a DEADLINE delay would have to be _additional_ to the DEADLINE warning period. Some applications would require that the DEADLINE delay would affect only the warning date but not the due date of the DEADLINE. Other applications would require both to be delayed. Maybe even others only the due date. It simply means that this suggestion is still incomplete. I don’t expect it to be refined. Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-21 18:20 Still Wishing for Snooze Andrew M. Nuxoll 2013-01-23 10:42 ` Samuel Loury 2013-01-23 13:36 ` Bastien @ 2013-01-23 15:49 ` Michael Brand 2013-01-23 18:51 ` Andrew M. Nuxoll 2013-01-24 20:09 ` Marc-Oliver Ihm 3 siblings, 1 reply; 31+ messages in thread From: Michael Brand @ 2013-01-23 15:49 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: Org Mode Hi Andrew On Mon, Jan 21, 2013 at 7:20 PM, Andrew M. Nuxoll <nuxoll@up.edu> wrote: > I'd like to modify the org-mode code to support the following: > > 1. Add a date tag to an entry that indicates that it is "inactive" until a > certain date. I'm picturing something like this: > > ***** TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> (I assume you meant Tue Jan 08: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-08 Tue +1w> DELAY: <2013-01-24 Thu> ) Such tasks I do like follows, starting with: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-08 Tue +1w> Then set to DONE as many times as necessary to get it to the first regular repetition in the future: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-29 Tue +1w> Then add the one irregular date just as a normal SCHEDULED: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-24 Thu> SCHEDULED: <2013-01-29 Tue +1w> At or after 2013-01-24 when the task is done go to the irregular date with TAB from the agenda view and delete the line, resulting again in: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-29 Tue +1w> Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-23 15:49 ` Michael Brand @ 2013-01-23 18:51 ` Andrew M. Nuxoll 2013-01-23 19:37 ` Michael Brand 0 siblings, 1 reply; 31+ messages in thread From: Andrew M. Nuxoll @ 2013-01-23 18:51 UTC (permalink / raw) To: Emacs-orgmode Michael: Thank you for this info. I didn't know that you could add two scheduled dates to a task! Unfortunately, org-mode doesn't handle the dual schedule the way I would wish. For example if I have: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-24 Thu> SCHEDULED: <2013-01-29 Tue +1w> and I mark the item as done via agenda mode (by hitting 't') it changes to this: * TODO [#B] Verify login to the virtual machines SCHEDULED: <2013-01-24 Thu> SCHEDULED: <2013-02-05 Tue +1w> Thus it not only doesn't appear from my to-do list but it skips a rescheduled event that I don't want to have skipped. Am I doing it wrong? Even if this is the best org-mode can do at the moment, it's a better solution than what I have been doing. Thank you, :AMN: On 01/23/2013 07:49 AM, Michael Brand wrote: > Hi Andrew > > On Mon, Jan 21, 2013 at 7:20 PM, Andrew M. Nuxoll <nuxoll@up.edu> wrote: >> I'd like to modify the org-mode code to support the following: >> >> 1. Add a date tag to an entry that indicates that it is "inactive" until a >> certain date. I'm picturing something like this: >> >> ***** TODO [#B] Verify login to the virtual machines >> SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> > (I assume you meant Tue Jan 08: > > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-08 Tue +1w> DELAY: <2013-01-24 Thu> > ) > > Such tasks I do like follows, starting with: > > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-08 Tue +1w> > > Then set to DONE as many times as necessary to get it to the first > regular repetition in the future: > > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-29 Tue +1w> > > Then add the one irregular date just as a normal SCHEDULED: > > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-24 Thu> > SCHEDULED: <2013-01-29 Tue +1w> > > At or after 2013-01-24 when the task is done go to the irregular date > with TAB from the agenda view and delete the line, resulting again in: > > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-29 Tue +1w> > > Michael -- Andrew M. Nuxoll Phone: 503-943-7688 Asst Professor of Computer Science Fax: 503-943-7316 University of Portland - MSC #145 Email: nuxoll@up.edu 5000 N. Willamette Blvd Web: http://faculty.up.edu/nuxoll Portland, OR 97203-5798 Office: Shiley Hall Rm 217 ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-23 18:51 ` Andrew M. Nuxoll @ 2013-01-23 19:37 ` Michael Brand 0 siblings, 0 replies; 31+ messages in thread From: Michael Brand @ 2013-01-23 19:37 UTC (permalink / raw) To: Andrew M. Nuxoll; +Cc: Org Mode Hi Andrew On Wed, Jan 23, 2013 at 7:51 PM, Andrew M. Nuxoll <nuxoll@up.edu> wrote: > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-24 Thu> > SCHEDULED: <2013-01-29 Tue +1w> > > and I mark the item as done via agenda mode (by hitting 't') it changes to > this: > > * TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-24 Thu> > SCHEDULED: <2013-02-05 Tue +1w> > > Thus it not only doesn't appear from my to-do list but it skips a > rescheduled event that I don't want to have skipped. Am I doing it wrong? This solution works only with some extra care: Before setting any timestamped TODO agenda entry to DONE I always check with SPACE in the agenda buffer how the timestamps look like. In this case I see that it will repeat, but when the current day is before 2013-01-29 then it should not yet increment and I do not set to DONE but instead remove the SCHEDULED for 2013-01-24 as described in my last post. Michael ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-21 18:20 Still Wishing for Snooze Andrew M. Nuxoll ` (2 preceding siblings ...) 2013-01-23 15:49 ` Michael Brand @ 2013-01-24 20:09 ` Marc-Oliver Ihm 2013-01-26 17:40 ` Marc-Oliver Ihm 3 siblings, 1 reply; 31+ messages in thread From: Marc-Oliver Ihm @ 2013-01-24 20:09 UTC (permalink / raw) To: Andrew M. Nuxoll, emacs-orgmode Hi Andrew, some time ago I did somethin similar (see below), it works with properties and might come close, to what you want ... best regards, Marc (defun org-date-state (arg) "Save away state for current node; with prefix restore for all nodes if time has passed." (interactive "P") (if arg (progn (let ((today (format-time-string (substring (car org-time-stamp-formats) 1 -1))) (nvisited 0) (nchanged 0)) (message "Scanning...") (org-map-entries (lambda () (let ((date_state (org-entry-get nil "DATE_STATE")) date state) (incf nvisited) (when date_state (unless (string-match (concat "\\[" org-ts-regexp1 "\\] \\(" (regexp-opt org-todo-keywords-1) "\\)") date_state) (error "Property DATE_STATE ('%s') does not consist of date and todo keyword !" date_state)) (setq date (match-string 1 date_state)) (setq state (match-string 9 date_state)) (unless (string< today date) (org-todo state) (org-delete-property "DATE_STATE") (search-forward-regexp org-property-start-re) (org-remove-empty-drawer-at "PROPERTIES" (point)) (incf nchanged))))) nil 'agenda) (message "Visited %d entries and changed %d of them" nvisited nchanged))) (org-entry-put nil "DATE_STATE" (concat (format-time-string (org-time-stamp-format nil t) (org-read-date nil t)) " " (org-get-todo-state))) (org-todo org-date-state-wait-state))) Am 21.01.2013 19:20, schrieb Andrew M. Nuxoll: > A while ago I posted for help in adding an ability to "snooze" a to-do item: > > http://www.mail-archive.com/emacs-orgmode@gnu.org/msg20114.html > > At the time, the only solution available was to create a manual copy of the item. This approach creates as many problems as it solves for me. I've gotten so frustrated with this that I'm really to knuckle under and fix it myself. > > I'd like to modify the org-mode code to support the following: > > 1. Add a date tag to an entry that indicates that it is "inactive" until a certain date. I'm picturing something like this: > > ***** TODO [#B] Verify login to the virtual machines > SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> > > 2. Add a command similar to org-deadline that I can use to attach a delay date to a to-do item > > 3. When I display my agenda, items that are delayed are not displayed. > > My e-lisp is pretty rusty so *any* advice or help is great. Could someone help point me to the right files and functions I'll need to modify to accomplish this? > > Thanks, > Andrew > > ^ permalink raw reply [flat|nested] 31+ messages in thread
* Re: Still Wishing for Snooze 2013-01-24 20:09 ` Marc-Oliver Ihm @ 2013-01-26 17:40 ` Marc-Oliver Ihm 0 siblings, 0 replies; 31+ messages in thread From: Marc-Oliver Ihm @ 2013-01-26 17:40 UTC (permalink / raw) Cc: Andrew M. Nuxoll, emacs-orgmode Hi Andrew ! Sorry, but I forgot to include one line: (setq org-date-state-wait-state "PENDING") to define the state, that the node should be changed to (I have "PENDING" among my org-states). Now if I have a node like this: * TODO Foo and invoke org-date-state, I get asked for a date (lets assume, that I answer tomorrow) and the node changes like this: * PENDING Foo CLOSED: [2013-01-26 Sa 18:36] :PROPERTIES: :DATE_STATE: [2013-01-27 So] TODO :END: Now, if on sunday or later I invoke org-date-state with a prefix argument, the node changes back to its original state. Hope you can reproduce that behaviour and find it useful ... best regards, Marc Am 24.01.2013 21:09, schrieb Marc-Oliver Ihm: > Hi Andrew, > > some time ago I did somethin similar (see below), it works with properties and might > come close, to what you want ... > > best regards, Marc > > > (defun org-date-state (arg) > "Save away state for current node; with prefix restore for all nodes if time has passed." > (interactive "P") > (if arg > (progn > (let ((today (format-time-string > (substring (car org-time-stamp-formats) 1 -1))) > (nvisited 0) > (nchanged 0)) > (message "Scanning...") > (org-map-entries > (lambda () > (let > ((date_state (org-entry-get nil "DATE_STATE")) > date state) > (incf nvisited) > (when date_state > (unless (string-match (concat "\\[" > org-ts-regexp1 > "\\] \\(" > (regexp-opt org-todo-keywords-1) > "\\)") > date_state) > (error "Property DATE_STATE ('%s') does not consist of date and todo keyword !" > date_state)) > (setq date (match-string 1 date_state)) > (setq state (match-string 9 date_state)) > (unless (string< today date) > (org-todo state) > (org-delete-property "DATE_STATE") > (search-forward-regexp org-property-start-re) > (org-remove-empty-drawer-at "PROPERTIES" (point)) > (incf nchanged))))) > nil 'agenda) > (message "Visited %d entries and changed %d of them" nvisited nchanged))) > (org-entry-put nil "DATE_STATE" > (concat > (format-time-string > (org-time-stamp-format nil t) > (org-read-date nil t)) > " " > (org-get-todo-state))) > (org-todo org-date-state-wait-state))) > > > > > Am 21.01.2013 19:20, schrieb Andrew M. Nuxoll: >> A while ago I posted for help in adding an ability to "snooze" a to-do item: >> >> http://www.mail-archive.com/emacs-orgmode@gnu.org/msg20114.html >> >> At the time, the only solution available was to create a manual copy of the item. This approach creates as many problems as it solves for me. I've gotten so frustrated with this that I'm really to knuckle under and fix it myself. >> >> I'd like to modify the org-mode code to support the following: >> >> 1. Add a date tag to an entry that indicates that it is "inactive" until a certain date. I'm picturing something like this: >> >> ***** TODO [#B] Verify login to the virtual machines >> SCHEDULED: <2013-01-11 Tue +1w> DELAY: <2013-01-24 Thu> >> >> 2. Add a command similar to org-deadline that I can use to attach a delay date to a to-do item >> >> 3. When I display my agenda, items that are delayed are not displayed. >> >> My e-lisp is pretty rusty so *any* advice or help is great. Could someone help point me to the right files and functions I'll need to modify to accomplish this? >> >> Thanks, >> Andrew >> >> > > > ^ permalink raw reply [flat|nested] 31+ messages in thread
end of thread, other threads:[~2013-02-13 11:14 UTC | newest] Thread overview: 31+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-01-21 18:20 Still Wishing for Snooze Andrew M. Nuxoll 2013-01-23 10:42 ` Samuel Loury 2013-01-23 19:00 ` Andrew M. Nuxoll 2013-01-23 13:36 ` Bastien 2013-01-24 18:49 ` Andrew M. Nuxoll 2013-01-24 22:26 ` Bastien 2013-01-24 22:54 ` Andrew M. Nuxoll 2013-01-25 1:20 ` Eric S Fraga 2013-01-25 10:45 ` Bastien 2013-01-25 19:48 ` Andrew M. Nuxoll 2013-02-07 9:44 ` Bastien 2013-02-07 15:25 ` Michael Brand 2013-02-09 18:06 ` Samuel Loury 2013-02-09 20:50 ` Michael Brand 2013-02-12 10:21 ` Bastien 2013-02-12 12:29 ` Michael Brand 2013-02-12 13:24 ` Michael Brand 2013-02-12 15:57 ` Bastien 2013-02-12 16:33 ` Bastien 2013-02-12 18:09 ` Michael Brand 2013-02-13 11:09 ` Samuel Loury 2013-02-13 11:14 ` Bastien 2013-02-12 22:35 ` Andrew M. Nuxoll 2013-01-25 11:10 ` Michael Brand 2013-01-25 19:30 ` Andrew M. Nuxoll 2013-02-07 15:24 ` Michael Brand 2013-01-23 15:49 ` Michael Brand 2013-01-23 18:51 ` Andrew M. Nuxoll 2013-01-23 19:37 ` Michael Brand 2013-01-24 20:09 ` Marc-Oliver Ihm 2013-01-26 17:40 ` Marc-Oliver Ihm
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).