aboutsummaryrefslogtreecommitdiffstats
path: root/uristart
diff options
context:
space:
mode:
Diffstat (limited to 'uristart')
-rwxr-xr-xuristart23
1 files changed, 15 insertions, 8 deletions
diff --git a/uristart b/uristart
index 50ee573..1c3e382 100755
--- a/uristart
+++ b/uristart
@@ -12,7 +12,7 @@ check=dont
eval "$(printf "%s\n" "$1" | uricut | sed 's/^/export URI/;s/'\''/'\''\\'\'''\''/;s/: /='\''/g;s/$/'\''/')"
-uristart_config=~/.config/uristart.conf
+uristart_config="auto"
usage() {
printf "usage: uristart [-v|--verbose|-h|--help|-c|--check] [-f|--config file] URI\n"
@@ -50,18 +50,25 @@ if [ ! "$*" ];then
exit 1
fi
-if [ ! -e "$uristart_config" ];then
- printf "uristart: missing config file: %s\n" "$uristart_config" >&2
- exit 1
-fi
+#if [ ! -e "$uristart_config" ];then
+# printf "uristart: missing config file: %s\n" "$uristart_config" >&2
+# exit 1
+#fi
uri="${1}"
scheme="$(printf "%s\n" "$uri" | uricut -s)"
+### TODO: make this respect the --config|-f flag
### original: line="$(urigetline "$uri" < ~/.config/uristart.conf)"
-line="$(urigetline "$uri" < ~/.config/uristart.conf)"
-if [ "$(urigetline -a "$uri" < ~/.config/uristart.conf)" != "$line" ];then
- line="$(urigetline -a "$uri" < ~/.config/uristart.conf | choose 'which handler')"
+if [ "$uristart_config" = "auto" ];then
+ line="$(urigetline "$uri" < <(uristart.conf))"
+ allline="$(urigetline -a "$uri" < <(uristart.conf))"
+else
+ line="$(urigetline "$uri" < "$uristart_config")"
+ allline="$(urigetline -a "$uri" < "$uristart_config")"
+fi
+if [ "$allline" != "$line" ];then
+ line="$(printf "%s\n" "$allline" | choose 'which handler')"
fi
if [ ! "$line" ];then
exit 0