59 lines
1.1 KiB
Bash
Executable File
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
|