diff --git a/config/config b/config/config index 71b2f723..e9373e92 100644 --- a/config/config +++ b/config/config @@ -321,6 +321,14 @@ scrot_dir="$HOME/Pictures" scrot_name="neofetch-%Y-%m-%d-%H:%M.png" +# }}} + +# Stdout options {{{ + +# Separator for stdout mode +# --stdout_separator string +stdout_separator=" " + # }}} # Config Options {{{ diff --git a/neofetch b/neofetch index eff8fe14..682f73f9 100755 --- a/neofetch +++ b/neofetch @@ -342,6 +342,14 @@ scrot_dir="$HOME/Pictures" scrot_name="neofetch-%Y-%m-%d-%H:%M.png" +# }}} + +# Stdout options {{{ + +# Separator for stdout mode +# --stdout_separator string +stdout_separator=" " + # }}} # Config Options {{{ @@ -1956,16 +1964,25 @@ prin () { # Stdout {{{ stdout () { + # Read args early for the separator + stdout_separator_flag="$(awk -F '--stdout_separator ' '{printf $2}' <<< "${args[@]}")" + stdout_separator_flag=${stdout_separator_flag/ '--'*} + + [ ! -z "$stdout_separator_flag" ] && \ + stdout_separator="$stdout_separator_flag" + for func in "${args[@]}"; do case "$func" in "--"*) break ;; *) "get$func" 2>/dev/null eval output="\$$func" - printf "%s" "$output " + stdout+="${output}${stdout_separator}" ;; esac done + + printf "%s" "${stdout%%${stdout_separator}}" exit } @@ -2448,7 +2465,7 @@ while [ "$1" ]; do unset info_color colors case "$2" in "--"* | "") echo "--stdout requires at least one argument"; exit ;; - *) shift; args=("$@"); config="off" stdout ;; + *) shift; args=("$@"); config="off"; stdout ;; esac ;;