As described in [1], we are sometimes representing recurring tasks as lists of
single tasks plus a recurring task to create new instances once in a while. All
of this is grouped under a common headline, and those headlines should be marked
with PERIODIC to inhibit automatic clock-in.
[1]: https://karl-voit.at/2017/01/15/org-clone-subtree-with-time-shift/
RFC documents do not change over time. The custom org mode link handler
`db/org-rfc-open' now makes use of this by downloading RFC documents to
`db/rfc-cache-path' (if defined) and opening the files locally. If
`db/rfc-cache-path' is not defined, the RFC is opened in an external browser as
before.
This allows to keep a selection of used RFC documents locally on the filesystem
for future reference, without the need to retrieve them again from the IETF.
Since this is all org mode related, the handler now also resides in `db-org'
instead of `db-utils'.
The setter will now complain if the file to be added to `org-agenda-files' does
not exist and is not readable. It also now uses the proper functions from `org'
to update `org-agenda-files'.
For this a new function ‘timeline-tools-clockline-no-org-agenda-conflicts’ as
been added that reads in a clock line (start and end times), updates all org
agenda files to fix conflicting clock lines, and returns the string of the new
clock line. This works for all complete clock lines (i.e., those with end
times), but not for open clock lines (i.e., those missing an end timestamp).
Up to now, ‘org-agenda-files’ only consisted of the four variables customizable
in init.el, namly ‘db/org-default-work-file’, ‘db/org-default-home-file’,
‘db/org-default-notes-file’, and ‘db/org-default-refile-file’. However, this
meant that no *additional* agenda files were possible, like including multiple
files for notes. This should not be the case any longer.
This is achieved by moving the variable definitions to use-packages’ :init
blocks, and allowing ‘db/run-init’ to override these definitions by calling
‘load-file’ on custom.el afterwards.
Also inlined some definitions from my custom.el file back into init.el