scripts/rofi-task.sh

58 lines
1.6 KiB
Bash
Raw Normal View History

2020-12-06 10:05:30 +01:00
#!/usr/bin/env sh
# From Kehet
## https://gist.github.com/Kehet/5ba8a530e52ea3a0ae251d756faef680
# Rofi colors
black="#000000"
blue="#0094cc"
2021-10-06 17:07:38 +02:00
is_task_running() { # {{{
2020-12-06 10:05:30 +01:00
2021-10-06 17:07:38 +02:00
if task active >/dev/null 2>&1; then
return_is_task_running="0"
else
return_is_task_running="1"
fi
2020-12-06 10:05:30 +01:00
2021-10-06 17:07:38 +02:00
return "${return_is_task_running:=/dev/null}"
}
# }}}
display_current_task() { # {{{
## Display active tasks list and get title from the choosen one
TITLE=$(task +ACTIVE export | jq -r 'sort_by( -.urgency )[] | [ (.id|tostring), .description ] | join(" ")' |
rofi -location 2 -lines 3 -no-auto-select -i -dmenu -p "RUNNING task(s)" -color-enabled -color-normal "${blue},${black},${blue},${black},${blue}" -color-window "${blue},${blue}" |
cut --delimiter=" " --field=2)
}
# }}}
select_task() { # {{{
## Display pending tasks list and get title from the choosen one
TITLE=$(task status:pending export | jq -r 'sort_by( -.urgency )[] | [ (.id|tostring), .description ] | join(" ")' |
rofi -location 2 -no-auto-select -i -dmenu -p "Task" -color-enabled -color-normal "${black},${blue},${black},${blue},${black}" -color-window "${black},${black}" |
cut --delimiter=" " --field=2)
[ -z "${TITLE}" ] && echo "Cancelled." && exit 0
## Start task with pomodorrior script (task end after 25minutes)
pomodorrior "${TITLE}" && exit 0
}
# }}}
main() { # {{{
is_task_running \
&& display_current_task \
&& exit 0
select_task \
&& exit 0
}
# }}}
main
2020-12-06 10:05:30 +01:00
exit 255