aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Burwell <ben@benburwell.com>2019-12-12 17:23:05 -0500
committerBen Burwell <ben@benburwell.com>2019-12-12 17:23:05 -0500
commit735a06f9cb4766b5d888af02bcf56ead62e8cb4e (patch)
tree391ac27531d95e20f251c0baeccb66a020b2b736
parent72d46bb8d8af6e0ece0ac6eca2a1985692d28c19 (diff)
sway: integrate password-store
-rwxr-xr-xtemplates/.bin/passmenu14
-rw-r--r--templates/.config/sway/config3
2 files changed, 17 insertions, 0 deletions
diff --git a/templates/.bin/passmenu b/templates/.bin/passmenu
new file mode 100755
index 0000000..8284ff2
--- /dev/null
+++ b/templates/.bin/passmenu
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+shopt -s nullglob globstar
+
+prefix=${PASSWORD_STORE_DIR-~/.password-store}
+password_files=( "$prefix"/**/*.gpg )
+password_files=( "${password_files[@]#"$prefix"/}" )
+password_files=( "${password_files[@]%.gpg}" )
+
+password=$(printf '%s\n' "${password_files[@]}" | dmenu "$@")
+
+[[ -n $password ]] || exit
+
+pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | wl-copy
diff --git a/templates/.config/sway/config b/templates/.config/sway/config
index 0b78d0c..62ce805 100644
--- a/templates/.config/sway/config
+++ b/templates/.config/sway/config
@@ -66,6 +66,9 @@ input "1133:16493:Logitech_M705" {
# Lock the screen
bindsym $mod+Shift+q exec swaylock -c 000000
+ # Grab a password
+ bindsym $mod+Shift+p exec passmenu
+
#
# Moving around:
#