Commit Graph

1467 Commits

Author SHA1 Message Date
326711f4d2
Update diff-hl fringe marks after committing with magit 2025-05-01 12:56:20 +02:00
5ffdcf2954
Try out diff-hl
Inspired by https://www.rahuljuliato.com/posts/dired-enhanced.
2025-05-01 11:17:26 +02:00
837b7fc106
Ignore direct input when at the start of an Org headline
This is to guard headlines to become invalid due to my erratic (mis)typing behavior.
2025-04-19 17:05:26 +02:00
def778595d
Play around with outline-indent.el
See https://github.com/jamescherti/outline-indent.el.
2025-04-13 18:54:19 +02:00
47218d6b1e
Try out docker.el
See https://github.com/Silex/docker.el.  Inspired by
https://www.rahuljuliato.com/posts/emacs-docker-podman.
2025-04-13 10:17:54 +02:00
297cc8fa05
Provide thing at point for consult line history
Inspired by https://arialdomartini.github.io/consult-line-at-point.
2025-04-12 16:46:20 +02:00
f49903f168
Apply indentation fixes
Missed those in the last commit.
2025-04-10 20:48:23 +02:00
f1a5462622
Set some options in init.el using setopt
This is to try out `setopt`, further adaptions to come.
2025-04-07 18:59:35 +02:00
6f07502638
Let vertico sort candidates by name mostly
Show the history first, for manual selection, but sort the rest alphabetically.
2025-04-05 11:59:42 +02:00
ef6ba17d55
Ensure that consult is installed 2025-04-05 07:45:33 +02:00
a04d5cb8d2
Allow preview in consult functions
This is particularly relevant for `consult-line`.
2025-04-05 07:44:16 +02:00
f5c3780caa
Set own list of emoji text interpretations 2025-04-04 20:23:21 +02:00
b0d648c093
Guard headline stars from accidental changes
Activate Org's speed keys for this.  Let's see whether now I will accidentally do other things
than typing characters at the beginning of a headline …
2025-03-30 18:49:32 +02:00
87ab75fda2
Use project.el for default search
`rgrep` can be used when `project-find-regexp` does not find matches, but the latter can be used
more intuitively and also provides choosing the base directory and a file pattern via universal
arguments.
2025-03-30 10:59:24 +02:00
cdeeb1b0eb
Use proper use-package declaration for lv package 2025-03-29 17:41:29 +01:00
db5e1b70ef
Some reformatting 2025-03-29 17:41:23 +01:00
9113276fc8
Avoid undefined error when showing help without Org being loaded
`helpful.el` relies on Org links, so we ensure `ol.el` is loaded.
2025-03-29 17:35:04 +01:00
6279921553
Fix misplaced control characters in docstring
Found by flymake.
2025-03-29 17:26:21 +01:00
bd451a954a
Group package.el configuation with use-package 2025-03-29 17:24:11 +01:00
b9fde435a7
Revert "Check for spelling in comments"
This also checks strings that contain commands and other arbitrary content, producing a lot of false
mispelling alarms.  This is disturbing, so let's disable it again.

This reverts commit 7d0eb498e2.
2025-03-29 17:18:26 +01:00
7d0eb498e2
Check for spelling in comments
Again inspired by https://github.com/purcell/emacs.d .
2025-03-29 17:15:15 +01:00
93a2e5f939
Add some buffer limit indicators
Taken from https://github.com/purcell/emacs.d/blob/master/lisp/init-editing-utils.el.  Nice!
2025-03-29 17:03:13 +01:00
620ce06760
Remove redundant indentation configuration for use-package
Should be done properly by Emacs out of the box.
2025-03-29 15:13:39 +01:00
ec8f980148
Use eglot in additional modes
Namely: shell scripts, Perl, Haskell.

Also fix a minor typo in Haskell mode configuration.  Show Flymake warnings directly inline.
2025-03-29 15:05:02 +01:00
5a98a26fd5
Remove redundant global key binding 2025-03-29 13:19:40 +01:00
d5bc8c909b
Move some generic hooks to corresponding sections in init.el
Feels more natural to keep them there.
2025-03-29 13:15:57 +01:00
345bf46e9e
Do not check anymore for existence of major-mode-remap-alist
It's available in Emacs 30.1.
2025-03-29 11:57:39 +01:00
8ca5a0ec61
Use use-package for loading custom LaTeX utilities 2025-03-29 11:57:29 +01:00
dc37acca4e
Regroup some package definitions 2025-03-29 11:53:06 +01:00
1313fe1f21
Remove unused expand-region package
Haven't used that in a while.
2025-03-28 19:23:30 +01:00
261022d594
Reorder package configuration
Also found that I had two package definitions for `project.el` … oops.
2025-03-28 19:21:30 +01:00
c9377c1658
Store bm bookmarks in the usual userdata directory 2025-03-28 19:21:00 +01:00
45b5794db9
Remove obsolete ivy configuration 2025-03-28 19:01:22 +01:00
69e917ec86
Move GUI disabling to early-init.el
This way we can void drawing elements that will be disabled anyway.

