2020-07-07 18:48:41 +02:00
|
|
|
#!/bin/sh
|
2023-10-12 15:12:12 +02:00
|
|
|
# Gives a dmenu prompt to searx
|
|
|
|
# Without input, will open mainpage.
|
2020-07-07 18:48:41 +02:00
|
|
|
# URLs will be directly handed to the browser.
|
2023-10-12 15:12:12 +02:00
|
|
|
mainpage="https://bocken.org/searx"
|
|
|
|
searchpage="https://bocken.org/searx/search?q=%s"
|
2020-07-07 18:48:41 +02:00
|
|
|
browser=${BROWSER:-firefox}
|
2020-09-05 16:21:14 +02:00
|
|
|
if [ -z "$(xclip -o -selection clipboard)" ]; then
|
|
|
|
choice=$(printf "🔍\n" | dmenu -i -p "Searx:") || exit 1
|
|
|
|
else
|
|
|
|
choice=$(printf "🔍\n📋\n" | dmenu -i -p "Searx:") || exit 1
|
|
|
|
fi
|
2020-07-07 18:48:41 +02:00
|
|
|
|
2020-07-07 18:52:28 +02:00
|
|
|
if [ "$choice" = "🔍" ]; then
|
2021-06-15 15:18:58 +02:00
|
|
|
$browser "$mainpage"
|
2020-09-04 17:12:32 +02:00
|
|
|
elif [ "$choice" = "📋" ]; then
|
2020-09-05 16:21:14 +02:00
|
|
|
$browser "$(xclip -o -selection clipboard)"
|
2020-07-07 18:48:41 +02:00
|
|
|
else
|
|
|
|
if echo "$choice" | grep "^(http:\/\/|https:\/\/)?[a-zA-Z0-9]+\.[a-zA-Z]+(/)?.*$"; then
|
|
|
|
$browser "$choice"
|
|
|
|
else
|
|
|
|
string="$(echo $choice | sed 's/\ /+/g')"
|
2021-06-15 15:18:58 +02:00
|
|
|
$browser "$(echo "${searchpage}" | sed "s/%s/$string/")"
|
2020-07-07 18:48:41 +02:00
|
|
|
fi
|
|
|
|
fi
|