diff options
Diffstat (limited to 'tessen')
-rwxr-xr-x | tessen | 29 |
1 files changed, 15 insertions, 14 deletions
@@ -338,27 +338,28 @@ is_installed() { } setup_backend() { - local backend="${1}" + local backend="$1" local backend_opts="${backend#* }" backend="${backend%% *}" - if ! is_installed "${backend}"; then - _die "'${backend}' not installed" + + if ! is_installed "$backend"; then + _die "'$backend' is not installed" fi - if [[ "${backend_opts}" = "${backend}" ]]; then - backend_opts="$(get_defaults "${backend}")" + if [[ "$backend_opts" == "$backend" ]]; then + backend_opts="$(get_default_opts "$backend")" + if [[ -z "$backend_opts" ]]; then + printf "%s\n" "unable to determine any dmenu options for '$backend'" >&2 + fi fi - mapfile -t -d' ' backend_opts < <(printf "%s" "${backend_opts}") - readonly tsn_backend="${backend}" - readonly tsn_backend_opts=("${backend_opts[@]}") -} -get_defaults() { - if [[ "$(type -t "defaults_${1}")" = "function" ]]; then - "defaults_${1}" + readonly tsn_backend="$backend" + + if [[ -n "$backend_opts" ]]; then + mapfile -t -d ' ' backend_opts < <(printf "%s" "$backend_opts") + readonly -a tsn_backend_opts=("${backend_opts[@]}") else - printf "" + readonly -a tsn_backend_opts=() fi - return 0 } get_default_opts() { |