From 285a0741ad4853698b4b2563fb8844b484410def Mon Sep 17 00:00:00 2001 From: epoch Date: Sun, 14 Nov 2021 08:15:19 +0000 Subject: added ability to split config file into a handful of smaller files and made things that need that data to get it from uristart.conf script --- copy_start_nevermind.sh | 4 ++-- uristart | 23 +++++++++++++++-------- uristart.conf | 2 +- 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 -- cgit v1.2.3