Inspired by https://emacsredux.com/blog/2025/03/28/speed-up-emacs-startup-by-tweaking-the-gc-settings/.
2025-03-28 18:41:04 +01:00
b8147a6d45
Remove some obsolete projectile configuration 2025-03-28 18:39:02 +01:00
c271947e68
Require at least Emacs 30 2025-03-28 18:38:51 +01:00
6c899154ca
More tweaking of ibuffer saved filter groups 2025-03-27 20:11:39 +01:00
24b583d021
Tweak stored ibuffer filter groups a bit more 2025-03-23 13:58:34 +01:00
8b32ad1292
Add some default ibuffer filter groups
Motivated by [emacs-solo][1] and extended with some information from the [Emacs-Wiki][2].

[1]: 45d7bc1bd1/init.el (L125)
[2]: https://www.emacswiki.org/emacs/IbufferFilters
2025-03-23 12:46:41 +01:00
4113bc6bc5
Move some frame configuration to early-init
Inspired by https://github.com/LionyxML/emacs-solo/blob/main/early-init.el.  I am not quite sure
whether this will have much effect, though.
2025-03-22 16:23:33 +01:00
d40c0bc085
Allow page motion while searching
Found in https://emacsredux.com/blog/2025/03/18/you-have-no-idea-how-powerful-isearch-is/, nice!
2025-03-21 17:51:49 +01:00
8369eab33d
Apply some isearch optimizations
From https://blog.chmouel.com/posts/emacs-isearch/:
- Bind `avy-isearch` to directly jump to currently visible matchings
- Use `consult-line` instead of `swiper` (this also removes a package dependency)
2025-03-21 17:40:46 +01:00
b59c852c53
Resort to using the default location for TRAMP history override
Directories like `~/.emacs.d/private` may not exist on remote machines.
2025-03-16 16:55:02 +01:00
b176cb1748
Store TRAMP history in main userdata directory 2025-03-16 10:26:07 +01:00
23ca139e20
Track main dotfiles Git repository in magit 2025-03-16 10:23:52 +01:00
4e9d804bca
Move custom comint hook to corresponding use-package declaration
Because of consistency and such.
2025-03-15 20:17:28 +01:00
5e03486be9
Use native Emacs completion in shell mode
Evaluating INSIDE_EMACS might also be helpful in setting a usable prompt, even if TERM is "dumb".
2025-03-15 20:00:58 +01:00
3515f3e084
Explicitly mark Emacs 30.1 Dired features as such
This avoids setting those variables in Emacs 29.x, which is still supported by this
configuration (it won't hurt much to set those variables in this case as well, though).
2025-03-14 18:16:55 +01:00
77fffe3265
Allow encryption key selection via minibuffer completion
This way, the usual completion mechanisms can be used — nice!
2025-03-14 18:15:50 +01:00
1ad53d298f
Jump to next message in Gnus when reaching the end
This is what I am used to, the option to stop at the end of a message did not convince me.
2025-03-12 17:06:13 +01:00
c50689c38c
Add some configuration for debugging the init file
From the use-package manuel, see info:use-package#Troubleshooting.
2025-03-11 17:27:17 +01:00
3dd3183a44
Bound movement in dired buffers
A nice Emacs 30.1 feature :)
2025-03-10 20:24:01 +01:00
f205598c67
Rely on builtin versions of use-package and bind-key
One less external dependency to take care of :)
2025-03-10 20:18:30 +01:00
a9b54d27a9
Replace some bind-key calls with use-package :bind declarations
Also remove some obsolete declarations along the way.
2025-03-09 20:22:22 +01:00
09a8706bb1
Add some stub configuration for remember
Inspired by https://baty.net/posts/2025/03/i-went-a-little-nuts-with-remember-mode-in-emacs/.  Not
using it yet, but it's nice to have it recorded here.
2025-03-09 14:54:51 +01:00
41c4295e82
Only initialize BBDB for message-mode
Being asked all the time whether to add the contact of the current message to BBDB is annoying.
2025-03-09 09:56:14 +01:00
7cbe776c7f
Fix use-package autoload configuration for Org utilities 2025-03-08 18:47:46 +01:00
0fe7ec5c1b
Clean up own utilities collection
Properly separate interactive commands from simple functions in use-package declaration, and remove
two unused functions.
2025-03-08 18:34:33 +01:00
40e98e5bfa
Allow wider git commit messages
No need to restrict to 72 characters per line.
2025-03-08 18:26:56 +01:00
47c7e664e5
Remove obsolete extra-symbol customization for TeX input method 2025-03-08 18:26:37 +01:00
e9a3778b74
Apply minor changes to Gnus configuration
Inspired by https://baty.net/posts/2025/03/using-gnus-for-email/.
2025-03-08 16:50:17 +01:00
2e2b208c23
Remember why we load customizations so late
So I don't have to ponder on this again the next time I see this …
2025-03-08 16:37:16 +01:00
9132364fb7
Avoid customization conflicts between Customize and use-package
To this end, do not use :custom in use-package declaration, because
according to the documentation[1], `:custom` declarations can conflict
with settings done via `customize-option`.  However, values set directly
in the configuration files should always be allowed to be overwritten by
custom settings done by the user – at least that's the general approach
of this Emacs configuration.

