scripts
This commit is contained in:
parent
ba6ec37193
commit
8f5068dd33
1 changed files with 82 additions and 0 deletions
82
local/bin/brwmenu
Executable file
82
local/bin/brwmenu
Executable file
|
@ -0,0 +1,82 @@
|
|||
#!/bin/sh
|
||||
#inspired by 'firemenu' by <swindlesmccoop> on github
|
||||
# BRWMENU:
|
||||
set -e
|
||||
DMENU_OPTS="-i -fn monospace:size=12 -nb #151515 -nf #bbbbbb -sb #663300 -sf #eeeeee"
|
||||
BROWSER="brave-bin"
|
||||
SWALLOW=""
|
||||
NOTIFIER="notify-send"
|
||||
for cmd in dmenu "$BROWSER"; do
|
||||
if ! command -v "$cmd" >/dev/null 2>&1; then
|
||||
echo "Error: Required command '$cmd' not found" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
CHOICES="YouTube\nGithub\nCodeberg\nIPLeak\nQwant\nDuckDuckGo\nURL"
|
||||
PROMPT="Where to?"
|
||||
open_url() {
|
||||
if [ -z "$1" ]; then
|
||||
$NOTIFIER "Error" "No URL specified" 2>/dev/null || echo "Error: No URL specified" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! $SWALLOW "$BROWSER" "$1" >/dev/null 2>&1; then
|
||||
$NOTIFIER "Error" "Failed to open browser with URL: $1" 2>/dev/null || \
|
||||
echo "Error: Failed to open browser with URL: $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
get_input() {
|
||||
prompt="$1"
|
||||
prefix="$2"
|
||||
input=$(printf '' | dmenu $DMENU_OPTS -p "$prompt" 2>/dev/null)
|
||||
|
||||
if [ -z "$input" ]; then
|
||||
$NOTIFIER "Error" "No input provided" 2>/dev/null || echo "Error: No input provided" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
input=$(printf "%s" "$input" | sed 's/ /%20/g')
|
||||
echo "${prefix}${input}"
|
||||
}
|
||||
CHOICE=$(printf "$CHOICES" | dmenu $DMENU_OPTS -p "$PROMPT" 2>/dev/null)
|
||||
|
||||
case "$CHOICE" in
|
||||
Github)
|
||||
url=$(get_input "Username & repo:" "https://github.com/")
|
||||
open_url "$url"
|
||||
;;
|
||||
Codeberg)
|
||||
url=$(get_input "Username & repo:" "https://codeberg.org/")
|
||||
open_url "$url"
|
||||
;;
|
||||
IPLeak)
|
||||
open_url "https://ipleak.net"
|
||||
;;
|
||||
Qwant)
|
||||
query=$(get_input "Search Qwant:" "")
|
||||
open_url "https://qwant.com/search?q=$query"
|
||||
;;
|
||||
DuckDuckGo)
|
||||
query=$(get_input "Search DuckDuckGo:" "")
|
||||
open_url "https://duckduckgo.com/?q=$query"
|
||||
;;
|
||||
URL)
|
||||
url=$(get_input "Enter URL:" "")
|
||||
# add https:// if missing
|
||||
case "$url" in
|
||||
http://*|https://*) ;;
|
||||
*) url="https://$url" ;;
|
||||
esac
|
||||
open_url "$url"
|
||||
;;
|
||||
YouTube)
|
||||
query=$(get_input "Search YouTube:" "")
|
||||
open_url "https://youtube.com/results?search_query=$query"
|
||||
;;
|
||||
*)
|
||||
$NOTIFIER "Error" "Invalid selection: $CHOICE" 2>/dev/null || \
|
||||
echo "Error: Invalid selection: $CHOICE" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
Loading…
Add table
Reference in a new issue