dotfiles/.local/bin/tools/searx

28 lines
848 B
Bash
Executable File

#!/bin/sh
# Gives a dmenu prompt to search DuckDuckGo.
# Without input, will open DuckDuckGo.com.
# URLs will be directly handed to the browser.
# Anything else, it search it.
mainpage="https://duckduckgo.com"
searchpage="https://duckduckgo.com/?q=%s"
browser=${BROWSER:-firefox}
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
if [ "$choice" = "🔍" ]; then
$browser "$mainpage"
elif [ "$choice" = "📋" ]; then
$browser "$(xclip -o -selection clipboard)"
else
if echo "$choice" | grep "^(http:\/\/|https:\/\/)?[a-zA-Z0-9]+\.[a-zA-Z]+(/)?.*$"; then
$browser "$choice"
else
string="$(echo $choice | sed 's/\ /+/g')"
$browser "$(echo "${searchpage}" | sed "s/%s/$string/")"
fi
fi