Commit Graph

1315 Commits

Author SHA1 Message Date
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