28 lines
848 B
Bash
Executable File
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
|