83 lines
3.7 KiB
Markdown
83 lines
3.7 KiB
Markdown
---
|
|
date: "2025-06-13T04:00:00-07:00"
|
|
title: "TUI Challenge: Day 6"
|
|
tags: ["cli","tui"]
|
|
categories: ["personal","sa"]
|
|
#image: ""
|
|
series: ["tuichallenge"]
|
|
summary: "Every Task In Its Place"
|
|
---
|
|
|
|
# Day 6: Task Management
|
|
Another fairly easy day for me as I already mainly use TUI and CLI for task and calendar management.
|
|
|
|
## Task management
|
|
|
|
```
|
|
Monthly Burndown
|
|
250 |
|
|
|
|
|
| .
|
|
| . .
|
|
| . . . . . .
|
|
| . . . . . . . . . . . . . Done
|
|
| . . . . . . . . . . . . + Started
|
|
125 | . . . . . . . . . . . . X Pending
|
|
| . . . . . . . . . . X . . . .
|
|
| . . . . . X X X . . X . . . . . . . .
|
|
| X X X X X X X X X X X . X X X X X . . . .
|
|
| X X X X X X X X X X X X X X X X X . X X X
|
|
| X X X X X X X X X X X X X X X X X X X X X
|
|
| X X X X X X X X X X X X X X X X X X X X X
|
|
| X X X X X X X X X X X X X X X X X X X X X
|
|
0 +---------------------------------------------------------------
|
|
10 11 12 01 02 03 04 05 06 07 08 09 10 11 12 01 02 03 04 05 06
|
|
2023 2024 2025
|
|
|
|
Net Fix Rate: 1.8/d
|
|
Estimated completion: 2025-08-03 (7w)
|
|
```
|
|
|
|
I have been using [taskwarrior](https://taskwarrior.org) for years now. It is a simple command line tool for
|
|
maintaining your task list. It stores its data in simple text files so backing it up is easy. I use a simple TUI
|
|
called [vit](https://github.com/vit-project/vit) for viewing and interacting with my tasks.
|
|
|
|
I use taskwarrior for a mix of things I have to do for the family and work, and as a reminder system for websites,
|
|
projects, and/or media I want to visit but I do not have time for. I even wrote a script to convert emails from neomutt
|
|
or news articles from [newsboat](https://newsboat.org), a TUI RSS reader, to tasks:
|
|
|
|
```
|
|
#!/usr/bin/env bash
|
|
set -o nounset # Treat unset variables as an error
|
|
|
|
tmpfile=$(mktemp)
|
|
cat /dev/stdin > "${tmpfile}"
|
|
|
|
subj=$(grep -E ^'(Subject|Title)': "${tmpfile}" | sed -e 's/^Subject: //' -e 's/^Title: //')
|
|
|
|
id=$(task add pri:H due:2d +email "${subj}" | grep ^Created | sed 's/^Created task \(.*\)./\1/')
|
|
cat "${tmpfile}" | onenote "${id}" -
|
|
echo "${id}"
|
|
rm -f "${tmpfile}"
|
|
```
|
|
|
|
I also have a daily report sent to me in email with my current top tasks, any due today or overdue, as well as my
|
|
schedule over the next three days.
|
|
|
|
To keep all my tasks together, I use [taskd](https://gothenburgbitfactory.org/taskd/) which I run in a
|
|
[container](https://github.com/ogarcia/docker-taskd)..
|
|
|
|
## Calendar
|
|
For managing my calendar, I use [khal](https://github.com/pimutils/khal/) for my text based calendar. For the above
|
|
mentioned reporting, I use `khal` to list my events. When I need a TUI, I use `ikhal` which is part of the khal
|
|
package. This is a nice TUI with vim keys for navigation and gives me a great overview of my events.
|
|
|
|
I sync this using [vdirsyncer](https://github.com/pimutils/vdirsyncer) to sync my calendars (and address book) with my
|
|
[NextCloud](https://nextcloud.com) server. I use a custom vdirsyncer profile to sync NextCloud with Google for the
|
|
shared family calendars.
|
|
|
|
## Daily totals
|
|
After [yesterday](/posts/2025/06/tui-challenge-day-5/) I have accrued 120 points. How does today help that score? Well,
|
|
completion of task management and calendars nets 20 points, with 5 bonus points for syncing and 10 bonus points for
|
|
scripting reports using these tools, for a total of 35 points today, and a running total of 155 points.
|
|
|