Commit Graph

912 Commits

Author SHA1 Message Date
61b3964224
Use project.el to pop up shell buffers from shortcuts
The default binding for my shortcuts might be easier to use … ?
2025-05-28 15:54:17 +02:00
d80b71fb72
Revert usage of consult-org-agenda
This reverts commit 96ac10216e.

Not yet it, but close.
2025-05-22 20:39:46 +02:00
96ac10216e
Try out consult-org-agenda for jumping directly to Org headings
Looks good and includes tags!
2025-05-15 18:16:11 +02:00
53313ab3dc
Guard direct headline editing also at beginning of line
Had missed that case up to now.
2025-05-08 20:04:00 +02:00
b4b0bab9c2
Fix quantifier in Org headline insert inhibitor hook
Make sure at least one asteriks is present to not accidentally prevent input on other lines.
2025-04-23 20:42:17 +02:00
837b7fc106
Ignore direct input when at the start of an Org headline
This is to guard headlines to become invalid due to my erratic (mis)typing behavior.
2025-04-19 17:05:26 +02: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
47c7e664e5
Remove obsolete extra-symbol customization for TeX input method 2025-03-08 18:26:37 +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
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
76815c0171
Use more generic location slot for storing URLs in bookmarks
This might allow easier relocation of such bookmarks later on.
2025-03-02 17:38:42 +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
3dbc9604d4
Mark bookmarks to EWW 2025-02-25 17:26:16 +01:00
fc58eb56f4
Resolve link generation conflict in bookmarked files
When a file has a bookmark, generating a link in that file (e.g. to the
line at point) results in a query from Org which link generating
function to use.  This is annoying and interferes with the usual flow.
To remedy this, we simply try not to be too smart and just generate
links to bookmarks when in the bookmark menu.
2025-02-25 17:24:19 +01:00
396ec4fca5
Ignore inaccessible directories when searching for changed git repos 2025-02-23 09:59:15 +01:00
be280ba373
Ensure bookmarks are loaded when opening via Org link 2025-02-23 09:38:48 +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
35cc0080d5
Set bookmark type for URLs
Just for display, nothing else should change with this (yet).
2025-02-22 20:54:31 +01:00
e32a67d666
Fix performance issue with file comparison on Windows
`file-equal-p` makes creating links too slow with bookmark links
enabled (which is the case by default).
2025-02-22 20:54:26 +01:00
4ddb17f204
Allow to run git-repo-change-checker command under old script name
Old habits die hard …
2025-02-22 10:24:24 +01:00
31e448d838
Add Org links to bookmarks
This is to remove redundant references in both bookmarks and links in
Org files.

The code is based on the original implementation of `ol-bookmark.el` by
Tokuya Kameshima, as found in [org-contrib][1].

[1]: bd39cca48b/lisp/ol-bookmark.el
2025-02-21 17:39:14 +01:00
003121ba0c
Add simple function to list changed git repositories
This is akin (in purpose) to `magit-list-repositories`, but also
descends into submodules.  It's not as nice as
`magit-list-repositories`, though … more of a draft version right now.

This replaces a shell script with similar purpose.
2025-02-16 17:51:00 +01:00
3a6d2005cb
Fix some flycheck warnings 2025-01-17 19:37:27 +01:00
6e31e4a707
Clean up draft of Org list item conversion function
The template is still fixed, should it be customizable?
2025-01-17 18:10:20 +01:00
2960652d66
Draft function to convert Org items to headlines
This usually happens when I try to convert loose entrie in my refile
file into proper headlines.

Usage of Org capture functionality is inspired by Sacha Chua [1].

[1]: https://sachachua.com/blog/2020/12/org-mode-create-a-quick-timestamped-note-and-capture-a-screenshot-by-prefilling-a-capture-template-via-emacs-lisp/
2025-01-17 17:54:06 +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
ffe7eaf727
Minor identation fix
Done automatically, not fighting it.
2024-12-30 10:39:46 +01:00
ae5657fcc9
Add small utility to zoom into dedicated window
Taken from prot, see comment.
2024-12-30 10:39:29 +01:00
60463a01e3
Do not print “Template” in checklist when no other items exist
I tend to remove “Template” anyway when it's the only block inserted as
checklist, so let's do this automatically.

This commit also includes a minor refactoring of moving around variable
declarations to be closer to the code that actually uses them.
2024-12-20 10:54:20 +01:00
3a397139f2
Do not clock into interrupted task when it's the default task
Clocking into the default task should only happend as last resort.
2024-12-14 10:32:02 +01:00
661c5f9b22
Add small utility to quickly update complex Org reports 2024-12-14 09:39:22 +01:00
bac4fb389a
Fix handling of last day in workload overview report
Previously, the last day added had been removed on the assumption that
it was the frist day after `end-date` (after which the while loop
aborts).  However, when this last day is filtered because of
`:skip-matches`, this would result in accidentally removing a valid day
from the overview time period.  This has been fixed by checking for this
very case, and keeping the last day added in case it is still within the
requested time period.
2024-12-04 16:23:05 +01:00
311d6e81b6
Explicitly set visibility when jumping to current clock in Org mode
This is another try to reduce the number of Org items that are unfolded
when jumping to the current clock.  This is particularly important with
periodic items with many subtasks, because unfolding all siblings might
be irritating (at least to me).
2024-11-30 15:26:07 +01:00
8521d627b4
Add convenience function to retrieve auth-source entries
Again inspired by https://magnus.therning.org/2024-09-01-improving-how-i-handle-secrets-in-my-work-notes.html.
2024-11-16 17:17:19 +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
3d38510284
Readd duplicate call to org-fold-reveal
This reverts 05bb198.

