Commit Graph

1779 Commits

Author SHA1 Message Date
Daniel - 91be906e72
Add Eshell alias for viewing files like with less
See https://howardism.org/Technical/Emacs/eshell-why.html.
2023-01-21 10:49:56 +01:00
Daniel - 95920f8291
Extend default scope for `db/org-get-location` when in agenda files
When inside a file that is part of `org-agenda-file`, the default scope to
search for locations via `db/org-get-location` (used for example when
interactively inserting links) is extended to include all agenda files, and not
only the current buffer.  The idea behind this is to consider all agenda files
as one large data collection, and not only individual files.  This inhibits the
usual error, when trying to insert links at items located in refile.org, that
links are only displayed for items in refile.org itself – which are usually not
many – when instead links to items in the default org files where actually
requested.

This should not be an issue for performance, as searching through all agenda
files for valid locations is fast even on Windows.
2023-01-20 18:39:00 +01:00
Daniel - d9b0543409
Remove obsolete warning in workload overview report docstring 2023-01-16 19:21:49 +01:00
Daniel - d373976965
Fix off-by-one error in workload overview report end-date handling
Pushed one to much, so just removed it afterwards.
2023-01-16 19:20:44 +01:00
Daniel - 558bb0b1cc
Make timestamp format in workload overview report consistent
Brackets for both timestamps.
2023-01-16 19:16:04 +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 - bb7da2e08e
Change timestamp format in workload overview report to internal time
`org-read-date` seems to have bug that it does not consider the hh:mm part of an
input string sometimes.  Trying to work around this by using internal times
whenever possible, but it's not complete yet.
2023-01-16 19:09:04 +01:00
Daniel - 4e5cad2842
Fix off-by-one error in workload overview report
Found that the report will only produce reasonable output when always working on
00:00.  Left a note in the docstring to warn about this, should be fixed later on.
2023-01-16 17:26:32 +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 - d699fc8450
Add property to exclude individual Org items as checklist backlinks
Use case: do not add a workload report (which usually contains links to all
current tasks) when inserting checklist backlinks; they do not carry any
information and are thus not relevant.
2023-01-13 22:31:41 +01:00
Daniel - fc4d6b7767
Fix some identation
but not all, in particular not the one of the `cl-flet` call; see
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=9622 for this.
2023-01-12 16:46:26 +01:00
Daniel - f534833520
Add caption with time for workload reports
Those reports are only relevant when known when they have been generated.

This is similar to the caption added to dynamic clocktable blocks.
2023-01-12 16:33:07 +01:00
Daniel - 2423dcf6cd
Fix start date in workload overview report to midnight
This is the expected behavior: when no start date is given, it should default to
today (the whole day), and not exactly now, so that day increments do not start
in the mid of the day, yielding misleading results.
2023-01-11 21:17:02 +01:00
Daniel - 28b2047ad6
Fix stacking of summed effort estimations upon agenda refresh
When refreshing the Org agenda without completing redrawing it (i.e, by calling
`org-agenda-filter-by-tag`), effort estimates where added for every refreshing,
causing them to stack up.  We now check whether a summed effort estimate is
already present and remove it before adding it again.

(Maybe one could also just skip the effort recalculation if the a summed effort
estimate is already present, but I am not sure whether this will cause display
inconsistencies when new events are added or old ones are deleted.)
2023-01-11 20:44:19 +01:00
Daniel - 6ed088d2da
Fix missing summation of time blocks in agenda 2023-01-11 20:22:29 +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 - 7c9f795a38
Add function to jump to template associated with the item at point 2022-12-15 14:16:52 +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 - 4ae19d41cf
Remove copyright date line and upate date in LICENSE file
That's enough I hope.
2022-11-19 16:17:50 +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 - 69f3f80a6e
Allow empty template when inserting checklists to Org item
In some cases, the backlinks may be sufficient as checklist.
2022-11-12 16:56:29 +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 - bba3adef3d
No not print empty backlink table when inserting checklist
In case there are not backlinks, replace the empty backlink table with a simple
"none".  I think that's cleaner :)
2022-11-12 15:46:49 +01:00
Daniel - d8c8e2b272
Do not backlinks in checklists when scheduled in the future
Items scheduled in the future are generally ignored, so let's do this in
checklists as well.
2022-11-12 11:50:53 +01:00
Daniel - 6f32e362a9
Update dash 2022-11-06 19:47:37 +01:00
Daniel - 150b17c22b
Look up parent depth for backlinks in checklist via item property 2022-10-30 12:04:13 +01:00
Daniel - c9dcc7778e
Use Org builtin function to format links in strings 2022-10-29 10:17:28 +02: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 - e8fae32071
Match namespace prefix for project utilities with package name 2022-10-16 21:10:45 +02:00
Daniel - 4b4f187869
Update package comment for db-projects.el 2022-10-16 21:01:59 +02:00