Commit Graph

821 Commits

Author SHA1 Message Date
Daniel - 97d45a8874
Ignore waiting-fors that are scheduled at any time
We only ignored future items so far, but those that are scheduled today or in
the past are also in our focus (i.e., our the daily agenda).  So let's not show
those as well.
2021-06-01 20:30:23 +02:00
Daniel - 4bc26adbcb
Explicitly activate global-git-commit-mode
It's not activated by magit anymore, so we activate it explicitly.
2021-05-30 10:39:09 +02:00
Daniel - b8c98d08ef
Ignore scheduled items on the Waiting-For list
This allows to schedule items to some future date and not be remined about them
until then.
2021-05-21 15:52:33 +02:00
Daniel - b0fead9778
Add colon to reply capture template
It's easier to read this way.
2021-05-20 22:24:01 +02:00
Daniel - 4b1eb2e322
Sort items in Waiting-For list by priority and category
This is the same sorting as it is used in the Next Action list, and should
provide a better overview over the current items on the Waiting-For list.

Formatted the value for `org-agenda-sorting-strategy` on one line for better
readability, and also changed that for the definition of the Next Action list.
2021-05-19 20:12:46 +02:00
Daniel - e5c7494622
Fix wrong definition of org capture template for interruptions 2021-05-17 21:49:01 +02:00
Daniel - a269047a0d
Fix Org capture templates for Read and Response
The Read capture template did not properly ask for the topic and did not have a
placement indicator for the cursor, fixed that.  The Response capture template
now has a “Reply ” action word to indicate the proper action, and also has a
placement indicator in it.  This way, it should be easier to use these capture
templates.
2021-05-16 08:35:04 +02:00
Daniel - 6c4daa1cf5
Move reading list to main overview
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.
2021-05-16 08:17:53 +02:00
Daniel - 299ab9d147
Sort next actions by category in addition to priority
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?
2021-05-14 19:24:24 +02:00
Daniel - fb245e6358
Display next action list in main agenda view
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.
2021-05-14 19:24:20 +02:00
Daniel - d6d2d4787d
Do not immediately finish capture when responding to mails
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.
2021-05-12 17:03:12 +02:00
Daniel - a9ffee27f4
Bind scroll-lock-mode to Scroll-Lock-Mode key
Inspired by https://karl-voit.at/2021/04/10/GLT21-emacs-org-features/.  Thanks!
2021-05-01 20:27:34 +02:00
Daniel - a6a85cdb8b
Use only file name in Org mode refile targets instead of buffer name
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.
2021-05-01 20:25:19 +02:00
Daniel - 453c6e37bf
Add missing parenthesis
This happens if one does not restart Emacs that often …
2021-04-30 15:39:12 +02:00
Daniel - 3bbf747aca
Do not include SOMEWHEN items in reading list
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.
2021-04-26 18:20:27 +02:00
Daniel - c0351f39b9
Extend agenda view for current projects
This view will now show stuck projects as well as periodic projects in addition
to the usual singleton projects.
2021-04-25 20:37:17 +02:00
Daniel - 323a59b622
Separate Next Action list from Reading list
This is a bit more overseeable.
2021-04-25 19:25:32 +02:00
Daniel - f21ae7576a
Do not include READ actions on the SOMEWHEN list
They are included in the main Next Action list now.
2021-04-25 18:30:36 +02:00
Daniel - 41bfbf9288
Experimentally include the READ list in the Next Action list
Usually, this list will be filtered away, but knowing it's there should help not
fogetting about it.
2021-04-25 16:49:13 +02:00
Daniel - bc07a89989
Include effort estimates in tags and todo lists
This is to see and also to filter those lists by effort.
2021-04-25 16:49:06 +02:00
Daniel - 293e137431
Do not schedule captured tasks by default
If this is necessary at all, if will be done during the clarification process.
2021-04-25 14:14:50 +02:00
Daniel - 9406291f5b
Remove list of stuck projects from Unsupervised agenda view
This list does not need to be inspected on a daily, but on a weekly basis.  It
can be accessed via the standard org-agenda command menu.
2021-04-25 12:08:17 +02:00
Daniel - 97b9141b31
Ignore Waiting-For actions on Next Action list
Obvious, but had missed that.
2021-04-25 11:17:25 +02:00
Daniel - 524c36a014
Add list for missed appointments
When a DATE action is missed, it will not show up in the agenda anymore.  So
let's track them individually.
2021-04-25 10:32:30 +02:00
Daniel - 7cc1c19c22
Clearly mark waiting-for and next-actions lists as such
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.
2021-04-25 10:27:53 +02:00
Daniel - ef7682b276
Allow projects to be marked as SOMEWHEN
This way, projects do not appear on the Unspecified agenda and are not subject
to rigorous Next-Action handling.
2021-04-24 20:41:44 +02:00
Daniel - 2e8d912c14
Update pyvenv command autoload list to include pyvenv-create
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.
2021-04-24 09:59:50 +02:00
Daniel - 277c360914
Allow WORKON_HOME environment variable to be overwritten
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.
2021-04-24 09:49:55 +02:00
Daniel - 36a1693610
Automatically restart python interpreters when switching virtualenvs
This apparantely does not work when simply deactivating the current virtual
environment, though.
2021-04-24 09:48:51 +02:00
Daniel - 32cb502915
Set WORKON_HOME environment variable for pyvenv usability
Again inspired by https://ddavis.io/posts/emacs-python-lsp/.
2021-04-24 09:40:11 +02:00
Daniel - 0d2897dff7
Try out lsp-ui-mode
This is fun :)
2021-04-22 15:51:45 +02:00
Daniel - eac4ff3146
Include some minimal package configuration for pyvenv
As described by https://ddavis.io/posts/emacs-python-lsp/.
2021-04-22 15:29:56 +02:00
Daniel - 02085570e6
Change key map prefix for LSP-mode
The super key is used by my window manager.
2021-04-22 15:29:32 +02:00
Daniel - 59fb5f3855
Increase some performance limits for lsp-mode
As suggested by https://emacs-lsp.github.io/lsp-mode/page/performance/.
2021-04-22 15:26:26 +02:00
Daniel - 9ac3640159
Replace eglot with lsp-mode as LSP backend
`lsp-mode` claims to be non-blocking and is equally easy to set up, so let's
give it a try.
2021-04-22 12:01:44 +02:00
Daniel - 0090975a5b
Use buffer-name in outline paths when refiling
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).
2021-04-16 17:42:08 +02:00
Daniel - 0a317afc29
Default to builtin region completion for shell mode
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.
2021-04-16 15:18:03 +02:00
Daniel - fa2dfed55c
Allow completion cycling up to at most 10 candidates
The limit is arbitrary, but should practically be good enough.
2021-04-16 15:17:25 +02:00
Daniel - 9a1dbf89f4
Never insert terminating space when completing in eshell
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.
2021-04-16 14:25:58 +02:00
Daniel - 5348856628
Only convert LF to CRLF when encrypting with S/MIME
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.
2021-04-05 15:11:44 +02:00
Daniel - b0a3808973
Fix comment on LF → CRLF conversion after signing with S/MIME
Replaced "before" with "after", because we are converting after signing.  Ah
well.
2021-04-05 13:55:21 +02:00
Daniel - 6a590da9cb
Disable automatic document highlighting in eglot
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.
2021-03-31 21:27:20 +02:00
Daniel - e2bd3880f1
Directly set variable to always create ID properties for links
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.
2021-03-28 20:01:29 +02:00
Daniel - 185f1d75f3
Reduce configuration done in `early-init.el`
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.
2021-03-28 19:55:59 +02:00
Daniel - 4d0264b34b
Always create ID properties when creating links
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.
2021-03-28 17:38:18 +02:00
Daniel - 78b202aed7
Introduce hydra for managing links between Org mode items
It's easier to use and easier to keep track of what is available.  It also saves
key precious bindings!
2021-03-20 15:45:49 +01:00
Daniel - afb06fca59
Free key binding for f12
I am not using it anymore, so let's make sure it stays that way and we can use
that key for something else in the future.
2021-03-20 15:41:31 +01:00
Daniel - eae1590e68
Add function to add link to currently clocked-in task
This might be handy while working on a task and realizing that it's related to
another one.
2021-03-20 12:34:39 +01:00
Daniel - 42d25198d9
Add link to current item when capturing simple TODO tasks
Sometimes, I need those, and it's easier to delete references than to add them.
Same with dates, where this behavior is already used.
2021-03-16 18:43:50 +01:00
Daniel - 8fc035cb01
Do not set defaults for python-mode
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.
2021-03-13 10:24:28 +01:00
Daniel - e971bfc915
Try out eglot for python mode
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.
2021-03-13 09:48:24 +01:00
Daniel - c0986d240b
Fix Org Mode state trigger definition and extend trigger list
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.
2021-02-19 16:31:17 +01:00
Daniel - e1d66f5328
Disable auth-source-pass
I am not using it right now, and the entries in my local password store cause
permanent warnings.
2021-02-14 13:55:29 +01:00
Daniel - a01d9f768c
Do not save ad-hoc TRAMP proxies
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.
2021-02-14 13:07:47 +01:00
Daniel - 532a2330af
Explicitly set TRAMP default method
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.
2021-02-14 12:58:50 +01:00
Daniel - 9cf17c973f
Show sum of daily efforts directly in the agenda
Now that column view does not show effort sums any longer, we need another means
to show daily efforts.  It turns out that this can be accomplished easily using
two simple functions and `org-agenda-finalize-hook`.

