Files
dotfiles/rofi/.config/rofi/web-search.sh
2019-12-06 14:02:26 -05:00

73 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
# -----------------------------------------------------------------------------
# Info:
# author: Miroslav Vidovic
# file: web-search.sh
# created: 24.02.2017.-08:59:54
# revision: ---
# version: 1.0
# -----------------------------------------------------------------------------
# Requirements:
# rofi
# Description:
# Use rofi to search the web.
# Usage:
# web-search.sh
# -----------------------------------------------------------------------------
# Script:
declare -A URLS
URLS=(
["search"]="https://search.unbl.ink/?q="
["google"]="https://www.google.com/search?q="
["ddg"]="https://www.duckduckgo.com/?q="
["amazon"]="https://www.amazon.com/s?k="
["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="
["imdb"]="http://www.imdb.com/find?ref_=nv_sr_fn&q="
["rottentomatoes"]="https://www.rottentomatoes.com/search/?search="
["invidous"]="https://invidio.us/search?q="
["vimawesome"]="http://vimawesome.com/?q="
["beer"]="https://www.beeradvocate.com/search/?qt=beer&q="
["jira"]="https://15five-dev.atlassian.net/plugins/servlet/mobile#issue/ENG-"
["books"]="https://b-ok.cc/s/?q="
["maps"]="https://www.openstreetmap.com/search?query="
["pirate"]="https://thepirateboat.info/s/?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