- Timestamp:
- 05/04/2020 01:46:01 AM (5 years ago)
- branch-nick:
- org-autofocus
- revision id:
- dsowen@fugue88.ws-20200504014601-2my5qy3z8dtqxw2r
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/org-autofocus.el
r14 r15 8 8 9 9 ;;; Commentary: 10 11 ;; This minor mode works primarily by lightly analyzing the Org Agenda todo list 12 ;; and adding some extra text properties, and by the addition of a TOUCHED 13 ;; property to tasks' property drawers. 14 ;; 15 ;; Tasks are identified by looking at the beginning of a line for the TYPE 16 ;; property that Org adds. The code does /not/ verify that the property's value 17 ;; is "todo". It's assumed that a task runs from the beginning of a line to the 18 ;; end of the same line. 19 ;; 20 ;; A task is "dotted" or "marked" by setting the DISPLAY properties of the first 21 ;; character of the line to "*". 22 ;; 23 ;; A range of tasks is hidden by setting the INVISIBLE property of the entire 24 ;; line to T. Because this hides the newline, the range of hidden tasks 25 ;; actually appears at the beginning of the line for the following unhidden 26 ;; task; see ORG-AF--BEG-OF-TASK. 27 ;; 28 ;; A marked task is dimmed by adding an overlay with FACE set to 29 ;; 'ORG-AGENDA-DIMMED-TODO-FACE. 30 ;; 31 ;; Properties are added as one property representing the state 32 ;; (e.g. ORG-AF-MARKED) set to T for easy property testing, and the CATEGORY 33 ;; property set to the state (e.g. 'ORG-AF-MARKED) to handle the actual visual 34 ;; characteristics. See variable ORG-AF-MARKED and following functions for an 35 ;; example. 36 ;; 37 ;; Tasks are sorted according to the value of the TOUCHED property; 38 ;; least-recently-touched tasks are followed by most-recently-touched tasks. 39 ;; Any task that doesn't already have the property is touched at the time of 40 ;; sorting. 41 ;; 42 ;; The user may mark a task by pressing "."; all tasks between it and the 43 ;; previous marked task will be hidden, and all previous marked tasks dimmed. 44 ;; The idea is that hidden and dimmed tasks are not to be manipulated any 45 ;; further, until subsquent marked tasks have been handled in some way. 46 ;; 47 ;; The user may defer a task by pressing "d"; the task will be unmarked, 48 ;; touched, and sorted to the end. 49 ;; 50 ;; Finally, the user may complete a task by pressing "c" or "t"; the task will 51 ;; be unmarked, completed by Org's code, touched, and sorted to the end. 52 53 ;;; Known issues: 54 55 ;; Keymaps and commands are not sufficiently controlled. A user may manipulate 56 ;; a task in a way this minor mode doesn't handle. A user may also manipulate 57 ;; tasks that are dimmed. 58 59 ;; Redo'ing the agenda loses the minor mode; it's necessary to run ORG-AUTOFOCUS 60 ;; every time the minor mode is desired. 61 62 ;; I haven't yet found a way to enable this minor mode without using a command 63 ;; that wraps the call to ORG-AGENDA with some overriding bindings in place. 64 ;; This is the primary reason that redo isn't supported. 10 65 11 66 ;;; Code:
Note: See TracChangeset
for help on using the changeset viewer.