summaryrefslogtreecommitdiff
path: root/.local/bin/dmenu
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/dmenu')
-rwxr-xr-x.local/bin/dmenu/dm-pass24
-rwxr-xr-x.local/bin/dmenu/dm-power11
2 files changed, 35 insertions, 0 deletions
diff --git a/.local/bin/dmenu/dm-pass b/.local/bin/dmenu/dm-pass
new file mode 100755
index 0000000..5420549
--- /dev/null
+++ b/.local/bin/dmenu/dm-pass
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+DMENU_CMD="dmenu -p 'Pass:' -b -i -fn 'JetBrainsMono Nerd Font:size=11'"
+
+entry=$(find "$PASSWORD_STORE_DIR" -name '*.gpg' |\
+ sed "s|$PASSWORD_STORE_DIR/||" |\
+ sed "s|.gpg||" |\
+ sort -n |\
+ eval "$DMENU_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 "$DMENU_CMD")" in
+ autotype)
+ xdotool type "$user"
+ xdotool key Tab
+ xdotool type "$pass" ;;
+ pass)
+ xdotool type "$pass" ;;
+ user)
+ xdotool type "$user" ;;
+esac
diff --git a/.local/bin/dmenu/dm-power b/.local/bin/dmenu/dm-power
new file mode 100755
index 0000000..77bcfd9
--- /dev/null
+++ b/.local/bin/dmenu/dm-power
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+case "$(printf "Shutdown\nRestart\nLogout\nSuspend\nLock" | dmenu \
+ -fn 'JetBrainsMono NerdFont:size=11' -i \
+ -b -p 'Power:')" in
+ Shutdown) exec systemctl poweroff;;
+ Restart) exec systemctl reboot;;
+ Logout) kill -HUP "$XDG_SESSION_PID";;
+ Suspend) exec systemctl suspend;;
+ Lock) exec systemctl --user start lock.target;;
+esac