Commit Graph

1639 Commits

Author SHA1 Message Date
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 - f3186b45f7
Allow limiting number of parent ascents when listing backlinks
Sometimes only the backlinks to the items itself might be interesting, or
backlinks to the current item and its direct parent.  To allow for easy
insertion of dynamic backlink blocks in those cases as well, include a
:parent-depth parameter.  The default value of nil means no limit is imposed, as
has been the case until now.
2022-06-20 18:01:11 +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 - 1ac4e44f86
Silence some flycheck warnings 2022-06-13 21:06:44 +02:00
Daniel - 731039e84f
Add missing semicolon
Consistency above all!
2022-06-13 21:06:30 +02:00
Daniel - cff8720a44
Exclude NOTE entries in main org file as refile targets
The idea is that those entries represent project notes which should not get
tasks refiled as sub-items (sub-headings to structure these notes are fine,
though, and must be added directly).  To connect tasks with project notes, use
links and backlinks instead.

This helps to prevent accidental refiling of tasks under notes and loosing them
there.  A drawback is that `C-u org-refile` won't list notes as visiting targets
anymore; for this, use imenu instead.
2022-06-11 21:17:57 +02:00
Daniel - 7e2860a9d9
Try to increase readability of db/org-backlinks implementation
Mostly making use of pcase-*, but I am not quite sure whether the `(,foo . ,bar)
syntax really helps …

Also adjusted some comments and some formatting.
2022-06-11 09:25:25 +02:00
Daniel - b03a8f9517
Visually separate different groups of priorities in backlinks dblock
Use an hline for this, should increase readability.
2022-06-11 09:10:17 +02:00
Daniel - 10e01d4b3b
Transpose output of backlink dynamic block to emphasize backlinks
We are interested in the backlinks so we now put them first.  The backlink
targets (i.e., current item or any of its parents) are now grouped after the
priority of the item containing the backlink.
2022-06-10 18:46:22 +02:00
Daniel - b84eb291e3
Use org-ql regexp search to find backlins
This is because org-ql link queries seem to be broken when target links contain
brackets in their description.
2022-06-09 21:27:35 +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 - 16afbd038f
Do not show links in Org mode with bold face
It took me surprisingly long to realize that the bold face is harder to read
than with normal weight.
2022-06-09 18:56:13 +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 - 8d148c417a
Remove emacs-notes.org
Moved them to my zettelkasten after all.
2022-05-22 20:48:51 +02:00
Daniel - b0d208c2e5
Clean up my random Emacs notes
Not using it much currently, but I think it's good to keep those here.
2022-05-22 20:42:53 +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 - de314f6ac2
Refactor org link formatting functions to avoid duplicate code 2022-05-20 19:34:56 +02:00
Daniel - 2c01e1e09c
Do not format links directly in backlink dynamic block
They will show as links in links and will thus be mostly incomprehensible.
2022-05-20 19:22:57 +02:00
Daniel - c572451c14
Do not output headlines without backlinks in dynamic blocks 2022-05-20 19:09:39 +02:00
Daniel - 99dbd00e71
Exclude HOLD items from WIP list 2022-05-16 21:15:03 +02:00
Daniel - 3dcbf3e800
Add deprecation marker to custom project package 2022-05-15 17:50:15 +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 - a36671dc61
Fix minor indentation glitch 2022-05-08 17:04:45 +02:00
Daniel - 9184756c07
Refactor function to return backlinks to item at point
Extract function to return actual list of backlinks, to later use it for
extracting backlinks of item at point and all its parents.
2022-05-05 22:08:02 +02:00