From dbf6639677796336bdb345efb70736d29c44f60f Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 24 Nov 2023 00:44:34 -0500 Subject: Add my bash scripts --- local/bin/dmenu-webshortcuts.sh | 89 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100755 local/bin/dmenu-webshortcuts.sh (limited to 'local/bin/dmenu-webshortcuts.sh') diff --git a/local/bin/dmenu-webshortcuts.sh b/local/bin/dmenu-webshortcuts.sh new file mode 100755 index 0000000..6732251 --- /dev/null +++ b/local/bin/dmenu-webshortcuts.sh @@ -0,0 +1,89 @@ +#!/bin/bash + +# Use dmenu and user-defined web shorcuts to query websites faster. +# +# This script tries to mimic Krunner Web Search Keywords functionality. +# See: https://userbase.kde.org/Plasma/Krunner#Browse_websites +# +# TODO: Integrate it to dmenu_run (so that this script doens't require a +# dedicated keybinding) +# +# Mitsuo +# 2023-11-23 + +input=$(echo "" | dmenu -p 'wp:Hello World') +## Set Internal Field Separator, save separated fields as an array in $CMD (-a), +## don't allow backslashes to escape any characters (-r). Feed $input as stdin. +#IFS=':' read -ra CMD <<< "$input" +#keyword=${CMD[0]} +#search_term=${CMD[1]} +keyword="${input%%:*}" +search_term="${input#*:}" + +# Define web shortcuts here +case "$keyword" in + # Search + "dd") xdg-open "https://duckduckgo.com/?t=h_&q=${search_term// /+}" ;; + "gg") xdg-open "https://www.google.com/search?q=$search_term" ;; + "bing") xdg-open "https://www.bing.com/search?q=${search_term// /+}" ;; + "metac") xdg-open "https://www.metacrawler.com/serp?q=${search_term// /+}" ;; + + # Finance + "ggf") xdg-open "https://www.google.com/finance/quote/$search_term?window=1Y" ;; + "yf") xdg-open "https://finance.yahoo.com/quote/$search_term" ;; + "bb") xdg-open "https://www.bloomberg.com/quote/$search_term" ;; + + # Maps + "ggm") xdg-open "https://www.google.com/maps/search/${search_term// /+}" ;; + "osm") xdg-open "https://www.openstreetmap.org/search?query=$search_term" ;; + + # Reference + "wp") xdg-open "https://en.wikipedia.org/wiki/${search_term// /_}" ;; + "scholar") xdg-open "https://scholar.google.com/scholar?hl=en&q=${search_query// /+}" ;; + "arxiv") xdg-open "https://arxiv.org/search/?query=${search_query// /+}" ;; + + # Computer + "arch") xdg-open "https://wiki.archlinux.org/title/$search_term" ;; + "so") xdg-open "https://stackoverflow.com/search?q=${search_term// /+}" ;; + "gh") xdg-open "https://github.com/search?q=${search_term// /+}&type=repositories" ;; + "gl") xdg-open "https://about.gitlab.com/search?searchText=$search_term" ;; + "pypi") xdg-open "https://pypi.org/search/?q=${search_term// /+}&o=" ;; + "npm") xdg-open "https://www.npmjs.com/search?q=${search_term// /+}" ;; + + # Media + "yt") xdg-open "https://www.youtube.com/results?search_query=$search_term" ;; + "vm") xdg-open "https://vimeo.com/search?q=$search_term" ;; + "sp") xdg-open "https://open.spotify.com/search/$search_term" ;; + "sc") xdg-open "https://soundcloud.com/search?q=$search_term" ;; + "dz") xdg-open "https://www.deezer.com/search/$search_term" ;; + "imdb") xdg-open "https://www.imdb.com/find/?q=$search_term" ;; + + # Social Media + "x") xdg-open "https://x.com/search?q=$search_term&src=typed_query" ;; + "rd") xdg-open "https://duckduckgo.com/?t=h_&q=site%3Areddit.com+${search_term// /+}&ia=web" ;; + "ig") xdg-open "https://duckduckgo.com/?q=site%3Ainstagram.com+${search_term// /+}&ia=web" ;; + "fb") xdg-open "https://duckduckgo.com/?q=site%3Afacebook.com+${search_term// /+}&ia=web" ;; + + # Shopping + "amzn") xdg-open "https://www.amazon.com/s?k=${search_term// /+}" ;; + "ebay") xdg-open "https://www.ebay.com/sch/i.html?_nkw=${search_term// /+}" ;; + + # Utilities + "ggt") xdg-open "https://translate.google.com/?sl=auto&tl=en&text=$search_term&op=translate" ;; + "en2es") xdg-open "https://www.wordreference.com/es/translation.asp?tranword=$search_term" ;; + "es2en") xdg-open "https://www.wordreference.com/es/en/translation.asp?spen=$search_term" ;; + "en2de") xdg-open "https://www.wordreference.com/es/en/translation.asp?spen=$search_term" ;; + "de2en") xdg-open "https://www.wordreference.com/deen/$search_term" ;; + "jisho") xdg-open "https://jisho.org/search/$search_term" ;; + "rae") xdg-open "https://dle.rae.es/?w=$search_term" ;; + + # Mitsuo + "pw") xdg-open "http://wiki.pulse15/index.php?title=${search_term// /_}" ;; + "factorio") xdg-open "https://wiki.factorio.com/${search_term// /_}" ;; + "dst") xdg-open "https://dontstarve.wiki.gg/wiki/${search_term// /_}" ;; + "mc") xdg-open "https://minecraft.wiki/w/${search_term// /_}" ;; + "terraria") xdg-open "https://terraria.wiki.gg/wiki/${search_term// /_}" ;; + + *) exit 1 ;; +esac + -- cgit v1.2.3