Files
q-tools/shell/tsp-menu
2024-10-11 21:35:44 +03:00

59 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
if [[ "$1" = "-h" ]]; then
echo "utility to control tsp with menu"
exit
fi
. qolop
_qCol export _
function fkey_colorize() {
for word in $@; do
echo -ne "${_G}${word:0:1}${_Z}${word:1} "
done
echo
}
function get_id() {
tsp -l
echo -e "${_Y}"
read -i "$id" -e -p "id? " id
echo -e "${_Z}"
if [[ "$id" = q ]]; then
exit
fi
}
function shuffle_jobs() {
ids=( $( tsp -l | tail -n +2 | grep queued | cut -d' ' -f1 ) )
ids_len=${#ids[@]}
for src in ${ids[@]}; do
new=${ids[$(( $RANDOM % $ids_len ))]}
if [[ $new -eq $src ]]; then
continue
fi
tsp -U "${src}-${new}"
done
}
while true; do
echo '$ 'tsp $cmd $id
eval tsp $cmd $id
id=""
cmd=""
echo
fkey_colorize list console info remove kill Clear Slots shuffle Killall quit
read -p"tsp " -n1 menu
echo
case "$menu" in
q) break;;
l) cmd=-l;;
c|i|r|k) cmd=-"$menu"; get_id; ;;
C) id=""; cmd=-C; ;;
S) cmd=""; echo Current:; tsp -S; read -p "new? " -i 1 -e num; tsp -S $num; ;;
K) read -p "sure? ctrl-c " foo; id=""; cmd=-K; ;;
s) shuffle_jobs; ;;
*) break;;
esac
done