[1]: https://www.gnu.org/software/emacs/manual/html_mono/use-package.html#User-options
2025-03-08 09:10:57 +01:00
f2f98c3ac5
Do not restrict shell buffer display to frame sides
Give buffers running ephemeral `eshell` or `shell` sessions a name that
is different from the default name chosen by these commands, and only
restrict those ephemeral shell buffers to be displayed at the side.
This way, running the commands `eshell` and `shell` will yield windows
can be handled like any others and can be used for long-running
sessions.
2025-03-07 20:35:38 +01:00
5438a71cca
Tinker with Gnus' summary line format
Trying out some inspiration taken from https://baty.net/posts/2025/03/using-gnus-for-email/.
2025-03-07 17:34:32 +01:00
575eb0e600
Increase Gnus registry size
Hitting the limits.
2025-03-07 17:29:11 +01:00
0ba2fc5fd7
Adapt some obsolete configuration for transition to Emacs 30 2025-03-02 18:29:20 +01:00
de123f7cea
Allow relocation of custom URL bookmark types
This is mostly copied from the current implementation in `bookmark.el`,
adapted to non-filename bookmarks.

Note that we are now using the `location` slot in bookmarks to store the
URLs, and relocating bookmarks will set the `filename` slot to `nil`.
2025-03-02 18:11:13 +01:00
c74eed5df1
Remove obsolete usage of defadvice
This only affected some old Gnus advices.  One of those should be
obsolete (I guess), the other has been transformed to use
`define-advice`.
2025-03-02 13:44:11 +01:00
0d1b624c72
Remove unused keybindings for bm 2025-02-26 13:06:49 +01:00
12870a5aef
Adjust default column with in magit repository listing
I need more space.
2025-02-26 10:54:08 +01:00
8998369a4c
Include status column in magit repository listing
To see whether repositories have unstaged changes.

This makes my `check-git-repos` function kind-of obsolete, which is good :)
2025-02-26 10:53:59 +01:00
a522f48dc5
Add some Org lint checkers for bookmark links
Code taken from `org-lint-invalid-id-link` and suitably modified.
2025-02-25 18:26:08 +01:00
ff30cbdf58
Always clear ledger transactions as a whole
Found via [1].  Nice!

[1]: https://mbork.pl/2025-02-22_Inserting_Ledger_transactions_even_faster
2025-02-23 13:00:09 +01:00
73a8e3be4b
Do not depend on autoloading db-org.el for bookmark links
Let's keep db-org a collection of autoloadable functions and move the
actual configuration of Org bookmark links to init.el.
2025-02-22 20:54:31 +01:00
795fcde3b8
Use default mechanism to store URL bookmarks directly after creation
Nicer :)
2025-02-22 20:54:31 +01:00
168cc78844
Let project.el consider submodules as separate projects
I keep a tree of Git repositories organized as submodules in my home
directories and want each of those repositories to be considered a
separated project.  The repositories that are indeed a proper part of a
superproject I can ignore.
2025-02-19 17:21:46 +01:00
2cbafcfbfc
Customize columns for listing magit repositories
Shrink fist column, because my repositories are usually not that long.
Version information is also less important than upstream divergence to
me, so let's move this behind.
2025-02-16 18:03:06 +01:00
1fedb571a3
Do not show overdue deadline items in Waiting For list
They will show up on the main agenda view anyway.
2025-02-15 18:43:17 +01:00
1ba7f00753
Sort TOPICs before NOTEs in project agenda
TOPICs are usually more important than NOTEs.
2025-02-14 17:03:55 +01:00
0d001c7b39
Sort list of known projects before persisting
This is to avoid commit clutter when tracking `project-list-file` in Git.
2025-01-19 09:53:41 +01:00
3789a2b0e9
Revert "Shorten scheduled and deadline leaders in Org agenda for space"
This reverts commit 823139669e.

