diff --git a/scripts/webdev b/scripts/webdev new file mode 100644 index 0000000..85e725c --- /dev/null +++ b/scripts/webdev @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +USAGE="Usage: webdev [-q|--quiet] uri|file" + +# NOTE: These can either be set manually here or they +# NOTE: can be exported as environment variables (^-^) +# === Configuration === # +DEFAULT_BROWSER=${DEFAULT_BROWSER:-} +# ===================== # + +# WARNING: Internal use only (do not modify!) +# === Internal Environment === # +QUIET=false +# ============================ # + +# Quiet Echo - doesn't echo if QUIET is set +qecho() { + if [[ "$QUIET" == false ]]; then + echo "$@" + fi +} + +# Argument Parsing +for OPT in $@; do + case $OPT in + -q|--quiet) + QUIET=true + ;; + -*) + echo -e "[!] Unknown option \"$OPT\"\n$USAGE" >2 + exit 1 + ;; + *) + echo "[!] Unknown option \"$OPT\"\n$USAGE" >2 + exit 1 + ;; + esac +done + +# Use DEFAULT_BROWSER or check XDG default-web-browser or fail +BROWSER="" +if [ -n "$DEFAULT_BROWSER" ]; then + echo "[+] Browser manually set to $DEFAULT_BROWSER" + echo " > Skipped checking XDG default-web-browser" +else + echo "[*] Lookup XDG default-web-browser" + BROWSER=$(xdg-settings get default-web-browser 2>/dev/null) + if [ $? -eq 0 ]; then + BROWSER=${BROWSER%%.desktop} + echo "[+] Browser automatically set to $BROWSER" + else + echo "[!] Unknown browser girlypop :(" >2 + echo " > Either:" >2 + echo " > 1. export DEFAULT_BROWSER" >2 + echo " > 2. run \`xdg-settings set default-web-browser\`" >2 + exit 1 + fi +fi +echo # linebreak + + +