#!/usr/bin/env sh # From Kehet ## https://gist.github.com/Kehet/5ba8a530e52ea3a0ae251d756faef680 # Rofi colors black="#000000" blue="#0094cc" is_task_running() { # {{{ if task active >/dev/null 2>&1; then return_is_task_running="0" else return_is_task_running="1" fi 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 25 minutes) pomodorrior "${TITLE}" && exit 0 } # }}} main() { # {{{ is_task_running \ && display_current_task \ && exit 0 select_task \ && exit 0 } # }}} main exit 255