summaryrefslogtreecommitdiff
path: root/.local/bin/menu
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/menu')
-rwxr-xr-x.local/bin/menu/pass24
-rwxr-xr-x.local/bin/menu/power9
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