Turns out I need space for the range count of dates ranging multpile
days.  Bummer.
2025-01-12 15:30:04 +01:00
823139669e
Shorten scheduled and deadline leaders in Org agenda for space 2025-01-12 15:26:32 +01:00
1e6e15669e
Remove some obsolete configuration
And clean up a bit.
2025-01-04 17:58:59 +01:00
f98b0e461f
Change default Org source block results handling back to output
This is what I usually use, so let's stick to it.
2025-01-04 15:40:55 +01:00
635054aa4a
Replace company by corfu
I haven't really used `company` in the recent past, so removing this
package does not hurt much.  Maybe `corfu` will be more practical for
me, as it also only relies on builtin in-buffer completion and does not
require additional magic.  However, I usually do not use popup
completion dialogs much, because I find them obstructive.
2025-01-03 17:28:46 +01:00
beceb909fc
Clean up SLIME configuration
SLIME somehow interfered with exporting Org lisp source blocks, leading
to some cleanup.
2024-12-31 15:41:36 +01:00
a1e372e31e
Use builtin project instead of external projectile from now on
`projectile` is nice, but I rarely use a fraction of its functionality
and not having to use an external package for project management feels
more robust.
2024-12-31 14:57:56 +01:00
70e85b9419
Show value output of Org source blocks by default
This is a sensible default for ELisp blocks, so let's use that.  Already
existing blocks that depend on the old default need to be updated, though.
2024-12-30 13:34:46 +01:00
f4ff678cd1
Diminish auto-revert-mode in mode-line 2024-12-30 10:57:24 +01:00
e89baa204e
Clean up Lisp programming configuration
`eldoc` is part of general programming configuration.
2024-12-30 10:57:09 +01:00
d2ae0e1bf5
Show minor modes in mode-line again
Seeing active minor modes directly might be informative.  Try to reduce
the list of shown minor modes to only interesting ones using the (still
existing) diminish configuration.  Remove now obsolete configuration of
the minions package.
2024-12-30 10:34:16 +01:00
9f52c576b2
Move tab-bar history activation to main init function
This is where such global mode activations belong.
2024-12-25 16:01:06 +01:00
7deb6204be
Ensure this configuration is run using Emacs 29 or later
This allows to remove some old code.
2024-12-25 15:50:40 +01:00
353ce2960b
Provide autoload for lsp-mode
This allows activation before `lsp-mode` is loaded.
2024-12-25 13:21:28 +01:00
facd9ccc52
Remove misplaced plist deserialization for lsp-mode
Using plists for deserialization has to be enabled already while
compiling `lsp-mode`, so it was set too late and resulted in errors; see
[1].  Since I do not need plist deserialization, we can also make things
simple and just keep it disabled.

[1]: https://emacs-lsp.github.io/lsp-mode/page/performance/#use-plists-for-deserialization
2024-12-25 13:18:26 +01:00
ccb1e02cda
Do not automatically use company-mode for completion
`globel-company-mode` has not been used since quite some time, and
completion in the individual programming modes should be handeled by
LSP.  Disabling `company-mode` also allows to use standard completion
features, which is nice.
2024-12-25 11:46:21 +01:00
9e898e2100
Do not require lsp-mode to be installed anymore
eglot should do the trick for most of my needs, so no need to
force-install lsp-mode.
2024-12-21 20:53:52 +01:00
f646a2f98a
Default to eglot for Python programming
This is to ease the configuration, as eglot is built in.  lsp-mode might
provide a better programming experience, but I do not do much Python
programming nowadays.
2024-12-21 20:51:25 +01:00
2837712f5c
Completely redo agenda buffers when jumping to today
This allows stale buffers from previous days to be updated in one go.
2024-12-20 11:56:31 +01:00
661c5f9b22
Add small utility to quickly update complex Org reports 2024-12-14 09:39:22 +01:00
ff868b57b4
Do not use short answers for confirmations
Just learned about `use-short-answers` (from a comment [here][]).
However, when long answers are expected for confirmation, it's often an
indication that the question at hand might be serious enough to take the
time to type these out (as recommended by the docstring of
`use-short-answers`).

