A task-timer that reads tasks from a text file, tracks them with Taskwarrior + Timewarrior, and notifies you with desktop popups and sounds at each task transition.
- Reads tasks from a plain text file — no manual taskwarrior commands needed
- Live terminal dashboard — shows current task, elapsed/remaining time, and upcoming queue
- Desktop notifications — combined popup at each transition shows what finished and what's next
- Sound alerts — Star Trek computer alarm plays when a task completes
- Keyboard controls —
pto pause/resume,qto quit - Auto-advance — tasks run one after the other automatically
- Time tracking — time is logged in Timewarrior
Tested on Ubuntu 25.10 (GNOME Shell 49).
sudo apt install taskwarrior timewarrior libnotify-bin pulseaudio-utils zenity python3-pip jq
pip install richConfigure Taskwarrior's estimate field (if not already set):
task config uda.estimate.type duration
task config uda.estimate.label estimategit clone https://github.com/jkpierce/dayflow.git ~/dayflow
cd ~/dayflowEdit tasks.txt:
# Dayflow Task List
# Format: estimate | task description
30min | Write documentation
1h | Review pull requests
15min | Check email
Supported estimates: 30min, 1h, 1h30min, 15min, 30sec, 10s, etc.
cd ~/dayflow
./start.sh- A "Starting Dayflow" popup shows the first task
- Each task runs through its countdown on the live dashboard
- At each transition: a combined notification pops up (with sound) showing what finished and what's next
- After the last task: a quiet "Sequence Complete" popup appears
| Key | Action |
|---|---|
p |
Pause / resume the timer |
q |
Abort the entire sequence |
- Tasks are marked completed as you finish them
- Tracked time is saved in Timewarrior (
timew summaryto view) - No stale tasks left behind after a run
Replace sounds/alarm.oga with any .oga file to change the alert sound.