diff --git a/spmenu_autocomplete.sh b/spmenu_autocomplete.sh new file mode 100755 index 0000000..a14d9eb --- /dev/null +++ b/spmenu_autocomplete.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +get_autocomplete_data() { + touch /tmp/autocomplete-data /tmp/autocomplete-data-2 + cp /tmp/autocomplete-data /tmp/autocomplete-data-2 + + curl -s "https://duckduckgo.com/ac/?q=$1&kl=wt-wt" | jq --raw-output ".[].phrase" > /tmp/.f + mv /tmp/.f /tmp/autocomplete-data + + [ -n "$(diff /tmp/autocomplete-data /tmp/autocomplete-data-2)" ] && { + rm -f /tmp/spmenu.fifo + printf "update" > /tmp/spmenu.fifo + } +} + +bgfunc() { + while true; do + get_autocomplete_data "$(tail -n 1 /tmp/f | sed 's/ /+/g')" + sleep 0.5 + done +} + +bgfunc & +spmenu -r -l 10 -ml 10 -g 1 -pt "Search the web.." -lf /tmp/autocomplete-data > /tmp/f +pkill -P $$ + +tail -n 1 /tmp/f +rm -f /tmp/f /tmp/autocomplete-data /tmp/autocomplete-data-2