Commit Graph

1163 Commits

Author SHA1 Message Date
Daniel - a54ade74a4
Push links to Org items always to top of currently known links
When adding a link to an item via `org-store-link`, and the link is not known
yet, the links is always put at the beginning of the list of currently known
links, as stored in `org-stored-links`.  This allows to conveniently insert this
link via `org-insert-link` by just choosing the first element of the list, which
is selected by default.

However, when the link to the requested item is already present in
`org-stored-links`, the link is not pushed to the beginning of
`org-stored-links` by `org-store-link`, but kept where it is.  When calling
`org-insert-link` to insert a link to the item, manual selection of the correct
link is required, which is annoying and unnecessarily interrupting the current
workflow.  Even worse, when overlooking the notification that the link is
already stored, one will assume that the link to the requested item is at the
top of `org-stored-links` (which is isn't), subsequently inserting false links
when blindly calling `org-insert-link`.  (Yes, this has happend to me …)

This patch fixes this issue by ensuring that links to items (regardless whether
they have already been known or not) are always put at the front of the
`org-stored-links`.  This patch also removes the rarely used
`db/org-clear-stored-links` function, whose purpose was to provide some kind of
workaround, but turned out not to be convenient enough to actually be
used (because it also removed potentially useful links when clearing the cache).
2022-12-20 08:46:47 +01:00
Daniel - 46581c8867
Fix some indentation 2022-12-19 10:19:06 +01:00
Daniel - 260840aa0a
Move Org mode link abbreviations to :init block
This allows to overwrite the default value via customization.
2022-12-19 10:18:15 +01:00
Daniel - 817186dd0a
Update list of Org link abbreviations
Add the two famous git plattforms and stick to HTTPS exclusively.
2022-12-19 10:14:44 +01:00
Daniel - 11e51d7890
Add some Org link abbreviations for personal convenience 2022-12-19 10:09:04 +01:00
Daniel - f798d8f952
Remove duplicate definition for how to handle invisible edits in Org
Also change the default value to `show-and-error`, this seems the most
reasonable for my workflow.
2022-12-16 13:54:29 +01:00
Daniel - 461f212529
Simplify file pattern query for grep
The original version of `grep-read-files` includes file names in its default
values, giving an irritating completion candidate list when used with ivy.
Changed this to just let `completing-read` do the completion itself.
2022-12-15 16:29:36 +01:00
Daniel - 3428a5fe55
Add some consistency checks for custom agenda views 2022-12-10 11:34:19 +01:00
Daniel - 2daf19249c
Add experimental NOT_BEFORE filter to custom agenda views
This is supposed to be the dual to DEADLINE, and shall someday release the
SCHEDULED property from its semantics to not display things before a certain
date (then the SCHEDULED property can be solely used to mean that things should
be done on a specific date).

However, the NOT_BEFORE property needs some more consistency checks, as
otherwise items that have a NOT_BEFORE property that's too far in the future may
be overlooked.  Is this something for the monthly review?
2022-12-10 10:48:30 +01:00
Daniel - 24634132d8
Unify custom agendas on how to ignore future items
Always use property matches for this, as it's more direct to me to understand
what the actual search criteria are (even if these are a bit slower).  Also use
`<today>` instead of `<now>` to ignore the time part and always fall back to
00:00 time; this should avoid intra-day changes of whether an item appears on a
list or not.
2022-12-10 10:38:05 +01:00
Daniel - 3cbc7c1178
Make Org agenda clock jumping consistent with that in Org buffers
This means: also rebind `org-clock-goto` in agenda buffers to
`db/org-clock-goto-first-open-checkbox` to jump to the first open checkbox if
available.
2022-12-03 09:52:24 +01:00
Daniel - b78facbf4c
Also jump to first open checkbox with Org mode's default keybinding
I actually always want to jump to the first checkbox, not just when explicitly
asking for it.
2022-11-25 18:32:46 +01:00
Daniel - 64bc1c762b
Jump to first open checkbox in currently clocked-in item by default
When no open checkbox is found, just jump to the headline of the item, as
before.
2022-11-19 16:09:38 +01:00
Daniel - 06ec5f3d9e
Do not use Common Lisp indentation by default
Somehow this does not meet my aesthetic expectations of how ELisp code should
look like …
2022-11-12 15:47:30 +01:00
Daniel - 43d9049307
Remove redundant agenda prefix definitions
These definitions are easily covered by the global setting of
`org-agenda-prefix-format` and can thus also be customized now.  Note that this
yields some extra space with the default setting, as the entries of the custom
project agenda usually do not have an effort property set – but I think this is
easily bearable.
2022-10-28 16:02:56 +02:00
Daniel - 0249856e51
Record more information when changing state
At least add the times, that almost never hurts.
2022-10-26 20:52:11 +02:00
Daniel - 50c911b0c4
Remove redundant check condition from custom agenda view
TOPICs are now allows to be sub-items of non-TOPICs.
2022-10-26 20:46:28 +02:00
Daniel - af3d56929a
Introduce first version of a "merged" keyword
This is to signify that an Org mode item has been merged into another item,
indendent of whether the items itself has been done yet, is still in progress,
or has been cancelled.
2022-10-26 20:42:09 +02:00
Daniel - b558b1e741
Remove redundant restrictions in tags-todo custom agenda views
`tags-todo` will only list non-done items by default.
2022-10-26 20:40:39 +02:00
Daniel - 4997f21bec
Do not recenter Org agenda after refreshing
This advice is experimental.  It should actually not move point, but after
executing `org-agenda-redo-all`, point is at the first position of the buffer.
Further investigation necessary.
2022-10-15 17:05:05 +02:00
Daniel - 93fee67983
Remove obsolete eshell magit command
Just use `magit` directly, eshell understands this.
2022-10-13 17:22:31 +02:00
Daniel - 754e22dc77
Update function name and docstring for Org template copy function
We are now not merely copying a template from another item, but more abstractly
insert a checklist consisting of backlinks and a template.  Update docstring and
function name to reflect that, but keep the old name of `db/org-copy-template`
as an obsolete alias.
2022-10-09 11:22:36 +02:00
Daniel - 799f1be1f6
Remove obsolete template copying functions
Everything is now covered by `db/org-copy-template`.
2022-10-09 09:56:09 +02:00
Daniel - e1123a8205
Sort TOPICs in project agenda according to global settings
Removed accidentally overwritten sorting startegy.
2022-10-07 15:21:47 +02:00
Daniel - 4308f2e8a5
Do not indent TOPIC overview
Assuming that items above TOPICs are also always TOPICs turned out to be wrong,
and an indented display is thus misleading at best.
2022-09-25 15:23:06 +02:00
Daniel - 9b1e12a94c
Include deadlines in main agenda view when they are due 2022-09-23 07:28:15 +02:00
Daniel - a5969f6ab3
Add note to Org item when refiling
Nice add-on would be to automatically add a link to the new parent when
refiling, so that I can find all (former and current) sub-items by searching for
backlinks.  This does not seem to be supported out of the box, is it?
2022-09-22 09:35:56 +02:00
Daniel - 8e534045d2
Explicitly activate some text-mode-hooks in Org mode
Apparently, text-mode-hooks are not run in Org mode?  So let's add them
explicitly.
2022-09-11 18:34:03 +02:00
Daniel - a339cbf75b
Move up list of task to be continued
This should emphasize the usage of this list as a shortlist of tasks to do next.
2022-09-10 16:04:32 +02:00
Daniel - e66c0d59ee
Reorder some global hooks 2022-09-10 13:56:26 +02:00
Daniel - 88a60e29cf
Add references to issues in org-ql
This should allow to remove those workarounds as soon as the corresponding
issues are fixed upstream.
2022-09-10 10:16:13 +02:00
Daniel - 9b4f15f69a
Do not unconditionally enable subword-mode in prog-mode
In most of the languages I use this is futile.  Just enable it in individual
modes instead.
2022-09-10 09:14:20 +02:00
Daniel - a8fee5f044
Add temporary fix for org-ql not recognizing timestamps with range 2022-09-07 18:40:12 +02:00
Daniel - 2e09ef6c9e
Add workload report functionality
This special kind of dynamic block inserts all planned tasks between two dates
and sums up it's efforts.  This could help in deciding what additional tasks to
accept or what dates to promise for completion of new tasks.
2022-09-06 18:34:12 +02:00
Daniel - 950e700d6e
Enable proper display of page feed also for text-mode
Why not?
2022-09-04 11:05:31 +02:00
Daniel - 5479efabee
Add function to jump to first open checkbox in subtree
Still needs a nice key binding.
2022-08-28 19:07:51 +02:00
Daniel - 63a03f0038
Remove some unnecessary empty lines in capture templates 2022-08-28 10:12:43 +02:00
Daniel - 2d3efbb7c0
Do not remove tags in Org agenda view by default
I think those tags are valuable information for the agenda, let's try this out.
2022-08-21 20:07:09 +02:00
Daniel - a496ef9734
Add function to retrieve password from Org item by ID
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`.
2022-08-19 20:34:10 +02:00
Daniel - f064305a07
Show Org-roam buffer as side buffer
This is nice to continuously show backlinks when browsing notes.
2022-08-15 18:52:25 +02:00
Daniel - ef7bd6e7b4
Remove old PHONE and MEETING keywords
Not used anymore.
2022-08-15 18:43:17 +02:00
Daniel - d2f034e7d2
Introduce new REFINE keyword
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).
2022-08-15 18:42:56 +02:00
Daniel - ae37cffb2c
Show buffer instead of file name when refiling
File names may not be unique, but buffer names usually are.
2022-08-14 10:39:35 +02:00
Daniel - 5360344a92
Close Gnus' server connection on suspend 2022-08-05 19:29:46 +02:00
Daniel - 95a32fba6b
Group Gnus search configuration in use-package 2022-08-05 19:29:25 +02:00
Daniel - 40ff1d3004
Update indentation in some elisp files
According to new elisp default indentation provided by
`common-lisp-indent-function`.
2022-08-05 09:15:33 +02:00
Daniel - f22ef5705c
Update default elisp indentation function to new standard value 2022-08-05 09:14:50 +02:00
Daniel - 263def911f
Confirm deletion of bookmarks via `edit-bookmarks` 2022-08-04 21:09:47 +02:00
Daniel - 3fa3ba2b3f
Update usage of obsolete `nnir-method-default-engines` variable
Not clear how to search through local mails now, though.  Using
`gnus-search-find-grep` does not work.  And how to search through NNTP groups
now?
2022-08-04 20:39:59 +02:00
Daniel - 39fa549fc7
Reduce default verbosity of Gnus
When necessary, this default value can be overwritten via Customize.
2022-08-04 20:25:51 +02:00
Daniel - 3aeb031330
Use universal Gnus search syntax by default 2022-08-04 20:14:12 +02:00
Daniel - af4dbe25ce
Allow dired to use globstar when available
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.
2022-08-04 19:09:58 +02:00
Daniel - c17a0e7f4c
Move custom ediff Dired function to utilities package
This is more in line with other utility functions.
2022-08-04 18:58:42 +02:00
Daniel - 836429db1c
Fix obsolete usage of `lexical-let` 2022-08-04 18:52:11 +02:00
Daniel - 5a0a5b5ea6
Set some variables new in Emacs 28.1
See their respective doc-strings for further information.
2022-08-04 18:49:55 +02:00
Daniel - 43e3edcd43
Use emoji style to render smileys
It's not clear to me where this new option is taking effect, though.
2022-08-04 18:48:55 +02:00
Daniel - 98283cad2a
Reduce content of tab bar
Using `tab-bar-format-align-right` does not work, as it moves the remaining text
too much to the right so that it wraps over.
2022-08-04 17:22:35 +02:00
Daniel - 46d968d316
Manually insert link when invoking interruption capture template
The provided %K shortcut inserts text links an not id: links.
2022-07-22 18:21:55 +02:00
Daniel - c91a6d36db
Add helper to evaluate source blocks in subtree without confirmation 2022-07-21 21:54:35 +02:00
Daniel - 2bb88a9634
Keep dired buffers when opening new ones
Otherwise going back to a previous buffer looses the current view (hidden files,
marked files, etc.)
2022-07-10 20:00:41 +02:00
Daniel - 23eff3dc12
Use lsp-deferred to speed up Python mode startup 2022-07-03 16:59:16 +02:00
Daniel - 99d0ac3dc5
Clean up Org capture templates 2022-07-02 19:15:41 +02:00
Daniel - 09ca55efeb
Ignore TOPICs and PERIODICs in done, hold, or wait state 2022-06-30 16:50:58 +02:00
Daniel - 06ae1cf95a
Add consistency block to search for TOPICs nested in non-TOPICs
TOPICs are “upward-inherited”, so a TOPIC can always only be part of a TOPIC
itself.
2022-06-28 21:10:17 +02:00
Daniel - 414b59b1d8
Simplify search for TOPICs
No need to look at keywords here.
2022-06-28 21:09:59 +02:00
Daniel - 7318c771ba
Do not sort TOPIC overview
This would render the indentation meaningless.
2022-06-28 21:09:38 +02:00
Daniel - 5bec83522d
Explicitly set format for project agenda view
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.
2022-06-28 20:35:59 +02:00
Daniel - ab30b74763
Add custom agenda to include consistency checks
Starting with all complex tasks not marked with GOAL.
2022-06-28 20:29:14 +02:00
Daniel - 74e37b928c
Officially introduct GOAL tag
Make it disjoint from TOPIC, NOP, PERIODIC, and TEMPLATE, as those things all
mean disjoint things.
2022-06-28 20:25:47 +02:00
Daniel - f193d6415f
Update way scheduled items are ignored in custom Org agendas
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.
2022-06-24 15:56:46 +02:00
Daniel - 74c8d95381
Remove obsolete Open tasks agenda view
Haven't used it for a long time now.
2022-06-20 18:21:18 +02:00
Daniel - 2ee4de5937
Remove explicit sorting settings in custom agendas
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.
2022-06-20 18:18:56 +02:00
Daniel - aa7623ca7c
Include complex tasks in Backlog agenda in separate section
This is a compromise to have a list of all complex tasks but not cluttering the
list of actionable items with them.
2022-06-20 18:14:14 +02:00
Daniel - 8917d2d44b
Revert "Include complex tasks in main Backlog agenda view"
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.
2022-06-20 18:07:07 +02:00
Daniel - 690d16cdab
Include complex tasks in main Backlog agenda view
This is not optional yet, but without an explicit GOAL tag it's hard to do
better.
2022-06-20 17:44:14 +02:00
Daniel - 7bba7ffbab
Remove obsolete REGULAR tag from definition of stuck tasks 2022-06-20 17:44:04 +02:00
Daniel - d7bf414fd5
Remove list of open tasks from project agenda
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.
2022-06-20 17:18:11 +02:00
Daniel - a79c67404a
Consistently sort agendas by priority-down effort-up
Maybe some of the explicit definitions could be removed, but it's fine the way
it is for now.
2022-06-19 09:28:43 +02:00
Daniel - e2181fa87a
Add helper function to replace variables in strings
Only a thin but hopefully helpful wrapper around `replace-regexp-in-string`.
2022-06-13 21:15:49 +02:00
Daniel - 72c67796c2
Another try to the fix org-ql link regexp generator
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.
2022-06-09 21:20:55 +02:00
Daniel - 949b49226d
Add workaround for org-ql to find links with brackets in description
This will be tested now and then reported upstream.
2022-06-09 19:51:28 +02:00
Daniel - e1e7da0c81
Exclude NOTE entries tagged with NOP from project note overview
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).
2022-06-08 17:01:10 +02:00
Daniel - 2894c48e79
Sort Org entries also by ascending effort
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).
2022-06-08 16:58:29 +02:00
Daniel - a8eeab743a
Add formatting for day-of-death BBDB entries
That's part of it.
2022-06-05 14:50:22 +02:00
Daniel - d63910cb8b
Do not error in eshell when glob expansion is not possible
Just keep the input as it is.  This avoids errors when cd-ing to
`/sshx:hostname:~/` or similar.
2022-06-04 15:24:13 +02:00
Daniel - ce806bcc2e
Add list of project notes to project overview
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?
2022-06-04 09:41:53 +02:00
Daniel - f8fecc0bda
Ignore active future appointments on the WIP list
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.
2022-06-03 21:46:17 +02:00
Daniel - cd0894a19e
Do not query to save clock on exit by default
I always say no anyway, and that's the default.
2022-05-27 14:56:54 +02:00
Daniel - f22990d611
Revert "Remove possibly obsolete Org mode fix"
This reverts commit fa7c7ca3ed.

The hack is still necessary, as otherwise listing stuck Org projects takes too
long.
2022-05-27 14:46:54 +02:00
Daniel - 4dd7efe71a
Ensure dash is loaded before its functions are used
Emacs otherwise complains about an undefined -difference function in the
use-package declaration of mm-decode.
2022-05-25 17:53:20 +02:00
Daniel - b20203f335
Really disable eyebrowse mode
Forgot to remove this explicit activation.
2022-05-23 17:32:23 +02:00
Daniel - 64b5310853
Remove obsolete usage of semantic-mode
I have only used it for imenu support in Org mode and init.el, but this seems to
work without semantic as well.
2022-05-22 18:09:31 +02:00
Daniel - b9d991425f
Remove obsolete references to pdf-tools
org-ref-pdf references pdf-tools, but I do not use it anyway anymore.
2022-05-22 18:04:15 +02:00
Daniel - aaa9e33801
Remove obsolete eyebrowse package 2022-05-22 17:56:35 +02:00
Daniel - b9cf1441dd
Remove obsolete configuration for ox-latex
Not using it anymore.
2022-05-22 17:40:01 +02:00
Daniel - 152c17643a
Always use #' for lambda
Current exception: not in backtick expansions.  Is it necessary there?
2022-05-22 17:37:33 +02:00
Daniel - fa7c7ca3ed
Remove possibly obsolete Org mode fix 2022-05-22 17:20:19 +02:00
Daniel - a45a19f904
Exclude templates from open project list 2022-05-22 11:34:37 +02:00
Daniel - 61e9c3bf94
Disable automatic org bookmarks 2022-05-21 08:28:48 +02:00
Daniel - 99dbd00e71
Exclude HOLD items from WIP list 2022-05-16 21:15:03 +02:00
Daniel - 826725cd99
Manually add NonGNU elpa archive
This has been added by default in Emacs 28.1, so it's resonable to also include
it in my list.
2022-05-15 17:13:51 +02:00
Daniel - b8313453d4
Change default calendar time zone style to numeric
I do not know all time zone abbreviations, but I can handle numbers :)
2022-05-15 17:13:07 +02:00
Daniel - cee89f4ef8
Add auto-mode declaration for local copy of plantuml-mode
*.plantuml files are currently not loaded automatically in plantuml-mode, this
should fix it.
2022-05-15 13:53:42 +02:00
Daniel - 0eb79f74d7
Do not save undo-tree history by default
Turns out I don't use it and it's slowing down saving of large files.
2022-05-15 10:58:19 +02:00
Daniel - 05a126bfed
Introduce dynamic block to show backlinks of Org item at point
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.
2022-05-14 11:43:08 +02:00
Daniel - 5664eeb2bb
Remove obsolete keybinding for ivy-pages
Package seems to be gone.
2022-05-08 19:31:06 +02:00
Daniel - 41dbea2ebd
Disable lispy in minibuffer
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.
2022-05-01 19:30:36 +02:00
Daniel - 1159a9fe64
Ignore periodic tasks on hold in overview 2022-05-01 14:39:36 +02:00
Daniel - 380c102dcc
Save undo-tree history to disk
But use the standard ebackup directory for this.
2022-04-30 15:13:18 +02:00
Daniel - 1b3acb5c20
Remove custom function to play radio stations
This is done via helm-emms nowadays.
2022-04-29 09:39:57 +02:00
Daniel - 3d119fdd18
Minor cleanup of main init file 2022-04-29 09:36:24 +02:00
Daniel - 8a264d7c1e
Kill dired buffers when switching directories
This works only in Emacs 28.1+.
2022-04-29 09:26:14 +02:00
Daniel - b384065065
Enable highlighting of "next error messages"
As recommended by https://www.masteringemacs.org/article/whats-new-in-emacs-28-1.
2022-04-29 09:05:18 +02:00
Daniel - fcdb36b39a
Remove pdf-tools
I am not using them anymore.
2022-04-29 08:48:29 +02:00
Daniel - 10b69ad923
Remove declaration for db-projects
The code's still there, but not used otherwise.
2022-04-29 08:23:52 +02:00
Daniel - 8773e60052
Fix history key binding for Eshell with new Emacs 28.1
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.
2022-04-29 07:42:39 +02:00
Daniel - 5576b363cb
Update headline of WIP block
It's nicer this way :)
2022-04-02 11:00:07 +02:00
Daniel - 3f01c6fecb
Fix typo in PERIODIC task list and ignore future items
Ignoring future items allows to ignore periodic tasks until they are due again.
2022-04-01 18:32:08 +02:00
Daniel - ff0ea07f53
Let the SOMEWHEN list also display notes
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!
2022-03-31 08:57:19 +02:00
Daniel - 4428db4f82
Apply minor cosmetics 2022-03-30 08:44:15 +02:00
Daniel - cfc11ec807
Keep Org links after insertion by default
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.
2022-03-30 08:42:06 +02:00
Daniel - 7713f379eb
Simplify use-package declaration for org-ql-search
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.
2022-03-27 11:58:52 +02:00
Daniel - 20597a12e3
Add org-ql as extended query languag
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!
2022-03-27 11:49:44 +02:00
Daniel - 85a963e6ae
Update configuration of stuck projects to exclude TEMPLATE items 2022-03-27 10:00:26 +02:00
Daniel - ce9fa34c1a
Include items in WIP list that are scheduled today or in the past
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.
2022-03-27 09:44:35 +02:00
Daniel - d025283c24
Experimentally introduce TEMPLATE tag
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.
2022-03-27 09:41:51 +02:00
Daniel - 470a4c2ebf
Do not save bookmarks while using Org capture
I do not use those.
2022-03-19 20:09:06 +01:00
Daniel - 800e4ed4d1
Try initializing the Gnus registry earlier
Somethings restarting Gnus results in many error messages whether the
`gnus-registry` seems to be nil.  Maybe initializing the registry earlier helps?
2022-03-18 17:05:54 +01:00
Daniel - 844b0baf0f
Fix markup in init.el commentary
Use - instead of * for itemize, as otherwise the individual items are confused
with headlines.
2022-03-18 17:05:23 +01:00
Daniel - 5ad6429442
Do not use notmuch for nnmaildir searches anymore
Not needed anymore, as the underlying file layout has changed.
2022-03-14 19:25:06 +01:00
Daniel - 6eb3e4e943
Do not automatically add ATTACH tag
I do not need this tag and it might confuse me.
2022-03-11 11:46:56 +01:00
Daniel - 43fb995ba4
Store link to recently attached files
This allows to insert those links directly into the buffer afterwards.  Might
come in handy when inserting screenshots on Windows.
2022-03-11 11:40:36 +01:00
Daniel - 558330f42c
Exclude done periodic projects from agenda view 2022-03-09 16:21:25 +01:00
Daniel - c35956c2dd
Fix false filter in Next Action List 2022-02-25 17:13:25 +01:00
Daniel - 9221f0f8af
Don't let TRAMP use auth-sources when completing input
This is unnecessary and potentially annoying.
2022-02-23 18:10:17 +01:00
Daniel - b3202085c3
Simplify dired ls switches
This should also work on busybox now.
2022-02-23 18:09:56 +01:00
Daniel - 5234ddd0a3
Do not show scheduled items in WIP or NEXT list
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.
2022-02-23 16:51:45 +01:00
Daniel - 695b3396dd
Extend WIP list with started dates and remove future items
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.
2022-02-07 17:10:17 +01:00
Daniel - 0a76969a95
Automatically expire elements in Gnus groups via gnus handler
So I don't have to do it manually.

Not sure whether this works, though.
2022-02-06 20:56:46 +01:00
Daniel - 940c4b04a8
Remove explicit initialization of gnus-demon
This is automatically done by `gnus-demon-add-handler`.
2022-02-06 20:56:19 +01:00
Daniel - 5178d039f4
Experimentally add a WIP list
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.
2022-02-06 14:19:45 +01:00
Daniel - 90223e3ab0
Do not export diary by default
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.
2022-02-06 10:11:28 +01:00
Daniel - 2b02da2eca
Do not filter short kill ring entries in helm selection
I sometime kill single characters for usage in query-replace, and not having
them available in the kill ring is hampering.
2022-01-30 21:06:43 +01:00
Daniel - dccac3982f
Do not highlight LaTeX related syntax by default
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.
2022-01-29 15:37:56 +01:00
Daniel - 50362f4d27
Allow to ignore stuck projects that are scheduled in the future
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.
2022-01-23 09:34:18 +01:00
Daniel - 4a5b363ead
Show items in main agenda view that are not scheduled in the future
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.
2022-01-02 14:22:35 +01:00
Daniel - 4ae5bc87dd
Reduce Gnus registry size
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.
2021-12-15 09:46:01 +01:00
Daniel - 5bc7c70882
Add function to copy template of Org Mode item to location at point
This is a convenience function and has been bound to a shortcut for easier
usage.  This function is supposed to be the standard way to copy templates.
2021-12-15 09:43:50 +01:00
Daniel - 092cbd653d
Ignore SOMEWHEN items on waiting-for list
They are shown in the dedicated SOMEWHEN list, where they belong.
2021-12-14 19:34:34 +01:00
Daniel - ded3e93e78
Add some missing autoload statements 2021-12-13 21:36:04 +01:00
Daniel - d5d6c9ecb2
Try out special behavior of C-a and C-e in Org mode
Learned about this via [1].  Sound interesting!

[1]: https://emacs.stackexchange.com/questions/55360/org-move-point-to-beginning-of-an-item#55366.
2021-11-28 14:41:39 +01:00
Daniel - 901d557c0b
Add backlog overview over all next items, regardless of schedule
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.
2021-11-22 17:24:34 +01:00
Daniel - 56693defa3
Temporarily disable moody modeline
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.
2021-11-08 19:15:12 +01:00
Daniel - 0edfe4406c
Enable dash fontification and symbol lookup
As suggested by the dash README.
2021-11-07 07:05:24 +01:00
Daniel - 6277e0b104
Removed capture templates that add stuff to the current clock
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.
2021-10-16 10:32:48 +02:00
Daniel - aae46c2b0e
Do not show projects on hold in main project list
Use case: if the a super-project is set on hold, all sub-projects should also be
set on hold and not shown on the list of open projects.
2021-10-16 10:19:02 +02:00
Daniel - 1ddda3a730
Globally activate tab-bar-mode
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!
2021-10-16 10:14:55 +02:00
Daniel - 31e2067050
Enable hl-line-mode individually
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.
2021-09-30 15:08:14 +02:00
Daniel - b80271d299
Disable completion in Org Mode buffers
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`.
2021-09-29 16:29:29 +02:00
Daniel - ef3ad78c18
Globally highlight the current line
This should improve readability, but is only activated for test purpose for now.
2021-09-29 16:27:35 +02:00
Daniel - 2586bf8f18
Do not show waiting-for items that are on hold
Those will be listed in a separate list.
2021-09-27 17:33:41 +02:00
Daniel - fdd921d9ff
Indent lines after open parens as blocks
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 :)
2021-09-25 20:54:03 +02:00
Daniel - 28a6a86cc4
Merge Reading list with Next Action lists
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.
2021-09-24 16:27:17 +02:00
Daniel - 835cd6d091
Update background color for tab-bar-mode
It's better to have this visually separated from the background, so let's use
base02 instead of the default base03 for this.
2021-09-18 11:47:10 +02:00
Daniel Borchmann 96d0c459cc
Add custom tab-bar definitions for solarized-dark
They appear to be missing.
2021-09-18 11:16:17 +02:00
Daniel - 9a106d8f0c
Unconditionally use rgrep when searching for files
This does not exclude files from searches as ag does, and is fast enough for
what I need.

