Files
hyprland/config/hypr/scripts/WebSearch.sh
T
2024-01-07 22:32:54 +05:45

65 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Requirements:
# rofi
# Description:
# Use rofi to search the web.
# Usage:
# web-search.sh
# -----------------------------------------------------------------------------
# Script:
declare -A URLS
URLS=(
["google"]="https://www.google.com/search?q="
["bing"]="https://www.bing.com/search?q="
["yahoo"]="https://search.yahoo.com/search?p="
["duckduckgo"]="https://www.duckduckgo.com/?q="
["yandex"]="https://yandex.ru/yandsearch?text="
["github"]="https://github.com/search?q="
["goodreads"]="https://www.goodreads.com/search?q="
["stackoverflow"]="http://stackoverflow.com/search?q="
["symbolhound"]="http://symbolhound.com/?q="
["searchcode"]="https://searchcode.com/?q="
["openhub"]="https://www.openhub.net/p?ref=homepage&query="
["superuser"]="http://superuser.com/search?q="
["askubuntu"]="http://askubuntu.com/search?q="
["imdb"]="http://www.imdb.com/find?ref_=nv_sr_fn&q="
["rottentomatoes"]="https://www.rottentomatoes.com/search/?search="
["piratebay"]="https://thepiratebay.org/search/"
["youtube"]="https://www.youtube.com/results?search_query="
["vimawesome"]="http://vimawesome.com/?q="
)
# List for rofi
gen_list() {
for i in "${!URLS[@]}"
do
echo "$i"
done
}
main() {
# Pass the list to rofi
platform=$( (gen_list) | rofi -dmenu -matching fuzzy -no-custom -location 0 -p "Search > " )
if [[ -n "$platform" ]]; then
query=$( (echo ) | rofi -dmenu -matching fuzzy -location 0 -p "Query > " )
if [[ -n "$query" ]]; then
url=${URLS[$platform]}$query
xdg-open "$url"
else
exit
fi
else
exit
fi
}
main
exit 0