61 lines
1.4 KiB
Bash
61 lines
1.4 KiB
Bash
#!/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
|
|
|
|
|
|
|