Commit graph

30 commits

Author SHA1 Message Date
4b4afc68f3
task: Add taskopen action for links and note ext
Custom note extensions can be set and opened through annotating a task
with `Note.ext` instead of just the usual `Note` - the extension will
automatically be opened.

Additionally, tasks annotated with links can now have their links opened
through xdg-open with `to`.
2022-12-08 14:10:10 +01:00
cfddecba60
task: Add aliases for frequent commands
Added aliases for task adding (`ta`), logging (`tal`), annotating (`tan`);
listing next upcoming (`tn`), listing next urgent (`tun`);
showing active (`tra`) and getting a report of recently (1 week)
completed (`trw`) and, finally, `to` to invoke taskopen on the task
passed in.
2022-12-08 14:10:10 +01:00
ac9a8c69ac
task: Add taskopen alias
Added alias within taskwarrior to invoke taskopen through
(unsurprisingly) `task open`. Importantly, the difference to other
taskwarrior commands is that the number of the task to open should come
AFTER the command, not before as a filter as for all the others. Perhaps
that can be changed in the future.
2022-12-08 14:10:10 +01:00
dbcc18cc56
task: Ensure necessary files exist on start
There are some includes in taskwarrior which make the program error out
if they don't exist on start. This little hook ensures that they get
created each time a new environment is created.
2022-12-08 13:43:44 +01:00
cbb5256e27
task: Refactor personal contexts
Moved contexts to a separate, gitignored file in case they contain
private information.
2022-07-08 22:44:44 +02:00
7973b606b9
task: Change blocking/blocked task coefficients
Up to now tasks that were blocking other tasks would just get a bump in
urgency in taskwarrior. Vice versa for tasks being blocked.

However, this could still lead to situations in which a task A blocking
task B would appear in the list (sorted by urgency) BEHIND task B. If
one task is blocking another, I can not reasonably assume to be able to
complete the one blocked, right?

So this lead to more confusion that anything and now, any task that
blocks another task simply inherits its urgency, appearing directly
before the other task in the list. Should solve the problem, though they
may not be able to receive their own urgencies anymore, should that be
important.
2022-07-08 22:37:06 +02:00
300bb572b3
task: Fix taskopen note naming regression
Fixed taskopen looking for `.txt` extension notes when so far we only
used `.md` extension notes instead. This switches it back.
2022-07-08 22:28:00 +02:00
5c41b2e13c
taskwarrior: Update config for taskopen 2.0 format
Updated the formatting of the taskopen configuration file to conform to
its new display.

Updated the xdg-conforming `taskopen` alias to use long-form option
since the short-form option seems bugged at the moment.
2022-06-12 16:02:04 +02:00
3218d62822
task: Add timewarrior hook
Added hook starting and stopping timewarrior tracking whenever starting,
stopping or completing a task in taskwarrior.
Really nice script, robust as well for starting multiple tasks and
start/stopping intermittently.
2022-03-10 22:46:45 +01:00
f539c44594
dunst,task,zathura: Fix styler uncommitted changes
Prepared dunst config for using the newly introduced (v1.8.0) drop-in
configuration files. This allows spreading out dunst configuration over
arbitrary files in the `dunstrc.d/` folder in the usual configuration
folder. Will be perfect for less intrusive `styler` changes.

Added icons to be displayed on dunst notifications if there are any.

Also prepared zathura configuration in a similar way, with the
configuration file containing an include directive for a colorscheme
file.

Lastly, moved taskwarrior theme options into their own file and included
them with an include directive.
Here, the file itself needs to be committed as well since taskwarrior
will complain about missing file being included otherwise. However, we
simply ignore the file in git after force-including it and no changes
will be tracked.

This means that from now on, styler theme changes should not show up as
uncommitted changes in the repository anymore for currently active
programs.

Fixes #6.
2022-03-10 22:43:37 +01:00
26f4cc6062
taskwarrior: Change next tags, fix today report 2022-02-13 20:11:01 +01:00
6908c19457
taskwarrior: Add overdue emoji script
Added simple script `task-overdue-prompt` which checks for overdue tasks
(*not* tasks to be done 'today') and display a skull if there are any.

