--- 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.