So far, the only way to select tags for inheritance was to
allow it for all tags, or to do a positive selection using
one of the more complex settings for
`org-use-tag-inheritance'. It may actually be better to
allow inheritance for all but a few tags, which was difficult
to achieve with this methodology.
This patch introduces a new option,
`org-tags-exclude-from-inheritance' which allows to specify an
exclusion list for inherited tags.
This patch does a lot of things. First, it makes sure that the tags
transferred to the agenda as text properties on each line are do carry
information about there origin (in the form of an `inherited' text
property). Then it modifies the function creating agenda lines so
that inherited tags will be listed and identified as such in the
agenda.
This new feature can be turned off with a new variable,
`org-agenda-show-inherited-tags'.
This file implements a special function to copy text from a w3m buffer
in a way that when the text is yanked back into an Org-mode buffer,
the links will be translated to Org syntax.
This cleans up the implementation of the timer. Most important change
is that, after starting a time list with `C-c C-x -', you can then
simply use M-RET to add new items, which is addictive!
This patch implements a relative time for taking timed notes, useful
for example while watching a video, or during a meeting which is also
recorded. Here are the new commands:
- `C-c C-x .' ::
Insert a relative time into the buffer. The first time
you use this, the timer will be started. When called
with a prefix argument, the timer is reset to 0.
- `C-c C-x -' ::
Insert a description list item with the current relative
time. With a prefix argument, first reset the timer to 0.
- `C-c C-x 0' ::
Reset the timer without inserting anything into the buffer.
By default, the timer is reset to 0. When called with a
`C-u' prefix, reset the timer to specific starting
offset. The user is prompted for the offset, with a
default taken from a timer string at point, if any, So this
can be used to restart taking notes after a break in the
process. When called with a double prefix argument
`C-c C-u', change all timer strings in the active
region by a certain amount. This can be used to fix timer
strings if the timer was not started at exactly the right
moment.
Jurgen Defume asked for a way to display only logging information in
the agenda. This patch implements such a possibility. It works by
calling `org-agenda-log-mode' (bound to `l' in the agenda) with a
double prefix arg. This sets the variable `org-agenda-show-log' to a
special value `only' which is then interpreted by the agenda-creating
functions.
When yanking a cut/copied subtree or a series of trees, even
the nomal yank key `C-y' does now adjust the level of the tree
to make it fit into the current outline position, without
loosing its identity, and without swallowing other subtrees.
This uses the command `org-past-subtree'. An additional
change in that command has been implemented: Normally, this
command picks the right outline level from the surrounding
*visible* headlines, and uses the smaller on. So it the
cursor is between a level 4 and a level 3 headline, the tree
will be pasted as level 3. Now, if the cursor is actually
*at* the beginning of a headline, the level of that headline
will be used. So lets say you have a tree like this:
* Level one
** Level two
(1)
(2)* Level one again
with (1) and (2) indicating possible cursor positions for the
insertion. When at (1), the tree will be pasted as level 2.
When at (2), it will be pasted as level 1.
If you do not like `C-y' to behave like this, configure the
variable `org-yank-adjusted-subtrees'.
Thanks to Samuel Wales for this idea and a partial implementation.
This only lead to a contributed file, this is neither robust nor fast.
But maybe throwing the existing code into a contrib file
will make someone come up with an idea.