From 63ba4254ef2a5d21a32e3d1b4ee9dde61bafbdd1 Mon Sep 17 00:00:00 2001 From: Don Harper Date: Fri, 13 Jun 2025 23:52:22 -0500 Subject: [PATCH] 2025-06-13 | TUI Challange, Day 6 --- content/post/2025/06/tui-challenge:-day-6.md | 83 ++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 content/post/2025/06/tui-challenge:-day-6.md diff --git a/content/post/2025/06/tui-challenge:-day-6.md b/content/post/2025/06/tui-challenge:-day-6.md new file mode 100644 index 00000000..ded6497e --- /dev/null +++ b/content/post/2025/06/tui-challenge:-day-6.md @@ -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. +