Commit Graph

1004 Commits

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