From 29ca84ab0c18224c9299d697d63b0cb539e13282 Mon Sep 17 00:00:00 2001 From: "J. Elfring" Date: Sat, 2 Nov 2024 20:03:59 +0100 Subject: [PATCH] fzpass: Add linewrapping in preview --- dotfiles/my-binaries/dot-bin/fzpass | 48 ++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/dotfiles/my-binaries/dot-bin/fzpass b/dotfiles/my-binaries/dot-bin/fzpass index 239dd97..e79dca3 100755 --- a/dotfiles/my-binaries/dot-bin/fzpass +++ b/dotfiles/my-binaries/dot-bin/fzpass @@ -6,44 +6,44 @@ prefix=${PASSWORD_STORE_DIR:=~/.password-store} ## Get all the gpg files in all directories and subdirs... ## remove the prefix, some 3 extra chars and the .gpg ending -password_files=$( find $prefix -name '*.gpg' \ - | cut --characters ${#prefix}- \ - | cut --characters 3- \ - | rev | cut --characters 5- | rev - ) +password_files=$( + find $prefix -name '*.gpg' | + cut --characters ${#prefix}- | + cut --characters 3- | + rev | cut --characters 5- | rev +) ## Some functions to call from inside the fzf menu -fzpass_update () { - echo "--Pulling..." 2>&1 >/dev/tty - pass git pull 2>&1 >/dev/tty - echo "--Pushing..." 2>&1 >/dev/tty - pass git push 2>&1 >/dev/tty +fzpass_update() { + echo "--Pulling..." 2>&1 >/dev/tty + pass git pull 2>&1 >/dev/tty + echo "--Pushing..." 2>&1 >/dev/tty + pass git push 2>&1 >/dev/tty echo "--Any key to continue..." 2>&1 >/dev/tty read } export -f fzpass_update - ## Send the filelist to fzf, ## disable the fzf mouse to use the primary selection -password=$( printf '%s\n' "${password_files[@]}" \ - | fzf --bind='ctrl-s:toggle-preview' \ - --bind='ctrl-u:execute(fzpass_update)' \ - --bind='ctrl-r:execute(pass rm {})' \ - --bind='ctrl-e:execute(pass edit {} < /dev/tty > /dev/tty)' \ - --preview='pass show {}' \ - --preview-window="hidden" \ - --no-mouse \ - --header=' +password=$( + printf '%s\n' "${password_files[@]}" | + fzf --bind='ctrl-s:toggle-preview' \ + --bind='ctrl-u:execute(fzpass_update)' \ + --bind='ctrl-r:execute(pass rm {})' \ + --bind='ctrl-e:execute(pass edit {} < /dev/tty > /dev/tty)' \ + --preview='pass show {}' \ + --preview-window="up,30%,hidden,wrap" \ + --no-mouse \ + --header=' Ret: Copy pass, show OTP; C-s: Show entry; C-e: Edit entry C-u: Update (pull, push); C-r: Remove' - $@ \ - ) + $@ +) ## Exit if nothing was selected test "_$password" = "_" && exit - ## Copy pass and show otp, exit silently if anything fails pass show -c "$password" -pass otp "$password" 2>/dev/null || exit 0 +pass otp "$password" 2>/dev/null || exit 0