[here]: http://irreal.org/blog/?p=12595
2024-11-24 12:01:13 +01:00
5a25d5d069
Revoke special password implementation for SQL Org source blocks
Turns out this can be done by a simple function call, as demonstrated by
https://magnus.therning.org/2024-09-01-improving-how-i-handle-secrets-in-my-work-notes.html.
So we just extend `org-password-manager-get-password-by-id` accordingly
and use that instead.  No need to patch the default implementation of
Org!
2024-11-16 12:30:20 +01:00
43fa4097df
Check availability of major-mode-remap-alist before setting it
This is to restore some Emacs 28 backwards compatibility.
2024-11-13 17:04:52 +01:00
fe5d236b77
Ensure that Org QL is installed
This is needed by my Org mode configuration.
2024-11-01 21:31:15 +01:00
4120de7619
Do not explicitly install git-commit.el any longer
It now comes directly with magit.
2024-11-01 21:11:53 +01:00
0f43b7303f
Add custom function to start ement.el without prompts
Inspired by https://github.com/alphapapa/ement.el/issues/32#issuecomment-902539093.
2024-10-20 19:11:19 +02:00
441db75ae2
Do not evaluate Org source blocks with text modes by default
Nothing to evaluate here either.
2024-10-12 20:40:22 +02:00
78924c841e
Add first draft function to compute time at home for given date
This is supposed to be used with `db/org-workload-overview-report`.
2024-10-12 17:08:23 +02:00
2713fe1fd0
Disable Org source block evaluation for some text modes
Let's avoid the “No org-babel-execute function for foo!” errors for
those modes!
2024-10-11 20:00:34 +02:00
212c3664ff
Enhance table.el editing in markdown-mode
Pandoc supports grid tables, which are supported in Emacs via `table.el`.
By default, the alignment markers for those tables (:) are not
recognized in table.el, so let's add those.  Furthermore, editing grid
tables in `markdown-mode` does not work, since `jit-lock-mode`
overwrites the `keymap` text property that `table.el` relies on to
enable table editing.  Using `edit-indirect` to edit those tables in an
indirect buffer where everything works nicely.  Indeed, editing
`table.el` tables in Org also uses an indirect buffer, for the exact
same reason.
2024-10-09 20:37:23 +02:00
bc4e163ac5
Include TOCs in Markdown exports by default
I usually want those.  This setting can be overwritten by
customizations.
2024-09-19 15:46:02 +02:00
f54c39fe52
Natively fontify code blocks in Markdown files
Nice!
2024-09-19 15:45:45 +02:00
38ed7dee62
Pin markdown-mode to stable versions
I need this to work, and not necessarily the latest features.
2024-09-10 18:19:43 +02:00
29792b736c
Replace backwards search in minibuffer with history completion
I keep hitting C-r where I should be using M-r instead.  Let's make my
life a little bit easier and make C-r behave like M-r.
2024-08-31 22:21:19 +02:00
d01b3bdc09
Add clocktable formatter to filter entries with small clocking time
Whenever I try to check what I actually in the past couple of days, I
try to use a clocktable for this.  However, those clocktables are
usually littered with small entries, i.e. entries where I only spent a
couple of minutes on (example: a quick chat with a colleague).  Those
entries clutter the view for the relevant entries, making it hard to
make sense of past activities.

Restricting the clocktable to a certain depth somehow helps, but major
single tasks are hidden this way, and I usually want to see those.

The custom formatter added in this commit tries to alleviate this
situation by providing a mechanism to filter out those entries using a
minimum clocktime threshold.  Let's see how this feature plays out.
2024-08-17 16:07:17 +02:00
3ccb13ce53
Do not display output of async shell commands by default anymore
Moving this output to the bottom of the frame did not help; it's just
something I do not want to see by default.
2024-08-17 09:01:10 +02:00
c17852bd90
Add Org link handler for custom CVE links
I have to deal with those quite a bit, it's nice to have a handler to
easier find the description for these numbers.
2024-08-16 18:05:34 +02:00
7ea1a31a25
Use consult for default history completion 2024-08-14 20:21:57 +02:00
306995032e
Rework temporary workaround for links with ending closing brackets
Previously, links which end in a closing brackets got a non-breaking
space appended via a separate advice to `org-link-make-string`.
However, this did not work well with the other advice that removes
statistics cookies from links, mostly because I messed up the order in
which the advices were applied.  To remedy this, the advice to remove
statistics cookies now also adds a non-breaking spaces as described
above.
2024-08-08 17:03:07 +02:00
40bafe78ce
Add temporary fix for Org alignment of links to headlines
When a headline ends on a closing bracket, Org adds an escape character
to the link text to distinguish the end of the link from the link
description.  This escape character is a zero-width space, which is
counted for Org table alignment as one character, but the link itself is
displayed shorter, because the zero-width character is displayed as a
single pixel by emacs.

To work around this issue until the upstream fix is released, let's add
a final non-breaking space to those link descriptions to avoid the need
for the zero-width escape characters.
2024-08-05 17:45:10 +02:00
726f1baf8c
Show async shell command output in bottom side window
I found that opening this output on the right side to be annoying, so
let's switch try the bottom side window instead.  This also works with
having an eshell buffer open at the same time, resulting in a nice reuse
of the right space of eshell windows that is usually empty.
2024-08-03 12:12:44 +02:00
1ef71f02b8
Warn of missing customization for grep.el on Windows 2024-07-28 16:18:16 +02:00
b350c4f618
Use absolute path for Zettelkasten directories
`rg` does not recognize `~`.
2024-07-28 16:01:56 +02:00
98f31c6c2e
Restrict Things-On-Hold agenda to explicitly tagged items
It's not helpful to show subitems of HOLD items, this only makes this
agenda view unnecessarily long and thus harder to maintain.
2024-07-26 19:31:46 +02:00
27f961f0dc
Stop using helm for yanking
With vertico, using the default `yank-pop` is nice enough.  Furthermore,
yanking with helm does not update the current candidate selection when
in a minibuffer prompt (like for `find-file` or `org-insert-link`),
sometimes leading to confusion.
2024-07-20 20:43:20 +02:00
1ea28a5823
Revert Lisp indentation back to Emacs standard
With `common-lisp-indent-function`, the indentation of `while` was not
correct – oops.

