diff --git a/src/main.sh b/src/main.sh index 5cdfa97..13eb19c 100755 --- a/src/main.sh +++ b/src/main.sh @@ -918,19 +918,29 @@ __tentative_toggle() { # @req $AWK_ATTACH: Awk script to add attachment __add_attachment() { fpath="$ROOT/$1" - f=$( + sel=$( $FZF --prompt="Select attachment> " \ --walker="file,hidden" \ - --walker-root="$HOME" + --walker-root="$HOME" \ + --expect="ctrl-c,ctrl-g,ctrl-q,esc" ) + key=$(echo "$sel" | head -1) + f=$(echo "$sel" | tail -1) + if [ -n "$key" ]; then + f="" + fi if [ -z "$f" ] || [ ! -f "$f" ]; then return fi filename=$(basename "$f") + mime=$(file -b -i "$f" | cut -d ';' -f 1) + if [ -z "$mime" ]; then + mime="application/octet-stream" + fi fenc=$(mktemp) base64 "$f" >"$fenc" filetmp=$(mktemp) - awk -v file="$fenc" -v mime="application/octet-stream" -v filename="$filename" "$AWK_ATTACH" "$fpath" >"$filetmp" + awk -v file="$fenc" -v mime="$mime" -v filename="$filename" "$AWK_ATTACH" "$fpath" >"$filetmp" mv "$filetmp" "$fpath" if [ -n "${GIT:-}" ]; then $GIT add "$fpath"