2025-06-13 | TUI Challange, Day 6

This commit is contained in:
Don Harper 2025-06-13 23:52:22 -05:00
parent 1ab592116c
commit 63ba4254ef

View file

@ -0,0 +1,83 @@
---
date: "2025-06-13T04:00:00-07:00"
title: "TUI Challenge: Day 6"
tags: ["cli","tui"]
categories: ["personal","sa"]
#image: ""
series: ["tuichallenge"]
summary: "A Song For The Terminal"
---
# 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](/post/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.