This change will break some current indentations, though.  Stay tuned.
2024-07-11 21:54:52 +02:00
21f5988d6a
Allow Org links to magit buffers 2024-07-10 15:55:22 +02:00
2114c22d3f
Remove obsolete Org elpa repository 2024-07-10 15:07:52 +02:00
7e763d82ea
Revert "Include zettelkasten files in Org agenda searches"
It's too slow :(

This reverts commit 902e205e7e.
2024-07-10 14:25:45 +02:00
ad8aa0fda8
Allow Org links to manpages by default 2024-07-10 13:44:23 +02:00
902e205e7e
Include zettelkasten files in Org agenda searches 2024-07-10 13:43:18 +02:00
2349d6726f
Fix usage of obsolete Org variable to (not) set refiling bookmarks 2024-07-09 21:23:29 +02:00
2f01ae081e
Add extra blank line after capturing items – again
This is to have this extra blank line after refiling.

This reintroduces 76c8717, and reverts f064bf9 and 8ed64b7.  The issue
with too many blank lines at some items may reappear.
2024-07-09 11:40:00 +02:00
762581c263
Ignore items with near deadlines in NEXT list
They are shown in the DEADLINE list already, no need to duplicate them.
2024-07-09 10:33:49 +02:00
6bc66f302d
Let Org decide about spacing between plain list items
I still like lists with blank lines between items better to read, but
occassionally more compact lists are better.
2024-07-08 13:59:45 +02:00
fb6bb224cb
Use helpful.el also for describing symbols
Forgot this binding.
2024-07-06 11:52:24 +02:00
0b82dd1945
Extend regular expression to remove cookie when inserting Org links
This should also catch the empty cookies `[/]` and `[%]` now.
2024-07-06 09:15:52 +02:00
4714e0d0df
Remove workaround to match range timestamps in Org QL
https://github.com/alphapapa/org-ql/pull/237 has been merged in 0.8.7,
so there should be no need anymore for my workaround.
2024-06-30 12:32:42 +02:00
583a5dea91
Introduce helpful.el 2024-06-30 10:23:28 +02:00
ea6ef8ef63
Ensure hydra is installed 2024-06-30 10:23:19 +02:00
a2840cc003
Exclude near deadlines from main task backlog
Those items are shown in the “Deadlines” section anyway, there is no
need to duplicate them in the task backlog.
2024-06-27 21:01:46 +02:00
583ddabeaa
Do not require pyvenv to be installed
It's not that crucial to be anymore.
2024-06-27 12:05:29 +02:00
bca13ec9f2
Use more telling name for setting up git commit buffers
There is no mode here, just a call to `git-commit-setup`.
2024-06-27 11:15:40 +02:00
f196d6e808
Show bookmarks before important files
I access bookmarks far more often than the list of local important
files, so let's skip the usual `C-o` hazzle and have bookmarks right
under point when available.
2024-06-17 16:20:42 +02:00
028dc91f28
Insert current clock when capturing simple tasks
This is more reasonable than inserting a link to the current location of
point, which can be quite arbitrary (at least in my workflow).  When a
link to the item at point is needed, it should be inserted manually.
2024-06-13 21:04:45 +02:00
3b8fa72a5a
Add missing but obvious path for magit to search for git repositories
Ah, well … that one's important ;)
2024-06-10 18:54:49 +02:00
5d561c0e1d
Update elpa packages
Also remove obsolete configuration for `git-commit` package.
2024-06-10 18:09:40 +02:00
03f856ce49
Use visual line breaks in markdown mode
Markdown formatted files are often displayed as HTML, where automatic
line breaks work better.
2024-06-09 16:01:57 +02:00
01a71c93d2
Move known links to front of link list only in older Org versions
This behavior became the default in Org 9.7.
2024-06-08 10:41:07 +02:00
de68fc30b2
Statically specify git repositories for magit
Relying on projectile's project list seems to be fragile and often
includes too many repositories, so let's let magit find those
repositories itself.
2024-06-08 09:26:40 +02:00
3dee200729
Skip task backlog items with deadline warning time in the future
This change is experimental and might be reverted.

Idea: we don't want to see those items until the deadline warning date
is due anyway.  Drawback: those items are not shown even when jumping to
the specific date (or past it), so planning ahread get's a bit more
complicated.
2024-06-06 10:45:25 +02:00
599cdec229
Ignore SOMEWHEN tasks in NEXT list 2024-06-02 18:17:41 +02:00
4a8e0a611b
Only considered direct tags when checking for missed appointments
Subitems of DATE entries are not relevant for this check.
2024-05-12 15:21:31 +02:00
207d9f8c39
Remove statistics cookies from Org links
Those cookies are correct when the link is inserted, but subsequently
gets updated (usually to `[0/0]`) when the statistics cookie is updated
in the Org item where the link is placed — removing any meaning from
this cookie.  It's thus better to not have it at all, I think.
2024-04-30 08:30:07 +02:00
85a6366550
Remove explicit final newlines in Org capture templates
`org-capture-fill-template` unconditionally adds a final newline to each
template.  This caused extra empty lines with the old templates when
nothing is inserted at point (`%?`), because in this case empty lines
before and after point were present, with nothing in between.