Turns out this call is not that redundant after all.  Revealing should
be done after jumping to the next checkbox of the current item.
However, revealing the item at point only then leads to funny
flickering, so let's keep the old implementation for now and reveal
stuff twice.
2024-11-16 09:33:42 +01:00
05bb198e08
Remove duplicate call to org-reveal 2024-11-12 16:31:45 +01:00
aabcfcad06
Make actual timeline appear first in main display
When I copy over the timeline into the actual time sheet application, I
like to focus on the first line of the remaining report, moving it to
the top of the window.  Having the clocktime summary on top this hard,
because after redrawing, the summary will be on top and not the actual
timeline.  Changing the positions may help here.
2024-11-08 21:15:23 +01:00
c6e359546d
Do not show complete item when jumping to it
This should avoid “visibility jumps” when jumping to a currently clocked
in item that is already revealed.
2024-11-01 18:13:03 +01:00
8a3bba0afe
Sort category overview in timeline tools by total amount
Nice to read, I think.
2024-10-25 19:16:25 +02:00
2c0f2f2ab5
Include overview of booked categories in timeline tools report
This is to easy booking entries that should be distributed among other
topics done in the same time range.
2024-10-25 19:10:41 +02:00
cffe713fa9
Include day of week in daily timeline tool report
This way, it's easier to see at glance what day the current report is
for.
2024-10-25 18:55:38 +02:00
986ae68730
Fix some checkdoc warnings in customization settings 2024-10-20 19:12:02 +02: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
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
a67e64a906
Include computation of already spent work time in overview report
This change is an experimental, as quite a bit of code had to be
touched.  Further testing and bug hunting will be necessary.

Workload overview reports now only allow increments of one day
(`+1d`), since the current implementation cannot accomodate for arbitray
time ranges anymore (my fault, sorry).  Also, the default start time for
workload overview reports has been changed to 23:59 on the previous
day (`"-1d 23:59"`) to include the current day in the report.  The
rational behind this is that since the remaining work hours of today are
now included in the computation for the report, showing the entry for
today will show an accurate estimation of the remaining work time in
contrast to a constant value.

There are now additional parameters named `:work-hours` and
`:work-items-match` that specify how much work time is available on a
day and which Org items are considered work, respectively.
`:work-hours` can also take a function to compute for a given date how
much time can be spent on work.  An example could be something like
this:

```emacs-lisp
(defun db/get-worktime-for-date (date)
  "Return planned working time for DATE."
  ;; This is a simplification, as `date' might be the start of the day or the end.
  (cond
   ((string-match-p "Sa" date) "6:00")
   ((string-match-p "So\\|Sun" date) "4:00")
   ((string-match-p "Wed\\|Mi" date) "3:00")
   (t "2:00")))
```

An example report is then the following:

```
|               End Time | Planned Work | Work Hours | Utilization |
|                    <r> |          <r> |        <r> |         <r> |
|------------------------+--------------+------------+-------------|
| [2024-10-06 Sun 23:59] |         1:00 |       1:00 |   *100.00%* |
| [2024-10-07 Mon 23:59] |         4:15 |       3:00 |   *141.67%* |
| [2024-10-08 Tue 23:59] |         7:00 |       5:00 |   *140.00%* |
| [2024-10-09 Wed 23:59] |         9:15 |       8:00 |   *115.62%* |
| [2024-10-10 Thu 23:59] |        12:30 |      10:00 |   *125.00%* |
| [2024-10-11 Fri 23:59] |        13:15 |      12:00 |   *110.42%* |
| [2024-10-12 Sat 23:59] |        19:30 |      18:00 |   *108.33%* |
| [2024-10-13 Sun 23:59] |      1d 1:30 |      22:00 |   *115.91%* |
| [2024-10-14 Mon 23:59] |      1d 1:45 |    1d 0:00 |   *107.29%* |
| [2024-10-15 Tue 23:59] |      1d 2:30 |    1d 2:00 |   *101.92%* |
|------------------------+--------------+------------+-------------|
```
2024-10-06 15:31:04 +02:00
344dde2821
Fix divison by zero in workload overview report
When today's work hours are used up, show some sensible value instead of “-nan%”.
2024-10-06 11:48:48 +02:00
fa6bd0e713
Introduce first draft to compute time spent on work today
This is supposed to be used later on in workload overview reports, to
make the display of the current day account for already spent time.
2024-10-05 14:26:07 +02:00
9e3fe2a3b0
Allow to specify available work hours using custom functions
This allows to specify variable work hours depending on the
corresponding date.
2024-10-03 18:01:02 +02:00