reddit / emacs
Org Workflow Question. In your Agenda view, how do you distinguish between daily/weekly/etc. repeated tasks, which are ok to mark DONE or CANCELLED (even if just to roll forward), and one-time tasks, which require a bit more care?
Status-Detective-783 · 2022-03-23 01:37
As an emacsian newbie and also with ADHD, I have many tasks which remind me to do daily/weekly/etc. things, jog my memory (poor man's Anki), etc. And I sometimes treat or think about my repeated tasks differently than my one-off tasks. In order to differentiate them in Agenda, I have adopted a policy of appending their repetition amount in the headline itself, like this:
*** TODO Clean/Organize Garage for 10 minutes .+1w
SCHEDULED: <2022-03-19 Sat .+1w>
Spend at least 10 minutes cleaning up the garage.
(I'll probably do more, but 10 min minimum.)
This makes it clear to me that this is a repeated task. So for example, if the above case is overdue by 3 days, I might just CANCEL the task to get it out of my hair, and let it roll forward to next Sat. But I wouldn't want to CANCEL a one-off task. I'll let it sit in my Agenda or reschedule it.
Do you do something similar? Or is there a more emacsian way to do this? I do use org habits for some things, and they are obviously not an issue because they are clearly differentiated from one-off tasks. I like my system, but it's sort of an anti-pattern since it's not automated or checked. So I'd like to know how others deal with this kind of differentiation and interaction with Agenda.
tuh8888 · 2022-03-23 06:45
I also use [habits](https://orgmode.org/manual/Tracking-your-habits.html) which have several uses, but two related uses are the agenda visual indicator (in the form of habit graphs) and the ability to toggle them on and off (via kbd `K` for me). I try to make most of my repeating tasks `habits` and all `habits` have to repeat.
Deep-Fox6860 · 2022-03-23 08:01
What exactly is your question? you do something and you want to know if others do that as well? I think you need to decide what YOU want to have happened and then build the process (orgmode) around it. Don't ever stop to think if you're doing something wrong, that's an unhelpful state of mind. There is no right or wrong way of using orgmode. What do you mean by "it's not automated"? do you want Emacs to know that you cleaned your garage? do you want it to know that you just skipped a one-off task?
MousetrapPling · 2022-03-23 09:59
You could set up a different set of keywords for repeating to-dos ... Not sure what I'd recommend using as it's not a problem I've wanted to solve, maybe something like RTODO, RDONE etc?
thenextdoornerd · 2022-03-23 10:24
I use a RECURRENT keyword (if it's a task), or HABIT (if it's an habit).
I use plenty of keywords actually...
INS DEL Keyword: WAITING(W@)
INS DEL Keyword: RUNNING(R!)
INS DEL Keyword: REVIEW(r!)
INS DEL Keyword: RECURRENT(K)
INS DEL Keyword: HABIT(H)
INS DEL Keyword: PROJECT(p)
INS DEL Keyword: TODO(t!)
INS DEL Keyword: NEXT(n!)
INS DEL Keyword: ENTRUST(e!)
INS DEL Keyword: WORKING(w!)
INS DEL Keyword: |
INS DEL Keyword: ABORT(a@)
INS DEL Keyword: DONE(d!)
INS DEL Keyword: LOG(l)
INS DEL Keyword: DOC(O)
INS DEL Keyword: DATA(T)
INS DEL Keyword: EVENT(e)
INS DEL Keyword: SECTION(s)
INS DEL Keyword: IDEA(i)
INS DEL Keyword: PROJECT\_CLOSED(c)
INS DEL Keyword: HABIT\_CLOSED(C)
INS DEL Keyword: ARCHIVED(a)
akirakom · 2022-03-23 10:45
You could use [org-recur](https://github.com/m-cat/org-recur) for repetive tasks (even though I often fail to stick with their designated intervals).
hieu2608 · 2022-03-23 13:16
I use org-clone-subtree-with-time-shift which ispired from [this article](https://karl-voit.at/2017/01/15/org-clone-subtree-with-time-shift/). It’s a built in function in org-mode, so no additional package required.
discursive_moth · 2022-03-23 13:39
I use tags like :repeating1w: The time interval is included because I use `org-clone-subtree-with-time-shift` instead of org's recurring task functionality.
titanofold · 2022-03-23 13:40
As u/tuh8888 mentioned, Habits is a good way to delineate.
Additionally, [org-agenda-sorting-strategy](https://orgmode.org/manual/Sorting-of-agenda-items.html) will help you group the tasks together. Here's what I have:
(setq org-agenda-sorting-strategy (quote
((agenda habit-up time-up priority-down
category-keep)
(todo priority-down category-keep)
(tags priority-down category-keep)
(search category-keep))))
Status-Detective-783 · 2022-03-23 18:02
Ahh I didn't know about K, that helps! (Every little bit helps.) But yes, my habits are reserved for certain things like chores. I might have other items that repeat every day (or week, etc.) that I don't want muddying up my habits section, for various reasons. But I should probably consider some of them really do belong in habits.
EDITED
[deleted] · 2022-03-23 18:18
[deleted]
Status-Detective-783 · 2022-03-23 18:21
Oh I hadn't thought of doing it like that, thanks!
Status-Detective-783 · 2022-03-23 18:22
Oh I was wondering if I could it sorted differently, thanks!
[deleted] · 2022-03-23 18:25
[deleted]
TooflessSnek · 2022-03-23 18:51
I think his question was CLEARLY stated. It's never wrong for someone (especially a new user) to ask about potential other solutions. Plenty of good discussion here!
Status-Detective-783 · 2022-03-23 18:55
> What exactly is your question?
Stated in the title. And in the description.
> you do something and you want to know if others do that as well?
Nope. I want to know *how* some other people might deal with this.
> Don't ever stop to think if you're doing something wrong, that's an unhelpful state of mind.
I got some good replies. Not sure why it would be wrong for a newbie to ask a question, lol!
> What do you mean by "it's not automated"?
The coordination between the heading and the repeat interval is manual, and could get out of sync. Probably a minor issue, but as /u/akirakom pointed out, there's a package called [https://github.com/m-cat/org-recur](https://github.com/m-cat/org-recur) which seems to automate this.
tuh8888 · 2022-03-23 20:29
org-super-agenda and org-ql may also be helpful to separate them visually. Org-super-agenda has `:habit t` keyword for identifying habits when sorting the agenda.
Status-Detective-783 · 2022-03-23 20:31
Interesting little package, thanks!
tonicinhibition · 2022-03-23 21:22
There must be something in this distinction you are making that escapes me. I'm really trying to understand it because your use-case seems very much like mine.
In fact, I use habits for both "things I *must* do every day" and things that are less pressing and which I might disregard. I'm not sure what you mean by "muddying up [your] habits section".
On the off-chance that you simply mean the visual representation of your habit in the agenda view: you can specify any number of agenda files. I have a file called `habits.org` and I have a file called `agenda.org`. You could easily have a third file called `recurring.org` whose tasks just so happen to have the habit style. At least in my agenda view, tasks are labeled by their file-name.
Perhaps you know this, but you may want to experiment with the "++" style of [repeating tasks](https://orgmode.org/manual/Repeated-tasks.html). There is a subtle difference whereby ++ is designed for time-specific tasks.
**However**: I personally find that such a granular reliance on the agenda feels rigid and unnatural to me. I especially hate the feeling of "cancelling" a task. Instead, I use a combination system of GTD / Eisenhower Prioritization Matrix. My habits are more general: daily, weekly, monthly. My `habits.org` file has these three entries. The file is read-only and each habit has ~3 sub-headings. These sub-headings are org-links to other files, such as my journal, my inbox/priority matrix, my goals or my org-roam (zettlekasten/slip-box).
This allows me to operate in a way that feels much more flexible. I reserve the `TODO` keywords for scheduled and repeating tasks only. It also allows me to turn off my brain and removes the barrier of inertia and will-power. Just by opening links I find myself doing the things I need to do, or reflecting on my resistance to them in my journal, or breaking them down into more manageable sub-tasks. I also contend with ADHD and this is what my system has evolved into over the years. Very low friction, very dynamic.
It is precisely that flexibility that allows me to get back on the wagon when I fall apart so that I don't get overwhelmed.
Status-Detective-783 · 2022-03-23 22:02
The "distinction" is fuzzy. A lot of my habits are repeated daily goals from my [beeminder](https://www.beeminder.com) system (accountability contract app), and then I have a few more habits that I've added. For some reason, I didn't want to "overload" my habit section, and I'm not sure what I mean by that, tbh.
Some things are anki-like. I want to instill within me a memory of them, and I foresee that I'll be pushing them out to weekly, monthly, or longer repetitions. When they get to that stage, I don't want to reserve a habit line for them. I just want to read it, say "oh yeah, ok I need to remember that", and then mark that done and get it out of my habit view. No need to see it all week or all month (which would actually defeat the purpose). So that's at least one use-case for a non-habit repeating item.
My org-mode "system" is in a VERY early stage of development; I dedicated Feb to learning Emacs/Org-Mode, and I just started using agenda about March 1. Most of my habits are 10 days old! So the whole thing is a bit of a mess, tbh. I'm just hacking it together as I learn!
Your system sounds very interesting, thanks!
dpoggio · 2022-03-23 22:30
I tend to be driven by laziness. If you want it shown in your agenda just for the sake of a better grid, then the simplest way is: Don’t use a TODO flow. Just use active time stamps to show text in the agenda. The next step (less lazy) is: use tags. Column view in the agenda mode will show you recurring tasks. If you want something elaborate, like habit tracking, you can do so, but there’s more work behind, mostly not useful. Finally, should you use a different set of TODO keywords, they will be annoying you in `C-c C-t`. I would use a different set of keywords just if I really want a different workflow, but most tasks at work seem to be scrum-like flows. I don’t want many flows, why would I?
Status-Detective-783 · 2022-03-24 05:21
I think that might work for people who can fly by the seat of their pants. However, due to my ADHD, I need some more sophisticated ways to control my focus, or I get overwhelmed. Also, these aren't just tasks at work, these are all kinds of tasks to manage my life.
On the other hand, I do appreciate that a big system with a lot of red-tape can get in the way of Getting Things Done. So you're right for me to always keep in mind how I might simplify things.
I guess that right now, org mode TODO's seem to be more effective for me than anything else I've ever used. And it seems that the TODO system itself has a lot of embedded functionality, perhaps packages that run off that model, etc. So yes, I'm in exploratory mode, seeing what TODO's can do for me. But who knows, maybe I'll eventually decide that a lean system like what you're suggesting is really the best way to deal with everything! Thanks!
[deleted] · 2022-04-02 22:24
[deleted]
Status-Detective-783 · 2022-04-02 22:25
So I'm coming back to this a week later, liking it even more now. And I think I'll probably do some similar things, like RECUR and HABIT. I can glean what a lot of these may mean, but I was wondering if you could bullet point what their meanings are for you?
thenextdoornerd · 2022-04-08 09:36
Stuff that has to be done:
* WAITING: a task that has to be done, but I'm waiting for something non dependent to me
* RUNNING: some long task that I'm tracking and currently doing, like reading a book
* REVIEW: a blocked task that needs to be rethinked/reviewed
* RECURRENT: a recurrent task (paying taxes, haircut...)
* HABIT: an habit that I want to track
* PROJECT: this i not a task, but a project, it's a group of tasks
* TODO: this is the default task status for something that has to be done (has to be in a PROJECT or SECTION)
* NEXT: this is the next task that I wont to do (one or two)
* ENTRUST: this is something that I've entrusted to someone
* WORKING: this is what I'm currently working on
* EVENT: this is for scheduled events or meetings
Stuff that is not to be done:
* ABORT: a task aborted for some reason
* DONE: compleated
* LOG: this is a group of sub entries with no keyword, but a date, for something I need to log, like incoming calls, reunions logs, relational problems with someone, etc
* DOC: this is a little document
* DATA: this is a simple information
* SECTION: a container of tasks that not refers to a PROJECT, eg: books, house chores, fiscal
* IDEA: a task that maybe ha to be done in the future
* PROJECT\_CLOSED: a project closed
* HABIT\_CLOSED: an habit closed
Status-Detective-783 · 2022-04-08 19:07
THANKS!!!
yantar92 · 2022-05-02 13:03
You can append repetitions automatically:
(defun yant/format-time-balance-multiplier ()
"Format :ORG-TIME-BALANCE-MULTIPLIER: into agenda."
(condition-case nil
(save-match-data
(let* (mult bonus
(schedule-string (or (org-entry-get (point) "SCHEDULED") ""))
(scheduled? (string-match org-repeat-re schedule-string))
(repeat-string (and scheduled? (match-string 1 schedule-string)))
(repeat-string (and scheduled? (replace-regexp-in-string "[+.]+" "" repeat-string))))
(format "%s%s%s" (if scheduled? (format "%-4s" (format "%s↰" repeat-string)) " ") (if mult (format "%+.1fx" mult) "")
(if (and bonus (> bonus 0)) (format "+%-3s" bonus) " "))))
(error "")))
(setq org-agenda-prefix-format '((agenda . "%-12.12s %-14.14:c [%-4e] %?-12t%(yant/format-time-balance-multiplier)")
(search . "%s %-14.14:c [%-4e] %?-12t%(yant/format-time-balance-multiplier) %(yant/format-summary-for-agenda)")
(todo . "%-14.14:c [%-4e] %?-12t%(yant/format-time-balance-multiplier)")
(tags . "%-14.14:c [%-4e] %?-12t%(yant/format-time-balance-multiplier)")))
Status-Detective-783 · 2022-05-03 06:12
Thanks! Could you briefly tell me what the above functionality accomplishes? My LISP-fu is fairly non-existent.
But my Google-Fu is stronger. :)
https://www.reddit.com/r/orgmode/comments/hdrcnq/show_repeaters_in_the_agenda/
https://github.com/yantar92/emacs-config/blob/master/config.org
FYI, I'm very interested in this, but I'll have to dig into all of this later, it's 2:15 am and I need to go to sleep. :)
yantar92 · 2022-05-03 06:39
It prepends some extra information to the displayed task in agenda. In the reddit link you googled, the repeater is prepended (if there is any). In the original function from my config, the repeater, effort estimate, and also time-tracking metadata are displayed. See https://0x0.st/oAtw.png
* TODO this is test repeating task
SCHEDULED: <2022-05-03 Tue .+2w>
Status-Detective-783 · 2022-05-03 13:47
Wow. This is perfect! Thank you so much!