Commit Graph

2328 Commits

Author SHA1 Message Date
823139669e
Shorten scheduled and deadline leaders in Org agenda for space 2025-01-12 15:26:32 +01:00
1e6e15669e
Remove some obsolete configuration
And clean up a bit.
2025-01-04 17:58:59 +01:00
f98b0e461f
Change default Org source block results handling back to output
This is what I usually use, so let's stick to it.
2025-01-04 15:40:55 +01:00
635054aa4a
Replace company by corfu
I haven't really used `company` in the recent past, so removing this
package does not hurt much.  Maybe `corfu` will be more practical for
me, as it also only relies on builtin in-buffer completion and does not
require additional magic.  However, I usually do not use popup
completion dialogs much, because I find them obstructive.
2025-01-03 17:28:46 +01:00
beceb909fc
Clean up SLIME configuration
SLIME somehow interfered with exporting Org lisp source blocks, leading
to some cleanup.
2024-12-31 15:41:36 +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
70e85b9419
Show value output of Org source blocks by default
This is a sensible default for ELisp blocks, so let's use that.  Already
existing blocks that depend on the old default need to be updated, though.
2024-12-30 13:34:46 +01:00
f4ff678cd1
Diminish auto-revert-mode in mode-line 2024-12-30 10:57:24 +01:00
e89baa204e
Clean up Lisp programming configuration
`eldoc` is part of general programming configuration.
2024-12-30 10:57:09 +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
d2ae0e1bf5
Show minor modes in mode-line again
Seeing active minor modes directly might be informative.  Try to reduce
the list of shown minor modes to only interesting ones using the (still
existing) diminish configuration.  Remove now obsolete configuration of
the minions package.
2024-12-30 10:34:16 +01:00
9f52c576b2
Move tab-bar history activation to main init function
This is where such global mode activations belong.
2024-12-25 16:01:06 +01:00
7deb6204be
Ensure this configuration is run using Emacs 29 or later
This allows to remove some old code.
2024-12-25 15:50:40 +01:00
353ce2960b
Provide autoload for lsp-mode
This allows activation before `lsp-mode` is loaded.
2024-12-25 13:21:28 +01:00
facd9ccc52
Remove misplaced plist deserialization for lsp-mode
Using plists for deserialization has to be enabled already while
compiling `lsp-mode`, so it was set too late and resulted in errors; see
[1].  Since I do not need plist deserialization, we can also make things
simple and just keep it disabled.

[1]: https://emacs-lsp.github.io/lsp-mode/page/performance/#use-plists-for-deserialization
2024-12-25 13:18:26 +01:00
ccb1e02cda
Do not automatically use company-mode for completion
`globel-company-mode` has not been used since quite some time, and
completion in the individual programming modes should be handeled by
LSP.  Disabling `company-mode` also allows to use standard completion
features, which is nice.
2024-12-25 11:46:21 +01:00
9e898e2100
Do not require lsp-mode to be installed anymore
eglot should do the trick for most of my needs, so no need to
force-install lsp-mode.
2024-12-21 20:53:52 +01:00
f646a2f98a
Default to eglot for Python programming
This is to ease the configuration, as eglot is built in.  lsp-mode might
provide a better programming experience, but I do not do much Python
programming nowadays.
2024-12-21 20:51:25 +01:00
2837712f5c
Completely redo agenda buffers when jumping to today
This allows stale buffers from previous days to be updated in one go.
2024-12-20 11:56:31 +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
fd3b43bee0
Make markdown comment face more readable by removing strike-through
Use italics instead, this is good enough for me.
2024-11-30 17:37:17 +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
ff868b57b4
Do not use short answers for confirmations
Just learned about `use-short-answers` (from a comment [here][]).
However, when long answers are expected for confirmation, it's often an
indication that the question at hand might be serious enough to take the
time to type these out (as recommended by the docstring of
`use-short-answers`).

[here]: http://irreal.org/blog/?p=12595
2024-11-24 12:01:13 +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
43fa4097df
Check availability of major-mode-remap-alist before setting it
This is to restore some Emacs 28 backwards compatibility.
2024-11-13 17:04:52 +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
fe5d236b77
Ensure that Org QL is installed
This is needed by my Org mode configuration.
2024-11-01 21:31:15 +01:00
4120de7619
Do not explicitly install git-commit.el any longer
It now comes directly with magit.
2024-11-01 21:11:53 +01:00
99a938cad3
Let Git ignore persistent variables
The values persisted here seem to be irrelevant across Emacs
installations, so there is no need to track those.  It also does not
seem to officially customize the location that persist.el uses for
persisting variables: the variable that stores the directory path is
called `persist--directory-location`, indicating a private variable.
2024-11-01 18:19:12 +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
441db75ae2
Do not evaluate Org source blocks with text modes by default
Nothing to evaluate here either.
2024-10-12 20:40:22 +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
2713fe1fd0
Disable Org source block evaluation for some text modes
Let's avoid the “No org-babel-execute function for foo!” errors for
those modes!
2024-10-11 20:00:34 +02:00
212c3664ff
Enhance table.el editing in markdown-mode
Pandoc supports grid tables, which are supported in Emacs via `table.el`.
By default, the alignment markers for those tables (:) are not
recognized in table.el, so let's add those.  Furthermore, editing grid
tables in `markdown-mode` does not work, since `jit-lock-mode`
overwrites the `keymap` text property that `table.el` relies on to
enable table editing.  Using `edit-indirect` to edit those tables in an
indirect buffer where everything works nicely.  Indeed, editing
`table.el` tables in Org also uses an indirect buffer, for the exact
same reason.
2024-10-09 20:37: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