#!/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 -im -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