summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcopy_start_nevermind.sh4
-rwxr-xr-xuristart23
-rwxr-xr-xuristart.conf2
3 files changed, 18 insertions, 11 deletions
diff --git a/copy_start_nevermind.sh b/copy_start_nevermind.sh
index 08aa903..1869dff 100755
--- a/copy_start_nevermind.sh
+++ b/copy_start_nevermind.sh
@@ -17,8 +17,8 @@ fi
scheme="$(uricut -s <<< "$uri")"
-with="$(urigetline "$uri" < ~/.config/uristart.conf)"
-if [ "$with" != "$(urigetline -a "$uri" < ~/.config/uristart.conf)" ];then
+with="$(urigetline "$uri" < <(uristart.conf))"
+if [ "$with" != "$(urigetline -a "$uri" < <(uristart.conf))" ];then
with="[multiple matches]"
fi
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
diff --git a/uristart.conf b/uristart.conf
index 3d9ea7d..0453acd 100755
--- a/uristart.conf
+++ b/uristart.conf
@@ -1,2 +1,2 @@
#!/usr/bin/env bash
-exec cat "${XDG_CONFIG_HOME:-$HOME/.config}"/uristart.conf
+exec cat "${XDG_CONFIG_HOME:-$HOME/.config}"/uristart.conf "${XDG_CONFIG_HOME:-$HOME/.config}"/uristart.conf.d/* 2>/dev/null