We’re rewarding the question askers & reputations are being recalculated! Read more.

Hot answers tagged

18

You might want to try using org capture. When you initiate org-capture from your source file it will insert a TODO item into an org-mode file with a link to the relevant area in the source code. org-capture is smart enough to capture context-sensitive links--for instance, if you invoke it within a message in GNUS, it will capture a link directly to that ...


16

fixmee-mode offers highlighting of such notes and navigation. It is easily installed from MELPA and supports varying priorities of todo items.


9

There are several ways to do this using agenda views. The simplest is to use the week agenda: C-a a a. This will display the items in org-agenda-files that have timestamps within the current week, as well as deadlines due in the next 14 days (or whatever the value of org-deadline-warning-days is). You can also use the built-in searching tools to do this (...


7

There is an export option to control exporting of TODO items: tasks: Toggle inclusion of tasks (TODO items), can be nil to remove all tasks, todo to remove DONE tasks, or a list of keywords to keep (org-export-with-tasks). Setting it to nil will hide tasks from your exported document.


7

You can customize org-blank-before-new-entry. See C-h v org-blank-before-new-entry.


7

I prefer to use sub todos inside of a larger parent todo, instead of using categories. E.g: * TODO Write Tutorial [0/2] ** TODO Create Outline ** TODO Collect Data Then as I complete them I can see how close the larger parent todo is to being completed. Simply adding [/] to the end of the parent and C-c C-c to initialize it. Below is how I color my ...


5

The functions org-element-parse and org-element-map make this task relatively easy. org-element-parse generates an abstract syntax tree of the org buffer. You can iterate over the headlines of the buffer with org-element-map. The elisp code in the following org file is documented. The result is shown as block output. * Task 1 [2/2] ** DONE I 1 ** DONE I 2 *...


5

This can be done by creating a custom function that checks to see whether it's on an org-heading. (setq org-blank-before-new-entry '((heading . always) (plain-list-item . nil))) (defun call-rebinding-org-blank-behaviour (fn) (let ((org-blank-before-new-entry (copy-tree org-blank-before-new-entry))) (when (org-at-heading-p) ...


5

Looks to me like that is ordering by just priority-desc. I can infer from that snippet that you've set your org-default-priority to B, so the todo item with no explicit priority has defaulted to B and is correctly placed in the list. If you want to send items without explicit priorities to the bottom of the list you have to set org-default-priority to the ...


5

My preferred implementation This alternative solution will not act as a toggle, but it will directly convert Heading to * TODO Heading on hitting C-c C-t (The Shift bindings will not work here). The advantage of this approach is that you do not need to remember a new function or binding just for this special plain text to TODO conversion; the C-c C-t ...


4

From the org manual: When you mark a DEADLINE or a SCHEDULE with the TODO keyword DONE, it will no longer produce entries in the agenda. The problem with this is, however, that then also the next instance of the repeated entry will not be active. Org mode deals with this in the following way: When you try to mark such an entry DONE (using C-c C-t), it ...


4

Org mode is so flexible that you have, in addition to the previous answer, a bunch of additional possibilities, if you don't file like coding. This requires a little modification of your setup, but not much. One of the simplest solutions is to use properties. If we define the properties I-1, I-2, I-3 and I-4 and set them the value TODO, ONGOING or DONE (by ...


4

Rather than Googling for information, you can find up-to-date (usually) documentation for org-mode in the manual that ships with org-mode. Regarding remember.el, the manual notes: As of version 8.0, org-remember.el has been completely replaced by org-capture.el. To answer your questions: remember is now part of org-mode, and no additional package is ...


3

I don't think there's a built-in function for that, but you can create one and bind it yourself. I wrote this one, that will replace all outlines in region with - [ ]. If no region is active, replace the outline in current line. (defun org-outline-to-checkbox () (interactive) (if (region-active-p) (replace-regexp "^*+" "- [ ]" nil (region-...


3

For agenda view, I found out Capture with cursor date k does what I want after setting (setq org-default-notes-file "~/todo.org") in my .emacs. It is not that visual compared to Outlook calendar, but good enough for me.


3

After a glance at the code I think the 'fast-todo-selection' does not go together with agenda bulk marked items, yet. Possibly you want to file a report on the org mode mailing list so the issue might be addressed. As workaround I propose to customize variable org-agenda-bulk-custom-functions via M-x customize-variable. You can use SPC as character and (...


3

You do it by customizing org-log-into-drawer which you have presumably done. The problem is that your function has a bug: it contains two calls to org-map-entries. Try the following function instead: (defun mark-done () (interactive) (org-map-entries (lambda () (org-todo "DONE")) "/TODO" 'file)) OOPS: There was an extra paren at the end of ...


3

The Org documentation says Many commands in Org work on the region if the region is active. And indeed defining a region followed by C-c C-t acts on all headlines in that region. Note that customizable variable org-loop-over-headlines-in-active-region must be set. A further way is to use the respective bulk agenda action. Possible steps are as follows:...


2

Whilst not entirely on-topic for emacs, I use the simple trick of creating the stub of the method/property/whatever when I hit that 'to do' moment, containing nothing more than an assertion that says "Write Me!" or similar. The code then compiles cleanly, and tells me at runtime where my TODO items are.


2

You can use the function org-sort, which by default is mapped to C-c ^ in org-mode: Sort same-level entries. When there is an active region, all entries in the region will be sorted. Otherwise the children of the current headline are sorted. The command prompts for the sorting method, which can be alphabetically, numerically, by time (first timestamp with ...


2

You can customize the blank lines when collapsed with the following option: (setq org-cycle-separator-lines 0)


2

Juancho's assessment is correct. As it happens, I've been developing some tools for this kind of surgical advice. I think this should do the trick: (defun my/org-checkbox-toggle-advice (orig-fn &rest args) "Advice to move to next list item on checkbox toggle." (my/with-advice ((#'org-update-checkbox-count-maybe :after (lambda () ...


2

The C-c C-c behaviour on checklists is hard-coded deep inside org-ctrl-c-ctrl-c in file org.el. This is independent from org-toggle-checkbox in file org-list.el. So you'll probably have to modify org-ctrl-c-ctrl-c. Note that both functions end by calling org-update-checkbox-count-maybe, so you could try advising that function instead. But beware that this ...


2

Let's discuss low-level command that you need. org-todo cycles the headline your cursor is on through TODO states. org-toggle-item turns headlines into lists, org-toggle-heading turns lists into headlines. In standard Emacs they are mapped to C-c C-t, C-c -, C-c * respectively. org-todo doesn't work on regions, but it would be cool if we could put a TODO ...


2

org-agenda-todo calls the org-todo function interactively and in doing so, the it passes its own argument as it is to org-todo1. From C-h f org-todo, you will get a complete understanding of what the values of ARG mean to org-todo (and org-agenda-todo): org-todo is an interactive compiled Lisp function in `org.el'. (org-todo &optional ARG) Change the ...


2

Here is what I have come up with. Pretty simple. (setq org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d!)" "SKIP(k!)" "CNCL(c@)"))) (define-key org-agenda-mode-map "K" (lambda () (interactive) (org-agenda-todo '"SKIP"))) What this does is temporarily mark the item as SKIP and then immediately mark it as TODO again, while advancing the ...


2

Something like this should do: (defun yashi/org-timestamp-cycle-up (arg) (interactive "p") (yashi/org-timestamp-cycle (prefix-numeric-value arg))) (defun yashi/org-timestamp-cycle-down (arg) (interactive "p") (yashi/org-timestamp-cycle (- (prefix-numeric-value arg)))) (defun yashi/org-timestamp-cycle (cycle) (interactive "p") (let ((repeat (...


2

Org does not have built-in support for assigning faces (colors, etc) to specific categories. You can assign colors to specific TODO keywords (org-todo-keyword-faces) or to specific tags (org-tag-faces). You might want to look at org-agenda-category-icon-alist, which lets you associate an icon with a category. (I've never used this, but found it in the ...


2

I think the closest you can get here is to have three lists in org-todo-keywords like this: (setq org-todo-keywords '((sequence "TODO" "|") (sequence "RESEARCHING" "WORKING" "FINISHING" "|") (sequence "|" "DONE"))) If you start with TODO, then S-right will cycle through the second sequence, and eventually land on the third one. C-S-...


1

I've been following https://www.youtube.com/watch?v=sQS06Qjnkcc&list=PLVtKhBrRV_ZkPnBtt_TD1Cs9PJlU0IIdE and he also mentions a daily checklist like this, but he doesn't seem to be automating this. I've been looking at https://github.com/bastibe/org-journal and https://www.emacswiki.org/emacs/DiaryMode. But both don't seem to provide something like this. ...


Only top voted, non community-wiki answers of a minimum length are eligible