Ignore:
Timestamp:
05/04/2020 01:46:01 AM (4 years ago)
Author:
David Owen <dsowen@…>
branch-nick:
org-autofocus
revision id:
dsowen@fugue88.ws-20200504014601-2my5qy3z8dtqxw2r
Message:

Commentary

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/org-autofocus.el

    r14 r15  
    88
    99;;; 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.
    1065
    1166;;; Code:
Note: See TracChangeset for help on using the changeset viewer.