diff options
Diffstat (limited to '.local/bin/dmpass')
| -rwxr-xr-x | .local/bin/dmpass | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/.local/bin/dmpass b/.local/bin/dmpass index affe65b..c315be1 100755 --- a/.local/bin/dmpass +++ b/.local/bin/dmpass @@ -1,5 +1,6 @@ #!/bin/sh +name=0 full=0 color='#cc241d'; if [ "$1" = "--full" ]; then @@ -7,6 +8,11 @@ if [ "$1" = "--full" ]; then if echo "$2" | grep '^#' 2>&1; then color="$2" fi +elif [ "$1" = "--name" ]; then + name=1 + if echo "$2" | grep '^#' 2>&1; then + color="$2" + fi elif echo "$1" | grep '^#' 2>&1; then color="$1" fi @@ -32,13 +38,28 @@ password=$(printf "%s\n" "${password_files}" | $dmenu) p="$(pass show "$password")" -if [ $full -eq 1 ]; then +if [ $full -eq 1 ] || [ $name -eq 1 ]; then id=$(printf "%s" "$password" | sed 's/.*___//') printf "%s\n" $id | { IFS= read -r pass; printf %s "$id"; } | $xdotool - xdotool key Tab - printf "%s\n" "$p" | { IFS= read -r pass; printf %s "$pass"; } | $xdotool - xdotool key Return - exit + if [ $name -eq 1 ]; then + exit + fi +fi + +if [ $full -eq 1 ]; then + if [ -n "$WAYLAND_DISPLAY" ]; then + ydotool key 15:1 15:0 + else + xdotool key Tab + fi fi printf "%s\n" "$p" | { IFS= read -r pass; printf %s "$pass"; } | $xdotool + +if [ $full -eq 1 ]; then + if [ -n "$WAYLAND_DISPLAY" ]; then + ydotool key 28:1 28:0 + else + xdotool key Return + fi +fi |
