Commit Graph

1163 Commits

Author SHA1 Message Date
Daniel - 71f07d1e8f
Remedy some flycheck and checkdoc warnings coming from `db-org.el` 2023-04-07 12:52:35 +02:00
Daniel - 2d4f626635
Ignore byte compile warnings for too wide docstrings
Ignore this both in the currently running Emacs as well as in all Emacs
subprocesses spawned by flycheck.
2023-04-07 12:41:58 +02:00
Daniel - 806c7b1053
Do not suppress undo and discard warnings
Warnings are now displayed in a side buffer, so suppressing warnings because
they are annoying is no longer a valid rationale.
2023-04-07 12:10:02 +02:00
Daniel - 347a3bf08d
Clean up personal Org utility functions
Mostly moving functions around and updating page headers.  Also removed some
obsolete functions, see updated command list for `db-org` use-package
declaration.
2023-04-07 11:49:58 +02:00
Daniel - a52190f3be
Reuse windows to display buffers by default 2023-04-06 17:59:21 +02:00
Daniel - 0a14f01729
Sort agenda entries by remaining effort by default
This might be slow and buggy, but let's keep it for now.
2023-04-01 16:57:37 +02:00
Daniel - 1f9e032a1a
Display remaining effort in Org agenda by default
Note that sorting is wrong now, this needs to be fixed later.
2023-04-01 16:50:30 +02:00
Daniel - bef3a482f3
Explicitly require `org-ql-search` when loading `org-ql`
`org-ql-search.ql` contains the definitions for Org QL dynamic blocks but is not
automatically loaded by `org-ql.el`.  Since I am using Org QL dynamic blocks
extensively, let's load this library explicitly when `org-ql.el` is activated.

Note that this implicitly reverts 939b1e882a,
which changed the use-package declaration from `org-ql-search` to `org-ql`
proper.  So this commit was wrong after all (and the state before that commit
was right), but having a use-package declaration for `org-ql` instead of some of
its sublibraries seems to be clearer to me.
2023-03-31 16:35:18 +02:00
Daniel - 939b1e882a
Fix package name in org-ql use-package declaration
Package pinning won't work otherwise.
2023-03-27 19:22:46 +02:00
Daniel - ad2fbe31f7
Remove obsolete fix for org-ql link matching
This has been fixed upstream, no need to keep it any longer.
2023-03-25 17:32:49 +01:00
Daniel - 90293c7735
Remove whitespace when inserting interrupted task in capture message
Not quite sure whether this is really necessary, but it won't hurt.
2023-03-25 11:09:04 +01:00
Daniel - a01bbe28e7
Fix wrong Org QL queries in constraint check agenda view 2023-03-11 10:02:32 +01:00
Daniel - 4e10c06799
Recognize Org bable header arguments when exporting
For this, `org-export-use-babel` has to be non-nil.  To still inhibit source
block evaluation on export (both for performance and for security reasons), set
`:eval` to `never-export` by default.
2023-03-01 20:35:15 +01:00
Daniel - 7fb9b84449
Do not refresh non-selected magit status buffers on Windows
This setting is experimental and a test whether performance on Windows can be
increased this way without causing too much confusion.
2023-02-19 12:44:46 +01:00
Daniel - b5f03ddf96
Distribute some variable settings to specific configuration sections
Two configuration changes have been made:

- Removed `require-final-newline`, which originally had been set to nil; this is
  not necessary (I think), because this is a buffer-local variable that is
  usually set by the respective major mode when necessary; the default value is
  nil anyway.

- Activate `minibuffer-depth-indicate-mode` by default, to signify the depth of
  recursive minibuffer edits when they happen.
2023-02-18 17:01:30 +01:00
Daniel - 92d43a6306
Move more packages from core configuration to more specific sections
Also generalize the “dired” section to a more general “file handling section”,
as it already contained the configuration of `trashed` anyway.
2023-02-18 15:35:01 +01:00
Daniel - 491bcf5b26
Continue minor restructuring of main init.el
Remove some more redundant or obsolete (or even wrong) package declarations.
Also move some package declarations from the core configuration to more
specialized sections; this is not completely done yet, however.
2023-02-18 13:16:15 +01:00
Daniel - 91866466c6
Remove some redundant package declarations for completion
And fix a typo in a comment – yes, this did not got it's own commit!
2023-02-18 12:52:40 +01:00
Daniel - d30669571c
Remove some unused key binding 2023-02-18 12:16:02 +01:00
Daniel - 25912eeb3d
Allow help to reuse the current buffer
When following links in the help buffer, inhibiting reuse of the current buffer
pops up a new one, but still updates the current buffer with the followed link.
The result is having two buffers with the same content, usually side by side.
2023-02-18 12:15:02 +01:00
Daniel - 0c2a30a8c2
Add additional information for detaul completion
Only the value for `completions-detailed` is non-default, the rest has only been
included for reference's sake.