Intended for prompt use, it is currently still too slow to be used as
such. But there may still be uses other than that so it is included for now.
2021-11-23 16:13:54 +01:00
7a7ce3a296
taskwarrior: Add tim alias for timewarrior
`tim` is intended as a quick support alias for timewarrior.

If invoked without any arguments, `tim` will print out a simple summary
of all tasks accomplished (for the day by default). It will also print
their ids for simple subsequent modification tasks.

If, however, invoked with additional arguments, `tim` will pass anything
along to timewarrior so anything happens as usual if invoked like this.

Thus, `tim` functions as a quick look into the day's timesheet or a
shorter alternative to the `timew` command.
2021-11-23 15:59:45 +01:00
6d1934fccd
taskwarrior: Make timewarrior more XDG compliant
Timewarrior now looks for its data directory in `XDG_CONFIG_HOME`
instead of the home directory. This is a little better than nothing, but
does not separate the configuration and data files from each other yet.

Data *should* be lying in `XDG_DATA_HOME` but the data directory can not
be separated since it relies on a single env var `TIMEWARRIORDB`.
2021-11-23 09:52:41 +01:00
5ac9ca02f0
taskwarrior: Remove nagscreen and auto-sync
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.
2021-11-16 12:15:55 +01:00
aa472ac358
taskwarrior: Move sync settings out of repo
Updated and moved new sync settings to not be part of dotfiles
repository.
Added holidays to calendar view.
2021-10-10 10:04:59 +02:00
86dc69c31f
taskwarrior: Adapt tw config file for 2.6 update
Modified some options per the taskwarrior recommendations, switched from
custom XDG compliance to default implementation newly added to program.
2021-10-07 11:17:18 +02:00
f08c8ebefd
taskwarrior: Fix taskopen note directory location
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`.
2021-08-24 23:09:11 +02:00
14896e6292
taskwarrior: Make auto-sync script silent
Now silently syncs in the background instead of blocking input. *May*
produce zombie processes in rare circumstances? Will need to investigate
it some more.

Behind the scenes, the shell script has been replaced by a python script
which creates a (disowned) background process which attempts the
syncing.
2021-07-10 18:04:14 +02:00
c578a1bebc
taskwarrior: Add auto-syncing script
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.
2021-07-09 22:23:08 +02:00
dd71bd5002
taskwarrior: Added completed today report
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.
2021-04-18 12:57:04 +02:00
feb13b3734
taskwarrior: Remove default context
No context should be set on cloning this repo, instead contexts are
entered and exited as wished by the user.
2021-04-04 21:00:40 +02:00
e2b82b56f9
taskwarrior: Add contexts, Fix completions
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.
2021-03-27 22:15:45 +01:00
89c0ea8d00
taskwarrior: Add tasksh review data to entries
Added `reviewed` label to entries as uda, and the new auto-generated
report of reviewed files to enable GTD weekly reviews.
2021-03-20 09:03:48 +01:00
b8388bf8fd
taskwarrior: Final small configuration fixes
Gave a description to the created report,
Made (GTD) maybe items way less important,
and changed colors slightly.
2021-03-05 13:57:26 +01:00
79735f9bae
taskwarrior: Add taskserver sync target
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.
2021-02-19 16:54:40 +01:00
ff6965ef91
taskwarrior: Add today report, fix overdue report
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.
2021-02-19 16:54:39 +01:00
489e49fe5e
taskwarrior: Add conditional tasksh invocation
To use taskwarrior, an alias to `t` has been created. If you invoke any
taskwarrior command through `t`, it will behave just as taskwarrior
would (just with a shorter name).
If you invoke `t` without any additional arguments, it will instead open
up the tasksh program and let you play around in there.
2021-02-19 16:54:39 +01:00
ed881273b8
taskwarrior: Move xdg env variable to module 2021-02-19 16:54:39 +01:00
0efb28c473
taskwarrior: Add basic taskrc file 2021-02-19 16:54:39 +01:00