This is taken from
https://emacs.stackexchange.com/questions/21380/show-sum-of-efforts-for-a-day-in-org-agenda-day-title#21902.
2021-01-29 17:11:55 +01:00
Daniel - ac31d0eb89
Do not sum up efforts in Org column view
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.
2021-01-29 15:41:08 +01:00
Daniel - e2c0f4526c
Autoload some functions from org-download
This package is important to include screenshots in Org buffers, which in turn
might be important when working on Windows.
2021-01-24 14:48:34 +01:00
Daniel - b5dc549a4f
Explicitly use python3 as default Python interpreter 2021-01-23 14:49:37 +01:00
Daniel - 6dd6cf88ab
Fix a bug when checking signatures accidentally containing CRLF
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.
2021-01-17 12:45:48 +01:00
Daniel - e4f02647a2
Refactor code to update magit's repository list to separate function
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.
2021-01-17 09:15:01 +01:00
Daniel - 123c72664b
Ensure some essential packages are loaded if not present 2021-01-16 14:35:40 +01:00
Daniel - a49d7fc76d
Remove calls to some obsolete CL functions 2021-01-16 14:34:48 +01:00
Daniel - 8729f7e84c
Add password-store to auth-sources 2021-01-06 17:32:54 +01:00
Daniel - 0dbc839c45
Do not forward mails as RFC822 MIME by default
This seems to cause problems in representation (both in Thunderbird and Emacs
itself) and does not add much benefit.
2021-01-06 17:06:29 +01:00
Daniel - bac20f30c3
Disable candidate restriction in ivy
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.
2021-01-02 16:36:44 +01:00
Daniel - 0e21e68aca
Fix typo in variable assignment
Oops!
2021-01-02 16:19:15 +01:00
Daniel - bc95317b2b
Include ivy-hydra
This might be helpful when working on completions.
2021-01-02 16:16:46 +01:00
Daniel - e7b50ed3d4
Provide more completion in Org roam buffers
This may be helpful.
2021-01-02 15:27:12 +01:00
Daniel - 0fe34a99bb
Fix call to obsolete function in magit initialization
magit has been update in the wake of dash's update, and the function called here
does not seem to exist any longer.
2021-01-01 17:31:36 +01:00
Daniel - b51153e587
Update dash 2021-01-01 17:31:32 +01:00
Daniel - 8d7302f38d
Revert "Do not enable company completion in Org Mode buffers by default"
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.
2020-12-30 11:40:59 +01:00
Daniel - 2a02120a1d
Disable native handling of tabs in org source blocks
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.
2020-12-30 11:23:33 +01:00
Daniel - d9807d915c
Use ivy for region completion again
This was only annoying in eshell, but maybe I get used to this in the future.
It's helpful in almost all other buffers, though, so let's use it again.
2020-12-21 15:48:16 +01:00
Daniel - 41e79fa130
Use dired-open also on Windows
There, use the standard utilities supplied by Emacs to open files externally,
but otherwise rely on dired-open to find the right way to open them.
2020-12-20 18:03:14 +01:00
Daniel - 6d3dada560
Open HTML files in Emacs by default
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`).
2020-12-20 17:57:58 +01:00
Daniel - 29ab4d6335
Always create standalone documents from markdown files
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.
2020-12-20 17:29:14 +01:00
Daniel - 6e23836a1d
Always use pandoc for markdown export
Pandoc is the default for me.
2020-12-20 17:27:07 +01:00
Daniel - 5b7671ba7f
Always generate standalone docx documents from org files
Not yet clear whether this has any impact on the result, though.
2020-12-20 17:21:23 +01:00
Daniel - b40c8672bc
Add explicit autoload for gnus-registry-split-with-parent
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.
2020-12-20 09:00:38 +01:00
Daniel - 904f7e6902
Make sure mails are also encrypted to self
This should also be covered by gpg's configuration, but better safe than sorry.
2020-12-12 18:21:37 +01:00
Daniel - 56c9f940ce
Fix line-ending issues with MIME and Outlook
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.
2020-12-12 18:05:57 +01:00
Daniel - 106d13519c
Do not enable helm-mode globally
Generation of candidates for Emacs Lisp completion is noticably slow, do not
know why, need to investigate further.
2020-12-08 19:54:15 +01:00
Daniel - d105b7765f
Do not use counsel for listing bookmarks
Bookmark are included in our main helm menu, no need to have a separate funtion
here.
2020-12-07 18:42:41 +01:00
Daniel - 459fdff428
Enable helm completion in region (and others)
Do not use it for eshell, though, as it adds a space after completing filenames.
2020-12-07 18:42:01 +01:00
Daniel - 31f3cc58d2
Remove temporary fix to support gpgsm S/MIME verification
Emacs apparanetly supports this now out of the box.
2020-12-06 09:16:57 +01:00
Daniel - 57515fff34
Restructure Gnus' MIME configuration
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.
2020-12-06 09:15:37 +01:00
Daniel - 33394059ad
Dim backgrounds when ace-window selection is on
This way, it's easier to see when the selection mode is active.
2020-12-06 08:55:29 +01:00
Daniel - 421a272733
Do not ask for automatic password storage
This can be annoying when used with ivy/helm.  When the need to store passwords
in the auth sources arises, we'll do it manually.
2020-12-05 20:37:10 +01:00
Daniel - 8fba9cad3b
Add default notes file as standard refile target 2020-12-03 18:06:25 +01:00
Daniel - 81e193e1bc
Globally enable Gnus' scoring
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.
2020-12-03 18:03:48 +01:00
Daniel - 0ea56b203b
Do not show tabs in tab-bar-mode 2020-11-29 17:21:39 +01:00
Daniel - 94c1c76e4d
Add some minor default configuration for tab-bar 2020-11-28 09:29:44 +01:00
Daniel - ebf14b6643
Rebind global toggle hydra to not shadow tab-bar mode keys 2020-11-28 09:22:17 +01:00
Daniel - 6742695f53
Enable flycheck mode in Emacs Lisp only when buffer has a file
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.
2020-11-28 08:50:47 +01:00
Daniel - 5ba0b27ec4
Warn if global key bindings for helm are not available
If helm is installed as system package, the global keybindings may be missing.
The user should be informed about this and reinstall helm from melpa.
2020-11-21 11:30:59 +01:00
Daniel - 822b8a7430
Do not load default configuration from elsewhere
This only leads to surprises.
2020-11-21 11:30:59 +01:00
Daniel - 79b11b864e
Ensure packages for general appearance are installed 2020-11-21 11:05:49 +01:00
Daniel - 243fb9179f
Ensure flycheck is available when needed 2020-11-21 11:01:11 +01:00
Daniel - 26ae993c1b
Set default file name for abbreviations
Even if not customized, abbreviations should go into the private directory.
2020-11-21 10:59:23 +01:00