29 lines
758 B
Bash
29 lines
758 B
Bash
|
#!/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
|