Note that these configurations currently do not effect, as ivy and counsel do
not honor them.
2023-02-18 12:08:06 +01:00
Daniel - 6c17b944e2
Use full path completion for org-goto
This allows jumping to headlines in the current buffer much like using
imenu-based searches, but using native Org mode.
2023-02-14 16:17:48 +01:00
Daniel - 457a1d9be4
Open projects via project.el in dired by default
Inspired by https://www.n16f.net/blog/replacing-projectile-by-project/.
2023-02-14 11:56:01 +01:00
Daniel - 9d10f673f1
Mark projectile as basic external package 2023-02-14 11:53:49 +01:00
Daniel - 47d7e31800
Let display-buffer handle window placement for shells
This provides the same functionality, but makes it more configurable.
2023-02-13 13:22:51 +01:00
Daniel - 0ff7bba709
Explicitly make Help reuse windows whenever available
I think this is the default anyway, but let's make it clear.
2023-02-13 13:12:08 +01:00
Daniel - a3247158aa
Further cleanup of core configuration
Remove the separates “Fixes” section and inline its content to other
configuration sections.  Fuse “Core Configuration” and “Basic Builtin Packages”
sections as those had always been similar anyway.
2023-02-12 18:49:09 +01:00
Daniel - cc0d6456b6
Move Warnings buffer to side
This buffers keeps popping up when Emacs is compiling code in the background.
Maybe keeping it as a side buffer is less distracting?
2023-02-12 18:36:45 +01:00
Daniel - 05904e404e
Conduct minor cleanup of core configuration settings
I am not sure yet whether I want to move configuration for files.el into a
separate use-package declaration, but maybe it's cleaner this way and easier to
find via imenu?
2023-02-12 11:45:12 +01:00
Daniel - 65748689c6
Regroup some basic settings to use-package declarations
This also sets `switch-to-buffer-in-dedicated-window` to `pop`, sorry for the
mixup.
2023-02-11 20:29:43 +01:00
Daniel - daa7882732
Do not auto-fill in textile-mode
Text edited in this mode is usually meant for Redmine Wiki pages and the like,
and line-wrapping there is then done by the browser.  Manually inserted line
breaks only disrupt here.
2023-02-10 20:59:11 +01:00
Daniel - 24aaf17d0e
Obey display rules when switching buffers manually
Set as per recommendation from
https://www.masteringemacs.org/article/demystifying-emacs-window-manager.
2023-01-30 19:56:43 +01:00
Daniel - 8ba3d91880
Remove explicit value for :wrap header arg in default list
It does not seem to be possible to overwrite this setting in individual src
blocks.
2023-01-25 19:42:19 +01:00
Daniel - 624aa84a79
Explicitly set default Org babel header args
It's clearer that way.  Also wrap results in a text src block by default,
instead of in a src block of the same language as the executing block.
2023-01-23 18:26:54 +01:00
Daniel - 12e3d1fcd0
Load Org babel support for sql by default 2023-01-21 18:44:44 +01:00
Daniel - b34ca3263f
Fix accidental typo in package declaration 2023-01-21 11:14:45 +01:00
Daniel - 734beb154d
Sort and clean up general programming configuration
`counsel-projectile` is gone, have not used it (directly?) or a long time.
2023-01-21 11:12:44 +01:00
Daniel - c048d4dc29
Remove some redundant use-package declaration for magit-repos
This package is automatically loaded by magit.
2023-01-21 11:10:52 +01:00
Daniel - f762ed10de
Move some package configuration to builtin section 2023-01-21 11:06:22 +01:00
Daniel - db381a428c
Reorder configuration for basic builtin packages
This should help to keep this section clean and structured.
2023-01-21 10:55:27 +01:00
Daniel - 1d50213f49
Allow external renderes for unsupported image formats 2023-01-21 10:52:42 +01:00
Daniel - a3f8a95c4b
Disable automatic pining of unknown hosts
See https://www.n16f.net/blog/investigating-a-ffap-issue-in-emacs/ for more
information.
2023-01-21 10:52:23 +01:00
Daniel - e5577f8094
Fix `org-read-date` not recognizing hh:mm parts on startup
The problem seems to be the dynamically scoped variable `org-time-was-given`,
which is used by `org-read-date` to decided whether an hh:mm part is present.
The variable `org-time-was-given` is set by `org-read-date-analyze`, but only
when it's (globally) bound, which it is not on startup (since it's only declared
via `defvar`).  Manually setting the variable to nil binds the variable and
everything seems to work nicely.
2023-01-16 19:13:26 +01:00
Daniel - c1476df9e8
Ignore done tasks in "Tasks on hold" agenda view 2023-01-16 17:09:33 +01:00
Daniel - f3354790c2
Include also non-tasks in HOLD agenda view
use case: GOALs may just be tagged with :HOLD: but do not have to have the HOLD
keyword; in this case, they should also appear in this agenda view, since they
will not be shown in the stuck agenda view anymore (among others).
2023-01-15 14:07:44 +01:00
Daniel - 41ea9114b4
Deprecate sdvc in favor of the builtin dictionary lookup
dict.org now also includes Webster's 1913 dictionary as per
Irreal (https://irreal.org/blog/?p=10824).
2023-01-14 20:41:03 +01:00
Daniel - a557e7420d
Ignore HOLD items in SOMEWHEN list 2022-12-30 10:51:55 +01:00
Daniel - b5f88be7e8
Fix return value of our around advice for `org-store-link`
Turns out `org-store-link` actually returns something and other code (e.g.,
`org-capture`) depends on this.  Fix this, and on the way also recognize the
special case where `org-store-link` does not update `org-stored-links`.
2022-12-22 11:11:37 +01:00
Daniel - 8511ebb82a
Replace personal function redefinitions with around advices
This way the original function definition is left intact and can be found via
the help buffer.

The manual overwrite of `org-ql--link-regexp` has been left as it is, as it's a
`cl-defun` definition and I am not quite sure how turn this into an ELisp around
advice without breaking things.

The manual fix for `enriched-decode-display-prop` has also been left untouched,
maybe this should be an around advice as well?
2022-12-21 09:46:58 +01:00
Daniel - 1eee33ea5d
Replace some one-time advices with define-advice
From my point of view, this makes it clearer that the functions thus defined are
not meant to be used anywhere else.

Some one-time `advice-add` calls are still there, though, mostly because the
associated functions would be too long to inline them directly into their
present locations.
2022-12-20 14:21:48 +01:00
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