Those extra empty lines are gone now, and point is positioned after the
final non-blank character.  When extra empty lines are needed, they have
to be inserted manually.
2024-04-28 19:56:33 +02:00
84b18acc54
Show empty lines in collapsed Org view between too many blank lines
This is to better be able to identify those empty lines and keep the
notes tidy.

The new value for org-cycle-separator-lines` is the current default
value.
2024-04-27 20:14:44 +02:00
655da52bf0
Update Org tag alignment in headlines to match new text line width 2024-04-27 12:08:43 +02:00
a9f0f0b2ee
Increase text line width to take advantage of monitor space
Yes, 80 has been the default since ages, but I indeed to have more
horizontal space available and I should use it #NewTraditionsFromOld.
2024-04-27 10:45:18 +02:00
8fa265bd9b
Exemplarily simplify hook definition for BBDB setup
Inspired by the `use-package` documentation, but the other places where
`add-hook` is called this simplification does not seem to be appropriate
from my point of view (missing `-hook` suffix, better readability when
calling `add-hook` directly).
2024-04-25 17:16:58 +02:00
37d8c1c282
Do not enable proced auto-updating on Windows
This seems to be slow, causing proced to take more time updating a
buffer than waiting the one second until the next update – resulting in
an unresponsive proced buffer.

Note: I am not sure whether this setting is correct, as `(not
on-windows)` will not be evaluated when `use-package` calls
`custom-theme-set-variables`.  However, I think it will be evaluated
eventually, and that should be all that's needed.
2024-04-25 11:03:28 +02:00
83c9fd7d20
Allow the agent in Gnus to cache all articles
I sometimes have the feeling that mails are downloaded multiple times …
maybe this setting will help?
2024-04-24 21:15:56 +02:00
8ed64b7fb1
Remove more extra empty lines in Org capture templates 2024-04-14 11:00:30 +02:00
f064bf9384
Remove seemingly extra blank line after captured interruptions 2024-04-13 15:34:56 +02:00
595ac9e696
Disable org-lint checker for obsolete percentage encoding
I do not mind having such links, and sometimes I have to put up with
them, so let's spare `org-lint` of the trouble reporting them.
2024-04-11 20:19:11 +02:00
edb5d9119b
Experimentally include plain lists in Org's visibility cycling
It's nice to be able to collapse plain lists easily, as I have some
quite large ones.  The comment advises to be careful with certain
situations yields strange results, though, which is why this setting is
deemed experimental for the time being.
2024-04-11 19:01:04 +02:00
9edd604d26
Fix ill-worded comment 2024-04-11 18:58:59 +02:00
238c8ae0c8
Add extra spacing also to Org capture template for generic items
Missed that before.
2024-04-05 15:37:33 +02:00
5f33044458
Globally deactivate Org refile cache
This seems to be fast enough on Windows (and on Linux anyway) and avoids
cache invalidation problems.
2024-04-05 15:36:15 +02:00
840f10cab9
Display async shell command buffer again
I keep opening it manually for most of the commands, so why not have it
pop up automatically?
2024-03-30 15:46:21 +01:00
019c8822a1
Ignore scheduled entries on Waiting-For list altogether
They are shown on the main agenda view.
2024-03-24 13:44:19 +01:00
60c8a57bf8
Use consult for region completion, when available
This seems to be a good default?
2024-03-23 09:54:18 +01:00
04a714fc8c
Optionally use consult for some completion tasks 2024-03-23 09:50:10 +01:00
53a0c1b56b
Filter buffer and bookmark list only via orderless completion
I don't expect basic completion here, only the matching style from ivy.
2024-03-17 09:13:10 +01:00
3099e642ce
Change ellipsis character for Org mode
The old character had some odd depth in my current font …
2024-03-13 17:45:10 +01:00
85338cc8f5
Use basic completion before orderless
Using orderless by default get's in the way of “usual” code completion
and shell completion, where prefix completion is the expected
behavior (for me).  So let's try to use basic completion first, and try
to rely on orderless completion to kick in as soon as spaces are
involved (which should not happen for shell and code completion).

The completion colors should also help to see whether we are still using
basic completion or orderless completion.  Let's try this for now.
2024-03-11 17:25:30 +01:00
a4bae1d96e
Enable ivy region completion for ledger-mode
This is where I used it most often, and where I still want it to work
until a proper replacement is found.
2024-03-11 17:02:41 +01:00
4a14d2e37b
Add default keybinding for accessing recently used files
Since `counsel-switch-buffer` has been replaced by the plain
`switch-to-buffer`, recently used files are not shown there anymore, so
let's make `recentf` easier to access.

NB: `consult` also provides a function akin to `counsel-switch-buffer`,
so maybe this keybinding will not be that relevant anymore in the
future.
2024-03-11 16:14:00 +01:00
2ca13e12eb
Revert "Use ivy for completion in regions"
Using ivy for completing in regions somehow has problems in eshell, so
let's not do it.  The main use-case for using ivy in region completion
is for ledger, so maybe it can only be activated there?

This mostly reverts commit 615b285f74.
2024-03-11 16:10:24 +01:00
ea345e4d91
Use LaTeX-mode when available
This is achieved by aliasing `latex-mode` to `LaTeX-mode`, requiring a
bit of refactoring of how `major-mode-remap-alist` is being used.
2024-03-10 21:07:10 +01:00
615b285f74
Use ivy for completion in regions
This is nicer than the default completion window … but maybe there's a
better approach than using ivy only for this?
2024-03-10 11:44:46 +01:00
256f378c76
Disable garbage collection during Emacs startup
Taken from https://protesilaos.com/emacs/dotemacs, nice idea :)
2024-03-10 11:14:48 +01:00
b3a1689741
Simplify completion styles by with overrides for certain categories
The default completion style is now to use orderless by default, but
certain categories can benefit from additional completions (e.g., file
and partial-completion).

It's quite hard to determine the appropriate completion categories,
though.  Does Org have a dedicated one?
2024-03-10 08:55:25 +01:00
ea0e94c312
Only keep orderless match faces that are readable with solarized 2024-03-09 20:19:41 +01:00
6b8b97fe8d
Prefer orderless completion style over others
The reason is that while filtering Org headlines, sometimes one of the
other completion styles matches, hiding other possible matches that
would have been found by the `orderless` style.  This can happen when
spaces are included in Org headlines (which is usually the case) and
those spaces match the search pattern.  In this case, the position of
point is also relevant, which is not something I want.

It would be better to know which completion category is use in this case
and override the completion style for this only, but so far I haven't
found it.  Continue looking …
2024-03-09 20:06:48 +01:00
7d398a66c8
Replace counsel Org heading dispatch by org-refile
This is nice enough and removes the last dependency to counsel :)
2024-03-09 15:04:21 +01:00
118b50c8da
Always show absolute time when annotating file selections
Via https://protesilaos.com/emacs/dotemacs#h:bd3f7a1d-a53d-4d3e-860e-25c5b35d8e7e.
2024-03-09 14:56:43 +01:00
7a2410642f
Remove redundant package declaration for helm-ring
This package is loaded in the main helm declaration, no need to mention
it separately.
2024-03-09 14:09:38 +01:00
8150725233
Use default completion functions for Info and Unicode lookup
Using vertico completion, they are quite nice! :)
2024-03-09 14:08:41 +01:00
3d0afd3f07
Experimentally replace default ivy completion with vertico
This may change back in the future.

The ivy configuration is kept on purpose, in particular because some
counsel functions are still in use.  Maybe those can be also be replaced
later on, maybe with helm functions?  Not quite sure whether this is a
good idea, though.
2024-03-09 13:46:36 +01:00
a4325f30bf
Remove some obsolete counsel bindings 2024-03-08 17:26:25 +01:00
a233d092de
Replace timestamp query in main agenda view with option setting
This is faster.
2024-03-06 19:01:31 +01:00
0e9ae4aa4d
Fix conditional loading of helm
It only makes sense to load helm when it's installed, isn't it?
2024-03-05 21:20:56 +01:00
b6ecb4eb53
Declutter custom Org agenda views
This is mostly to speed up agenda generation, in particular the main
agenda view.  It turns out that filtering out SCHEDULED items is
expensive, but in tags views there is no variable to exclude scheduled
items – as for todo and tags-todo views.  Thus, SCHEDULED items must be
removed with a corresponding search pattern, which is slow.
2024-03-05 17:38:16 +01:00
cd98c67e12
Add usual text surrounding backlink in TODO caputure template
I always add "Via " around the backlink, with some newlines.  Let's just
let Emacs do this for us :)
2024-02-18 10:37:06 +01:00
b75e70241b
Add Org capture template for generic Org item
This can be used when creating generic NOP headlines, among others.
2024-01-27 17:34:19 +01:00
8aa29be427
Use strict whitespace matching in isearch
This is less confusing for me :)
2024-01-19 17:12:48 +01:00
5214d7ceee
Disable global completion again
It's mostly annoying.
2024-01-17 17:48:07 +01:00
b954328b26
Simplify Org capture template for recording GOALs
I usually already have a first item for a GOAL recorded, so querying for
it via the capture template is unnecessary (and annoying).
2024-01-14 15:10:03 +01:00
af05bd2106
Collect custom Org key bindings in a custom hydra 2024-01-07 17:12:27 +01:00