diff options
Diffstat (limited to 'fedora/.local/bin/fzfpass')
| -rwxr-xr-x | fedora/.local/bin/fzfpass | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/fedora/.local/bin/fzfpass b/fedora/.local/bin/fzfpass deleted file mode 100755 index 5190f8e..0000000 --- a/fedora/.local/bin/fzfpass +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh - -set -e - -usage() { - echo "Find pass gpg files in Password-Store using fzf." - echo "" - echo "Usage: ${0##*/} [-h|--help]" - echo "" - echo "Options:" - echo " -h, --help : Show this message" - echo "" - echo "Shortcuts:" - echo " return - echo password and copy to clipboard (wayland only)" - echo " ctrl+a - new password (named as per the prompt)" - echo " ctrl+e - edit selected password" - echo " ctrl+g - regenerate selected password" - echo " ctrl+r - rename selected password" - echo " ctrl+x - delete selected password" - echo " tab - tab complete" - echo " esc/ctrl+c - exit" - exit 0 -} - -if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then - usage -fi - -passdir=${PASSWORD_STORE_DIR:-$HOME/.local/share/.password-store} -cd "$passdir" - -# Unlock the password for this session -pass show "$(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g' | sed 's/^..//' | head -n 1)" >/dev/null - -# Main fzf session -passfile=$( - tree -Ffi | grep '.gpg' | sed 's/.gpg$//g' | sed 's/^..//' | - fzf-tmux \ - --header="🔑 Password Manager" \ - --reverse \ - --no-mouse \ - --preview="pass {}" \ - --header="🔑 ^a: Generate | ^e: Edit | ^g: Generate (no symbol) | ^r: Rename | ^s: Generate (symbol) | ^x: Delete | tab: Replace" \ - --bind="ctrl-a:execute(if [ -z {q} ]; then read -p \"Can't generate empty password. Press enter to continue...\"; else pass generate -n {q} < /dev/tty > /dev/tty 2>&1 && pass edit {q} < /dev/tty > /dev/tty 2>&1; fi)+reload(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g')" \ - --bind="ctrl-e:execute(pass edit {} < /dev/tty > /dev/tty 2>&1)+reload(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g')" \ - --bind="ctrl-r:execute(bash -c ' -echo -n \"Enter new name for {}: \" > /dev/tty; -read new_name < /dev/tty; -if [ -n \"\$new_name\" ]; then - pass mv {} \"\$new_name\" || echo \"Rename failed.\" > /dev/tty; -else - echo \"No name entered. Rename aborted.\" > /dev/tty; -fi' < /dev/tty > /dev/tty 2>&1)+reload(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g')" \ - --bind="ctrl-g:execute(if [ -z {} ]; then read -p \"Can't generate empty password. Press enter to continue...\"; else pass generate -in {} < /dev/tty > /dev/tty 2>&1 && pass edit {} < /dev/tty > /dev/tty 2>&1; fi)+reload(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g')" \ - --bind="ctrl-s:execute(if [ -z {} ]; then read -p \"Can't generate empty password. Press enter to continue...\"; else pass generate -i {} < /dev/tty > /dev/tty 2>&1 && pass edit {} < /dev/tty > /dev/tty 2>&1; fi)+reload(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g')" \ - --bind="ctrl-x:execute(pass rm {} < /dev/tty > /dev/tty 2>&1)+reload(tree -Ffi | grep '.gpg' | sed 's/.gpg$//g')" \ - --bind="tab:replace-query" -) - -show_passdata=false - -if [ "$1" = "-i" ]; then - show_passdata=true - shift -fi - -if [ "$show_passdata" = true ]; then - passdata="$(pass "$passfile")" - echo "$passdata" -else - password="$(pass show "$passfile" | head -n 1)" - echo "$password" - - if [ -n "$password" ]; then - case "$(uname)" in - Darwin*) - printf "%s" "$password" | pbcopy # Use pbcopy on macOS - ;; - Linux*) - printf "%s" "$password" | xclip -selection clipboard # Use xclip on Linux - ;; - *) - echo "Unsupported operating system" - ;; - esac - sleep 0.1 - fi -fi |
