As with the next action list, it's better to keep the reading list in sight so
that when I decide what to do next, it's there and showing me all the
possibilities.
At work, I am using the category to record the cost centers of the corresponding
actions. Maybe sorting the next action list gives a better understanding of the
overall set of actions by clustering them by category?
I somehow have the feeling that my next action list is not “present” enough and
so I am afraid to miss things. As an experiments, let's try to display the next
action list in the main agenda view to always have it in sight.
In that case, I sometimes want to add extra information, like scheduling a
date or adding extra references. This is not easily possible when the capture
is closed immediately.
Using the buffer name does not seem to play well together with org refile
keeping the last choice on top of the candidate list, because a slash is
automatically appended to this entry. This results in an invalid refile
location. Thus reverting back to only using the file name, it's fine this way.
Those will be done somewhen, if at all, and are not necessarily associated with
any action. So let's keep them off the reading list consisting of read actions.
The next actions list now also contains that have a deadline, but are not being
scheduled. This is more in accordance with the GTD method, as items with a far
deadline can still be done today, and for this they have to appear in that list.
This might be used before loading pyvenv, so let's include it in the autoload
list.
However, it seems pyvenv is loading its autoloads anyway, so this change might
be irrelevant. It's still nice to have it here for documentation.
When running this Emacs configuration on different hosts (with different
operating systems …), virtual environments for Python may be available in
different locations. So we allow the environment in which Emacs is started in
to overwrite the value of WORKON_HOME to accomodate for this.
Buffers are made globally unique, while filename usually are not, like my
various project diaries. This new setting allows to distinguish targets in
equally named org mode files directly when refiling (and thus also when
inserting links).
As for eshell, path completion in shell mode erroneously adds extra spaces when
using ivy. Since the builtin completion is good enough for shell mode anyway,
let's stick to that. No bad surprises.
eshell is using pcomplete as completion meta-framework, which by default will
insert the value of `pcomplete-termination-string` to each finished completion.
However, when using newer versions of `ivy` for path completion, each completed
directory within a path is considered a finished match, and pcomplete will
insert a blank. This is annoying, and since we do not require the final blank
otherwise, we can equally just disable it.
When only signing with S/MIME, `message-encode-message-body` complained about
not being able to find \n\n. However, we only need the conversion when
encrypting with S/MIME, and apparently the LF → CRLF conversion hack is working
in that case.
However, I think there should be some way to fix this properly within Gnus,
maybe via some configuration … I think I have to write to the Gnus Usenet group
for this.
This causes lagging while highlighting symbols, and the highlighting itself does
not add much value. Disabling it thus does not hurt and gets rid of the
lagging.
This is mostly because I haven't had time to understand what the `:custom`
keyword is actually doing. Apparently, it introduces customizations without
user interaction, which in turn makes changing default values a manual
process (by changing customizations one has never done) thus resulting in
inconsistent behavior.
As per the documentation (see "(elisp)Startup Summary"), only variable
customization that affect package initialization should go into the early init
file. Defining package archives is explicitly mentioned as something that still
may go into the main init file. So we move it there and adjust comments
accordingly.
This avoids headline-references (as opposed to referencing IDs) when implicitly
creating links in new items through `org-capture` when already in `org-capture`.
In that case, the %a template specifier will call `org-store-link`
non-interactively (as it seems) and the old setting of
`org-id-link-to-org-use-id` created links based to the headline of the target
instead of creating a new ID property.
Note that this will also always ignore CUSTOM_ID properties, but I haven't used
it anyway.
Keep the standards as they are and customize the variables when necessary.
Changing the defaults almost always causes trouble when running on other
machines. For example, `python3` is the name of the Linux executable, but not
the Windows one.
Inspired by [zamansky](https://cestlaz.github.io/post/using-emacs-74-eglot/).
There were some problems with the builtin version of `project`, I had to delete
the `elpa-ess` Debian package, because it was pulling in the builtin version of
`project` before `package.el` could set up the proper paths. I need to
investigate how to avoid this behavior in general.
The generic definition for the "todo" state-change must have overwritten the
other, more specific definitions for the other TODO-type states. Fixed this by
removing the generic definition.
Also added some more tag triggers as well.
This only unnecessarily clutters the use customizations. If proxies are
important, configure them explicitly, which is easy; if they are not important,
they don't have to be saved.
Using sshx as default on non-Windows systems seems to be a more robust choice
than using ssh, because the latter might be prone to errors caused by my
user-specific shell configuration. And while we are at it, using plink on
Windows is more reasonable than using ssh, at least in my working environment.
Indeed, in my workflow, the effort estimate of an item is independent of the
effort estimates of all its subitems. It thus does not makes to sum them up,
and indeed the "{:}" in the column view format causes the (independent) effort
estimate to be overwritten by the sum of the efforts of its subitems every time
column view is turned on.
From our previous attempts to get S/MIME working when using Outlook, the
function `mm-copy-to-buffer` had been adviced to change all LF to CRLF, to allow
`mm-copy-to-buffer` to find the beginning of the body. However, when the body
itself is binary and accidentally contains an CRLF, that content is modified as
well. This might break the content, as it happend with the signature of
elpa.gnu.org, which indeed contained an CRLF.
We are now a bit more non-invasive and replace the original version of
`mm-copy-to-buffer` with one that explicitly also searches for ^\r\n in addition
to just ^\n. Let's see how good that will work. Signature checking for
elpa.gnu.org is functioning again, and S/MIME still seems to be working.
This allows easier updates of this list, without having resort to executing the
corresponding code manually. In the future, we could even update that list
automatically by attaching the new function to some of projectile's hooks or
something.
The main motivation is me often mistyping S-SPC for SPC, loosing my current
candidates and frustrating myself. This is even more frustrating when inserting
text into non-selection inputs (org-capture), which is why we had disabled ivy
completion for org-capture previously. Since we are no using
ivy--regex-ignore-order for candidate regex building anyway, input restriction
is not necessary anymore, and so we remove the shortcut altogether.
This reverts commit 2622b048b6.
The main annoyance has been completion in org source blocks, and this has been
disabled now. Additionally, `company-complete` only seems to work when
company-mode is enabled. So let's enable it again and see how far we get.
When company is active, this leads to completions offered as a first step in
shell blocks, for example, which is both unnecessary and triggers a bug in
ivy (the cursor is invisible afterwards). Furthermore, this completion is
almost always unnecessary, as the snippets a usually either quite simple or
copied from elsewhere. If completion is still required, editing the code block
within the native major mode (C-c ') should be sufficient.
Most of the time, I just want to see the text and edit it, and thus I open HTML
files in Emacs anyway (usually rendering them via `shr-render-buffer`).
It's confusing me that the output of pandoc is a document fragment by default,
so let's instruct Emacs to generated complete, standalone documents instead.
Apparantly, when Gnus starts up for the first time, this function seems to be
undefined, because we are calling gnus-registry-initialize quite late in the
init process. Let's try to fix this by having this autoload.
Outlook seems to expect CRLF in S/MIME signed+encrypted mails, so we add those
somewhere in the process of encoding the mail. Furthermore, Outlook is sending
MIME messages with CRLF line endings, and we have to take care of that when
looking for the end headers.
The changes proposed here are preliminary and subject to further testing.
Let's group configuration related to MIME decoding and MIME encoding, to better
understand what these variables are actually doing and to decrease maintanence
complexity.
Scoring didn't work in my IMAP mailing list folders, but not it should. In all
other folders, as long as there is no scoring file, nothing should happen.
Flycheck used to be activated unconditionally, resulting in annoying warnings
when evaluating Lisp expressions in the minibuffer with `pp-eval-expression`,
and in the scratch buffer.
It used to be slow, but it's not the case anymore. This should help identifying
problems in my ELisp code, but might cause some trouble on Windows. Let's see …
This one works with emms 6.0 and later, even when including
`helm-source-emms-streams'. Thus, we also use the default value of
`helm-emms-default-sources' again.
This makes eshell completion use drop down menues instead of the standard
complete-until-ambiguous style I am used to. Moreover, in Org Babel shell
source blocks, ivy completion in region causes a drop down menu of possible
commands to appear after a block has been created and entered for the first
time, which not only is annoying, but also sometimes causes to cursor to
disappear (set `cursor-type' to 'bar to revert).
It's rather annoying, from my point of view. The original use case was to
complete file names in links, and this can be done by calling `company-complete'
explicitly.
The builtin default of 128 is too low, resulting in recently used commands to be
forgotten quickly, so let's use a more conservative (in the literal sense of the
word) value. Customization still takes precendence over this new default,
though.
Apparently, with the advent of Emacs 27.1, Gnus clears up everything before
startup. Sadly, this also removes any initialized registry, such that we are
left with an uninitialized registry on startup. To remedy this, let's postpone
the registry setup right after Gnus has started.
There are often small tasks that do not require the former minimum of
15 minutes, resulting in effort estimations that are too high. Conversely,
larger tasks are often hard to estimate correctly, which is why the higher
numbers are now further apart.
F9 is a comparably prominent key binding, and we now bind it to the more
important `db/org-add-link-to-other-item'. The formar binding to
`db/org-find-links-to-current-item' is bound to F11 now, since it will still be
used often, but not more often then inserting links (I think). The old binding
for F11 to `org-capture' has not been used much, and so we can dispense of it.
The main entry point is now `db/org-find-links-to-current-item', which decides
how to obtain the ID and CUSTOM_ID of the item to look for. The main work is
done by `db/org-find-items-linking-to-id', which does some checks, build the
query, and then calls `org-search-view' (which, indeed, does the actual work).
Users should call `db/org-find-links-to-current-item' only.
It is not clear what function really changes the matching data, but it's called
by `org-roam--id-link-face', and this is where we save the matching data now.
TODO: check whether this has been reported or even fixed upstream.