Motivated by https://www.manueluberti.eu//emacs/2021/09/10/rgrep-and-vc-git-grep/.
2021-09-11 09:32:48 +02:00
Daniel - 16d5dd4847
Disable global semantic-mode key bindings
Those collide with Org's bindings for setting item prioties.
2021-09-11 09:26:50 +02:00
Daniel - e95f868c9d
Change default TRAMP method to scp
Motivation: https://helpdeskheadesk.net/help-desk-head-desk/2021-05-19/.  In a
nutshell: scp should be faster.

Not sure whether choosing pscp on Windows is a good idea, though.  This may
change in the future.
2021-09-08 18:24:44 +02:00
Daniel - d8691928b0
Do not keep inserted links in history
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.
2021-09-08 17:57:09 +02:00
Daniel - 1d107f4fd1
Add more blanks in Org mode lists
This should improve readability, and I am doing this manually all the time
anyway.
2021-09-08 17:41:51 +02:00
Daniel - eeff9a5194
Push org-clock-history-lenght to the recommanded maximum
The more items are available in the clock history, the easier I can reference
them using `db/org-add-link-to-org-clock-select-task`.
2021-09-04 16:16:54 +02:00
Daniel - 3d761a4c6b
Add new commands and key-bindings for Org-roam v2 2021-09-04 14:53:58 +02:00
Daniel - e37be56b64
Migrating Org-roam to v2
Not completed yet, just removed old code from v1 that's not relevant anymore.
2021-09-04 14:46:43 +02:00
Daniel - 73228fdfc7
Sort tag and todo search result by priority also
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.
2021-09-03 17:17:37 +02:00
Daniel - 476d7128f8
Only show topics that have not been done or canceled yet
Those topics are not interesting anymore and should not appear on the topic
overview.
2021-08-28 20:55:02 +02:00
Daniel - 84f14a43a3
Do not show TOPICs scheduled in the future
This allows to hide topics that will only become relevant in the future.
2021-08-28 08:55:59 +02:00
Daniel - d6a392bcc7
Show topics in main project agenda
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.
2021-08-27 17:28:59 +02:00
Daniel - 456cc6107b
Move refile overview to unspecified agenda
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).
2021-08-27 17:22:26 +02:00
Daniel - 83dde6adc9
Move main part of Gnus' files out of private configuration directory
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.
2021-08-22 09:35:17 +02:00
Daniel - a3fd8f77b2
Exclude NOP and TOPIC tags from inheritance
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.
2021-08-17 10:54:10 +02:00
Daniel - e12252b7ff
Ignore SOMEWHEN projects on main project list
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.
2021-08-17 10:28:09 +02:00
Daniel - 91fa6ff543
Do not list projects which are SCHEDULED in the future
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.
2021-08-17 10:19:44 +02:00
Daniel - 0723f45769
Export plantuml images to SVG by default
SVG can be viewed by any browser and is not limited by predefined a resolution.
This is especially important for big diagrams.
2021-08-07 16:43:45 +02:00
Daniel - dc8a028742
Use pyright as language server when `lsp-pyright` is available
Also ignore the .cache directory, as that's the one `lsp-pyright' is installing
it's local copy of `pyright` into.
2021-07-22 20:27:20 +02:00
Daniel - ff3227b1f9
Deactivate subword-mode in plantuml files
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.
2021-07-13 19:40:34 +02:00
Daniel - 3482a18cce
Set indent level of plantuml-mode
Identing by the default eight spaces is too much for me.  Keep it more compact!
2021-06-25 20:38:27 +02:00
Daniel - 4222db03b8
Add default values for plantuml-mode
Font locking is not really working, but this might be due to incomplete face
definitions?
2021-06-21 17:40:13 +02:00
Daniel - 1a7afdf85e
Ensure that some essential packages are always installed 2021-06-19 14:31:05 +02:00
Daniel - 4dfdee33ad
Disable archive mode in Weekly Review overview
In general, all tasks of the previous week should still be present in this week
and the week before, so there's no need to activate archive mode by default.  If
it's necessary after all, it can be activated manually.
2021-06-13 14:25:44 +02:00
Daniel - c4bb9a9a76
Group configuration of Gnus agent for better readablity
This only means to wrap a `use-package` around the variable settings, but since
I may be playing around with this in the future, it's better to visually group
this configuration already now.
2021-06-13 09:43:28 +02:00
Daniel - 73e8ded9da
Store gnus configuration files in the private conf directory
This is a more reasonable default for me.
2021-06-12 10:13:16 +02:00
Daniel - fea692a113
By default, only show closed items on Org angeda log mode
It's easier for the weekly review to see only those items that were closed, as
those may still have pending actions that need to be captured.  Items not yet
closed are still available on the calendar, on the Next Action list, or
elsewhere.
2021-06-06 16:47:58 +02:00
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