diff --git a/sway/config b/sway/config index 7da0b7c..66a86f7 100644 --- a/sway/config +++ b/sway/config @@ -11,7 +11,7 @@ set $scripts $HOME/.config/sway/scripts set $tty-popup $scripts/tty-popup set $menu bash ~/.config/sway/scripts/menu -set $pass_menu $term --class fzf-pass -e sh -c /usr/bin/fzf-pass +set $pass_menu $tty-popup pass $scripts/fzf-pass set $clipman_menu bash ~/.config/sway/scripts/menu_clipman set $clipman_clear_menu bash ~/.config/sway/scripts/clipman_clear_menu @@ -23,9 +23,8 @@ set $printscreen bash ~/.config/sway/scripts/printscreen set $PIP floating enabled ; sticky enabled ; border pixel 0 for_window [class="mpv"] $PIP for_window [class="pip"] $PIP -for_window [window_role="PictureInPicture"] $PIP -for_window [class="feh"] floating enabled ; border pixel 0 -for_window [app_id="fzf-pass"] focus, floating enabled, border pixel 1 +for_window [class="feh"] $PIP +for_window [app_id="firefox" title="^Picture-in-Picture$"] $PIP for_window [app_id="tty-popup"] focus; $PIP for_window [app_id="tty-popup" title="^pass$"] resize set 33 ppt 33 ppt diff --git a/sway/scripts/fzf-pass b/sway/scripts/fzf-pass new file mode 100755 index 0000000..a75a8e2 --- /dev/null +++ b/sway/scripts/fzf-pass @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +# Credit goes to https://git.reekynet.com/ReekyMarko/fzf-pass for this. + +cd "$HOME/.password-store" || exit 1 +PASSFILE=$(tree -Ffi \ + | grep '.gpg' \ + | sed 's/.gpg$//g' \ + | sed 's/^..//' \ + | fzf --reverse --no-info --prompt='pass::' --pointer='➜' --no-multi ) + + +if [ -z "$PASSFILE" ]; then + exit 0 +fi + +PASSDATA="$(pass "$PASSFILE")" +USRNAME="$(echo "$PASSDATA" | grep "username:" | cut -d' ' -f2-)" +PASS="$(echo "$PASSDATA" | head -n 1)" +URL="$(echo "$PASSDATA" | grep url: | cut -d' ' -f2-)" + +RESP=$(cat <