amélio passmenu2
parent
b1378c422a
commit
b18c2233e3
|
|
@ -2,27 +2,15 @@
|
||||||
|
|
||||||
shopt -s nullglob globstar
|
shopt -s nullglob globstar
|
||||||
|
|
||||||
typeit=0
|
|
||||||
if [[ $1 == "--type" ]]; then
|
|
||||||
typeit=1
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
STARTDIR=${PASSWORD_STORE_DIR-~/.password-store}
|
STARTDIR=${PASSWORD_STORE_DIR-~/.password-store}
|
||||||
BASEDIR=$STARTDIR
|
BASEDIR=$STARTDIR
|
||||||
DONE=0
|
DONE=0
|
||||||
LEVEL=0
|
LEVEL=0
|
||||||
PREVSELECTION=""
|
|
||||||
SELECTION=""
|
SELECTION=""
|
||||||
|
|
||||||
while [ "$DONE" -eq 0 ] ; do
|
while [ "$DONE" -eq 0 ] ; do
|
||||||
password_files=( `find "$STARTDIR" -iname "*.gpg" | sed -e 's/\.gpg//' -e 's#^.*password-store/##' ` )
|
password_files=( `find "$STARTDIR" -name "*.gpg" | sed -e 's/\.gpg//' -e 's#^.*password-store/##' ` )
|
||||||
|
entry=$(printf '%s\n' "${password_files[@]}" | dmenu -i "$@" -l 15)
|
||||||
if [ "$LEVEL" -ne 0 ] ; then
|
|
||||||
password_files=(".." "${password_files[@]}")
|
|
||||||
entry=$(printf '%s\n' "${password_files[@]}" | dmenu "$@" -l 15)
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "entry: $entry"
|
echo "entry: $entry"
|
||||||
if [ -z "$entry" ] ; then
|
if [ -z "$entry" ] ; then
|
||||||
|
|
@ -30,29 +18,9 @@ while [ "$DONE" -eq 0 ] ; do
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$entry" != ".." ] ; then
|
|
||||||
PREVSELECTION=$SELECTION
|
|
||||||
SELECTION="$SELECTION/$entry"
|
SELECTION="$SELECTION/$entry"
|
||||||
|
pass show "$SELECTION" | xclip -r -sel clip
|
||||||
# check if another dir
|
|
||||||
if [ -d "$STARTDIR/$entry" ] ; then
|
|
||||||
STARTDIR="$STARTDIR/$entry"
|
|
||||||
LEVEL=$((LEVEL+1))
|
|
||||||
else
|
|
||||||
# not a directory so it must be a real password entry
|
|
||||||
|
|
||||||
if [[ $typeit -eq 0 ]]; then
|
|
||||||
pass show -c "$SELECTION" 2>/dev/null
|
|
||||||
else
|
|
||||||
xdotool - <<<"type --clearmodifiers -- $(pass show "$SELECTION" | head -n 1)"
|
|
||||||
fi
|
|
||||||
DONE=1
|
DONE=1
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
LEVEL=$((LEVEL-1))
|
|
||||||
SELECTION=$PREVSELECTION
|
|
||||||
STARTDIR="$BASEDIR/$SELECTION"
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue