diff options
Diffstat (limited to '.local/bin/menu')
-rwxr-xr-x | .local/bin/menu/pass | 24 | ||||
-rwxr-xr-x | .local/bin/menu/power | 9 |
2 files changed, 33 insertions, 0 deletions
diff --git a/.local/bin/menu/pass b/.local/bin/menu/pass new file mode 100755 index 0000000..86fd1ee --- /dev/null +++ b/.local/bin/menu/pass @@ -0,0 +1,24 @@ +#!/bin/sh + +MENU_CMD="bemenu -p 'pass'" + +entry=$(find "$PASSWORD_STORE_DIR" -name '*.gpg' |\ + sed "s|$PASSWORD_STORE_DIR/||" |\ + sed "s|.gpg||" |\ + sort -n |\ + eval "$MENU_CMD") || exit 1 + +details=$(pass "$entry") || exit 1 +user=$(echo "$details" | sed -n '2p' | sed 's|user: ||') +pass=$(echo "$details" | head -n1) + +case "$(printf "autotype\npass\nuser" | eval "$MENU_CMD")" in + autotype) + wtype "$user" + wtype -k Tab + wtype "$pass" ;; + pass) + wtype "$pass" ;; + user) + wtype "$user" ;; +esac diff --git a/.local/bin/menu/power b/.local/bin/menu/power new file mode 100755 index 0000000..4962580 --- /dev/null +++ b/.local/bin/menu/power @@ -0,0 +1,9 @@ +#!/bin/sh + +case "$(printf "shutdown\nreboot\nlogout\nsuspend\nlock" | eval bemenu -p 'power')" in + shutdown) exec systemctl poweroff;; + reboot) exec systemctl reboot;; + logout) exec loginctl terminate-session "${XDG_SESSION_ID-}";; + suspend) exec systemctl suspend;; + lock) exec swaylock -f -c 000000;; +esac |