Using i3status to show Current Task
Created on 2020-11-28T00:39:08-06:00
~/.config/i3status/config
general {
output_format = "i3bar"
colors = true
interval = 5
}
order += "read_file task"
order += "memory"
order += "tztime local"
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}
memory {
format = "%used"
threshold_degraded = "10%"
format_degraded = "MEMORY: %free"
}
read_file task {
path = "/tmp/current-task"
}
Now you need a hook to write every time you call task:
~/.task/hooks/on-exit
#!/bin/fish
if test -e /tmp/tasking
exit
end
touch /tmp/tasking
set most_urgent_desc (task rc.verbose: rc.report.next.columns:description rc.report.next.labels:1 limit:1 next)
set most_urgent_id (task rc.verbose: rc.report.next.columns:id rc.report.next.labels:1 limit:1 next)
echo "$most_urgent_id" > /tmp/current-task-id
echo "$most_urgent_desc" > /tmp/current-task
rm /tmp/tasking
It is important to use a lock file otherwise calls to task used by this script will in turn call the hook again, resulting in a fork bomb.