#!/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