If the file doesn't have an extension then add .txt as before.
---
 src/password-store.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Hi,

I store various documents (PDFs, office docs) in a password store, and have an
alias which sets EDITOR=xdg-open. In general this seems to work well; PDFs and
images all seem to work properly. However Libreoffice appears to examine the
file extension to determine what to do with a file it is asked to open. So
xdg-open will correctly launch Libreoffice, but then Libreoffice will attempt to
import the document as a text file! This minor modification to keep the existing
file extension makes Libreoffice happy. I guess it would also help with mime
types that xdg-open detects only based on file extension (as opposed to file
header), but I don't think I use any of those in my document store.

Does this seem like a sensible thing to do?

If so, does this implementation seem like a sensible way to do it?

Thanks,
Tom

diff --git a/src/password-store.sh b/src/password-store.sh
index d89d455..073e467 100755
--- a/src/password-store.sh
+++ b/src/password-store.sh
@@ -473,8 +473,15 @@ cmd_edit() {
        local passfile="$PREFIX/$path.gpg"
        set_git "$passfile"
 
+       local addext=".txt"
+       local base=$(basename "$path")
+       local noext=${base%.*}
+       if [[ "$noext" != "$base" ]]; then
+               addext=""
+       fi
+
        tmpdir #Defines $SECURE_TMPDIR
-       local tmp_file="$(mktemp -u "$SECURE_TMPDIR/XXXXXX")-${path//\//-}.txt"
+       local tmp_file="$(mktemp -u 
"$SECURE_TMPDIR/XXXXXX")-${path//\//-}${addext}"
 
        local action="Add"
        if [[ -f $passfile ]]; then
-- 
2.18.0

_______________________________________________
Password-Store mailing list
[email protected]
https://lists.zx2c4.com/mailman/listinfo/password-store

Reply via email to