Tassilo Horn asked for this, because he finds the default behavior of
silently choosing a different row too confusing. I actually do agree.
The main use of this feature was running averages, if you need this
feature, you can customize the variable
`org-table-error-on-row-ref-crossing-hline'.
Samuel Wales writes:
> It would be really nice if you could set tags to different
> faces the way you can with todo keywords.
>
> For example, you could set :urgent: to a bright color. Or
> set a face for all contexts.
This patch add a new customization variable `org-tag-faces' that can
be used to specify such faces. The rest of the patch implements these
new faces in Org-mode buffers as well as in the agenda.
Harri Kiiskinen suggested that it might be useful to make the LOCATION
property an inherited property during iCalendar export. In this way
you can have set the LOCATION for a whole set of items by setting it
only in the parent.
While this will slow down iCalendar export for large files, I think it
can be quite useful. This patch does implement the basic code needed
for this functionality. However, you still need to tell Org that
LOCATION should be inherited, by setting org-use-property-inheritance.
If you set it to t, beware that this may trigger a significant
slowdown when creating the match view in the agenda. So it may be
better to set this variable to
(setq org-use-property-inheritance '("LOCATION"))
instead.
This patch improves the internal handling of the large number of
export options that Org-mode has. In particular, it now defines a
single constant, `org-export-plist-vars' that contains the full list
of options, and how these can be accessed through variables, and
through the #+OPTIONS line. Before the patch, there used to be a
separate list or the OPTIONS handling, which has gotten out of sync.
This now no longer can happen.
Also, this patch adds two new variables, `org-export-with-priority',
and `org-export-with-todo-keywords', which can be used to turn the
export of TODO keywords and priority cookies on and off, so that these
can simply disappear and not be shown in the exported file. In fact,
the default for the priority cookie is to remove it.
In addition to "<now>", "<today>", "<yesterday>", and
"<tomorrow>", there are more special values accepted now in
time comparisons in property searches: You may use strings
like =<+3d>= or =<-2w>=, with units d, w, m, and y for day,
week, month, and year, respectively
Thanks to Linday Todd for this proposal.
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.
The #+STARTUP etc lines that define settings on a per-file
basis can now be collected in a separate file and included
with a line:
#+SETUPFILE: "/path/to/setup.org"
This has been a frequent request in the past, now it is
finally possible.
These are implemented as part of plain lists, so a leading
"-" or "+" is still needed. Maybe this is not the most pretty
implementation, but it works without rewriting the quite
complex list formatting code. So all the list formatting
continues to work just fine. The description tag
is highlighted in bold, so still easy to spot.
The HTML exporter does export these already, the LaTeX
exporter still needs to be adapted.
Recently clocked tasks are now remembered as well as a default
task and an interrupted task.
There is no automatic clock-in yet.
Also, a number of bug fixes have sneaked into this patch,
sorry for the mess.
So far only internal links that lead to a dedicated target where
converted correctly during HTML export. Now, also heuristic
links create a working jump in a file.
This is a new display mode in the agenda view. It appends a clock
table to the daily/weekly agenda view that covers clocked time
for the time span shown in the agenda, and also limited to the
files that were used to create the current view.
The clocktable can now more easily select the correct time range
that should be considered when summing times. S-right and S-left
in the "#+BEGIN: clocktable" line allow to shift the time block around.
Also some code-cleanup.
Tags can now be selected for inheritance by using a list or a regular
expression.
Also for property inheritance, we now allow a regular
expression (list selection existed before).
The property API can now retrieve the value of a property
with inheritance based on the value of
`org-use-property-inheritance'. Earlier this value was ignored
when querying an entry. It still is ignored by default, but by
passing `selective' as the INHERIT flag, it can now be used.
ISO week dates can now be entered at the date prompt.
The ISO week of each day is displayed in the agenda.
New jumping commands like `43 w' quickly switch the agenda
to a certain week.
This system works by configuring a variable that contains a list of
all available modules. These will automatically be loaded when the
first buffer is turned into org-mode, or when a global command
is run that needs org-mode code available (such are
org-store-link.
In particular, this implements default dates for deadlines and
scheduled items, taken from previously existing deadline/scheduled
timestamps in the same entry.
Also we fix two minor bugs.
To save time, we don't re-initialize the list of projects/files each
time a file is published. But if people want to publish a file that
they just created, this file is not part of any project until the
list of project/files has been re-initialized.
If the file is not part of a project and should be, then the user
can tell so.