#!/bin/bash

# Dmenu for selecting which browser to open.
# from github.com/AlexChaplinBraz/dmenu-scripts/blob/master/dbrowsel
# (with edits)

THEBROWSER="1. \$BROWSER $BROWSER + clipboard"
BROWSER2='2. firefox + clipboard'
XSELECT='3. clipboard'

BROWSERS="$THEBROWSER
$BROWSER2
$XSELECT"

[ -z "$1" ] && URL="$(xclip -o)"
[ -z "$1" ] || URL="$1"

SHORTURL="$(echo "$URL" | sed 's!https?:?/?/?!!' | sed 's!/.*!!')"

CHOSEN=$(printf %s\\n "$BROWSERS" | dmenu -i -l 5 -p "Select browser for ($SHORTURL...): ")

[ -z "$CHOSEN" ] && exit 1

case $CHOSEN in
    "$THEBROWSER") command -v "$BROWSER"    && echo "$URL" | xclip -i -sel clip && $BROWSER "$URL";;
	  "$TOR")        command -v "tor-browser" && echo "$URL" | xclip -i -sel clip && tor-browser "$URL";; # tor-browser in PATH?
    "$BROWSER2")  command -v "firefox"     && firefox "$URL";;
    "$XSELECT")    command -v "xclip"       && echo "$URL" | xclip -i -sel clip ;; # TODO: maybe support xsel
	*) eval "$CHOSEN" "$URL";;
esac
