Moved all theme options into extra file that is included by main
configuration file.
This file is added to the repo but ignored, so any changes to it will
not be tracked by git. That allows me to change colorscheme at any point
without creating an 'uncommitted change' for something I really don't
want to commit.
Removed nagscreen informing of 2.6.0 news that would periodically tell
you about 'new' things in taskwarrior by telling it i already saw it.
Removed perviously added auto-sync function. Two reasons:
The individual additions/modifications in taskwarrior take longer if
they need to be communicated to a server at the end of every change.
And undo does not work at all if we are already syncing to a server
after every change.
That means wrong changes are also synced and become really hard to
remove again.
So, it seems easier to, for now, sync manually after some commands and
before leaving one workstation for another. Another method of auto-sync
could be implemented but I have not found an elegant way.
Fixed error in configuration file location for taskopen alias which put
the config file instead of the notes directory.
Now configuration file correctly resides in
$XDG_CONFIG_HOME/task/taskopenrc and notes dir is
$XDG_DATA_HOME/task/notes.
Notes can now correctly be created by doing `task <id> annotate Note`.
Let taskwarrior automatically sync any changed tasks whenever a process
is completed.
Will sync 'asynchronously' (start the job as a terminal background
process) and show the sync message after it is done.
Added a report to look at the tasks I completed over the past day,
invoked by `today.completed`. The name was chosen to interact well with
my `today` overview report which shows the remaining tasks.
Also defaulted to the built-in solarized dark theme since it seems to
work best with a variety of color schemes -- and since I switch
frequently using styler, it makes sense to default to this one.
Fixed the completions for the `t` alias that takes over task
functionality on the shell. Only works on zsh, and presumably not on
every system since it relies on some ps trickery to find out the
currently running shell. Maybe there's a better version out there
somewhere...
Added basic distinction into work/personal contexts, since, with my
current job having a complex enough task list I want that either not
cluttering up my enjoyable tasks, or *only* that cluttering up all my
tasks.
Added freecinc target for syncing tasks over the web.
Using freecinc is easy and relatively painless, which is why, for now,
this is the syncing server I have chosen.
Once the taskwarrior workflow in this setup matures and stabilizes a bit
the syncing target should undoubtedly move to a self-hosted instance of
taskserver, ideally encrypted.
Until then, the tasks currently available will exist *unencrypted* on
the freecinc server.
Simple today report added, mimicking the overall next report list (i.e.
sorted by urgency), but only focusing on things due today. This reflects
my setup in Todoist a bit better, and should perhaps provide a bit of a
crutch until I get more used to the taskwarrior way of doing things.
Additionally, added a simple fix for the annoying tendency of
taskwarrior to add today's tasks to its overdue list.
This happens because tasks added without a specific time will be added
as due at the very *first* minute of a day (instead of e.g. at the very
last, every task needs an exact time).
This simply removes tasks due today from overdue reports.
This is not perfect! Two things remain: Tasks still carry the virtual
`+OVERDUE` tag around with them, and those tags that actually should be
done at a certain time during the day will also not be shown in the
overdue report - though they definitely are overdue then.
A possible workaround for the second issue is the taskwarrior hook here:
https://gitlab.com/marty-oehme/dotfiles/-/snippets/2054237
But, I am happy enough with the setup as-is for now, without
complicating it with the hook.