This function is experimental and may need to be extended to search for IDs in a
specific password file that are is not necessarily a member of
`org-agenda-files`.
This is to mark items that are not yet actionable but are supposed to become
actionable. The intended action on those items is then to refine those (or
cancel them).
Most importantly, this allows to use globstar expansion in bash with dired.
Note that `dired` has to be invoked explicitly for this to work, as `find-file`
will not expand the globs itself.
Efforts are not necessary there anymore, so remove those to save some horizontal
space. Also add indentation to the TOPIC overview to make clear the (possibly)
hierachical structure.
Items scheduled now or in the future are now ignored by default. Rationale: if
things are scheduled now or in the future, they are displayed on the main agenda
and not overdue, so there's no need to show them in the other agendas (meant for
reviewing); if an item is scheduled in the past, it's still shown on the main
agenda, but should also be reviewd for why it's late, so we include it in the
other agendas as well.
Also ignore NOTE items that are scheduled, as the same logic applies there as
well.
Those match the current value of `org-agenda-sorting-strategy` and are thus
redundant. Removing those settings also allows to customize the order of items
in those views.
This reverts commit 690d16cdab.
Do not include complex tasks in the backlog agenda, as complex tasks are no
actionable items, but the backlog agenda should only list things that can and
should be done. Stuck complex tasks are shown in the Project agenda, and a list
of all others might only be necessary during reviews – but when complex tasks
need reviews (apart from when they are stuck), they should have a NOTE sub-item.
This list only shows complex tasks, i.e., tasks with sub-items, and is therefore
not a faithful indicator for overwork (this was the original intention to have
this list). A better indicator might be to check the Backlog Agenda, but this
list might contain items far in the future and could thus also not be a valid
indicator for overwork.
The previous version caused stack overflows in the regexp matcher, supposedly
because of matching newlines in the description. This should not happend
anymore, but description won't be matched anymore of they contain a line break.
NOP means „not a project“, so excluding them is plausible per se. NOP entries
will also be reviewed less frequently (usually once per month) so a combination
of NOTE and NOP would allow to have „abstract“ project notes whose main purpose
is to collect backlinks and thus group proper note entries (example: topics
relevant for release planning).
The idea is that items with identical priority but low effort are „more worthy“
than items with higher efforts (same gain = priority with lower effort).
Actually, the name “project” is too ambigious here, which is why I have replaced
it at some points with the more concrete word “task”. This is to mean that
tasks are items that work towards a particular, tangible goal but consist of
multiple steps to reach it. Project notes, then, capture the state of more
complex tasks with varying or multiple goals all interconnected in a specify
realm. Project notes are used for planning tasks and for capturing the current
state of affairs.
Topics, on the most abstract level, comprise areas of responsibility or activity
where not at every point in time there's something conrete to be done, but
periodic review is in order.
Related to PARA parlance (https://fortelabs.co/blog/para/), the mapping may not
be completely clear, as projects (in the sense of PARA) relate to both tasks and
project notes. Indeed, it could be the case that a project is small enough to
only have a associated task and no project notes (e.g., if everything is clear
and it's just „doing“), or a project (again in the sense of PARA) relate only to
some project notes (in my sense), e.g., when it's not yet clear or not yet
planned what needs to be done concretely or when even the goal(s) are not set
yet.
However, as far as I currently understand, the other items in the PARA
methodology map quite nicely to my terminology:
- Area of Responsibility ↔ Topics
- Resources ↔ Project Notes (or any other notes like my zettelkasten)
- Archive ↔ Archive (surprise!)
Maybe I should split my notes into two categories: project notes proper and
general notes containing information about not-necessarily-project-related
topics?
When appoints have been started but are then postponed to the future, I do not
want to see them on the WIP list. I could schedule them for the new date in
addition, but this would count the associated effort twice in the agenda view.
So let's just ignore timestamps in the future, they will show up when they are
due anyway.
This dynamic block will list all items (including their priority) that link to
the item at point or to any of its parent items. The use case for this is to
have a series of periodic appointments where certain topics should be
discussed (“jour fixe”), and where those topics can be referenced in those
appointments via backlinks. However, simple backlinks to an item on a fixed
date is not sufficient here, as there might not be enough time on that day to
discuss all items. To avoid having to manipulate all backlinks that could not
be discussed, one could simply add a reference to the parent item of all
appointments of the jour fixe series. Using the new dynamic block introduced
here, this item will be on the list of open topics until it's closed.
Somehow, using lispy in the minibuffer causes random indentations although
everythin is on the same line. This might not be an issue with lispy itself,
disabling it however makes the symptom go away. Since I am not using lispy
features in the minibuffer anyway, I can as well switch it off.
There's a new mode map `eshell-hist-mode-map` which already contains a binding
for `M-r`, so we have to redefine that key binding there to make it work.
This allows to keep ideas for later in dedicated NOTE items, to group them
together. Not sure whether this is really a good idea, as it spreads those
ideas around, but let's try it out!
When inserting links multiple times, it's annoying to have to go back to the
original place the link points to and reinsert it into the stored link list.
Using a universal argument to toggle `org-link-keep-stored-after-insertion` is
also not an option, as I keep forgetting to use it.
Instead, by default keep all links after insertion. To be able to handle the
growing list of links, we now provide a function `db/org-clear-stored-links` to
set the list of stored links to the empty list.
We want `org-ql-search`, but need to install `org-ql`, so it's best to simply state
this in the `:ensure` declaration.
The `:commands` specification might be redundant, as `org-ql` comes with an
autoload file. But let's keep it there for clarify purposes.
This includes, among others, a dynamic block to insert the result of a query –
which is exactly what I am looking for. I have to learn a new query language,
though, but it seems as if non-sexp syntax is easy enough; and having a
lisp-like query syntax is undoubtedly a big improvement!
This way, the WIP list faithfully shows all WIP items and gives a better
overview of the current work load. Items will appear twice though when they are
scheduled today or in the past.
This should allow to have TODO subtasks in templates without them appearing in
agenda views, among others.
Tried to update some agenda views, but some configurations may still be missing.
When things are scheduled, they are shown in the time grid portion of the
agenda. When they are scheduled in the future, they will not show up until that
date is due; when they are scheduled in the past or present, they are shown on
the time grid directly. Both situations are sufficient, and it's thus not
necessary to show scheduled items in other lists as well.
Started dates are also WIP, in particular if they have been interrupted. Items
scheduled in the future should only appear on the WIP list when they are due.
I regularly filter the main agenda view for the CONT tag to see my WIP items, so
it's propably meaningful to have this as extra list. It's using some space in
the agenda view, though, so let's see how this will turn out.
This had been used to synchronize my calender with others, but since this
synchronization is not in use anymore, regular exports are unnecessary.
Furthermore, the export makes Emacs unresponsive sometimes, as the export does
not seem to be easily preemtable.
Enabling this somehow caused performance issues in Org Mode buffers, and since I
am not using this syntax, let's just disable it. This setting can be
overwritten via the Customize interface.
This allows to postpone projects into the future when they are not relevant now
but would otherwise be stuck. Because of the scheduling, an automatic reminder
will appear on the agenda when the date is due, upon which the projects is shown
again as stuck. Then new items can be planned, or other measure might be taken.
This should make the main agenda view into a good overview of everything that
can be done right now, allowing it to choose the next task directly from that
list. The scheduled items then are only meant for information and hiding future
tasks.
I had ≈9500 entries and I think this had been too much, causing noticable lag
when closing Groupd. In particular my email volume is much lower than this.
This is primarily to be used in the weekly review to check all next items for
still being relevant, but can of course be used for other purposes as well.
Apparently, this causes a considerable lag when drawing buffers (determined by
experimentation). It's not clear to me whether really moody is the cause of
this issue here, or some subtle side effect.
Those things are added at the end of the LOGBOOK, instead of at the beginning.
This does not help, I would rather like to have those things being added as if I
would have taken a note on the currently clocked-in task. Indeed, this is what
I have been doing instead of using those capture template, which is why this
commit removes them.
The reason to keep this off was that my solarized-theme did not have support for
this. Since I have hacked this support together on my own now, I can (and
should) also use it!
Enabling hl-line-mode globally causes undesired and disruptive highlighting
effects in buffers such as eshell. Enabling it in prog-mode and text-mode
should be fine, though.
Additional modes may be added later.
I do not use the completion provided by company-mode, and sometimes it's even
disruptive during writing. So let's disable it for the time being.
The original reason to keep it activated has been to have completion when
inserting links to local files. This can better be achieved by providing a
universal argument to `org-insert-link`.
This will move lines more to the left when specifying arguments to constructors
or functions on multiple lines. Nested function calls can also be broken into
multiple lines to reduce their overall line width. This looks nicer from my
point of view :)
From my point of view, it does not make much sense anymore to distinguish these
two lists. Reading items should be on the main next action list as regular TODO
items. Indeed, using dedicated READ state does not make much sense either, so
let's remove that one from our capture templates, too, but keep the READ tag for
now. However, we cannot remove it from the keyword list for now as we are still
using it in some old items.
When keeping old links around, it may happen that adding another link is already
present in `org-stored-links`. In that case, only a message is displayed (“This
link already exists”), but the link itself is not pushed to the front of the
link history. A subsequent insertion of the link then requires manual selection
of the desired target, resulting in massive interruptions of the current flow.
This is the current default value from Org mode. It also makes more sense for
my workflows, as those searches usually are meant to be worked upon, and
sorting by priority helps to find the most relevant items on those lists.
Topics are reviewed regularly (e.g, every month), so having a readily available
agenda view helps here. It's also easier, I think, to keep an overview over all
active topics if they are easily accessible in a custom agenda view.
Things to refile should not be shown on the main agenda, as this view is only
meant to show open tasks. Indeed, if to-be-refiled items are already done, they
should not be here for exactly that reason; and if they are not done yet, then
they will show up in the Next Action list anyway.
Bringing items to their (supposedly) correct location is not part of doing the
item, it's part of cleaning up (e.g., while doing the weekly review).
Emptying the refile file should still be done regularly, though, i.e., every
day (via a daily review) or weekly (in the weekly review).
Those files are specific for each machine where Emacs is running and change
often, and should not be included as private configuration files. Indeed, those
files might be versioned (e.g., using git) and deploying those versioned
configuration files over multiple machines would cause a number of conflicts if
Gnus' local mail files would be included as well (as has happend to me). Since
those machine-specific files are not really relevant for other machines, keeping
them somewhere else is reasonable. The new default is $HOME/.config/gnus-news.
Note that the main gnus-newsrc file is still kept as private configuration file.
Those tags are meant to mark the current headline (and nothing below) as either
just a headline (via NOP, i.e., no projects) or as a topic (i.e., a general
obligation and not a concrete thing to achieve).
This tells `org-set-tags-command` to not clear the NOP tag if it's available
somewhere at a parent node – a thing `org-set-tags-command` apparently seems to
be doing in general to keep the tags hierarchy clean.
To mark whole projects as SOMEWHEN may further declutter the main project list.
To not loose sight of those SOMEWHEN projects, however, they are not explicitly
shown in the SOMEWHEN list.
The SCHEDULED entry for projects (not for their respective tasks) is now used to
move currently irrelevant projects out of sight, and schedule them for later
resubmission. Indeed, those projects will reappear on the main project list
when the SCHEDULED date is due.
plantuml-mode derives from prog-mode, which in my coniguration automatically
activates subword-mode. However, as plantuml uses barewords as strings, those
are rarely meant to be in camel-case (indeed, typos are much more common) and
subword-mode is more distracting than helpful.