diff options
Diffstat (limited to 'bin/guiscripts')
-rwxr-xr-x | bin/guiscripts/keyadd | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/bin/guiscripts/keyadd b/bin/guiscripts/keyadd index aac7cdf..7412199 100755 --- a/bin/guiscripts/keyadd +++ b/bin/guiscripts/keyadd @@ -1,8 +1,4 @@ #!/bin/sh -die () -{ - echo "$1" >&2 -} # For when script calls itself if [ -n "$PASSWORD" ] @@ -12,25 +8,42 @@ then exit 1 fi -key="$(find ~/.ssh -iname "*.pub" | - sed "s,$HOME/.ssh/,," | - cut -f1 -d. | - $MENUCMD)" + +if [ "$MENUCMD" = "tofi" ] +then + menucmd="tofi --matching-algorithm=normal" +else + menucmd="$MENUCMD" +fi + + +die () +{ + echo "$1" >&2 +} + +SSHFOLDER="$HOME/.ssh" + +key="$(find "$SSHFOLDER" -iname "*.pub" | + sed "s,$SSHFOLDER/,," | # Clean + sed 's/\.pub$//' | + $menucmd)" die "key: $key" -test ! -f "$HOME/.ssh/$key" && exit 1 +test ! -f "$SSHFOLDER/$key" && exit 1 HOST=$(hostnamectl hostname | sed 's/forlure/fl/;s/montecristo/mc/') if [ "$1" = "-d" ] then - ssh-add -d - < $HOME/.ssh/$key.pub && - notify-send "$0" "deleted <b>$key</b>" -elif ! ssh-add -l | grep -q "$(ssh-keygen -lf $HOME/.ssh/$key)" + ssh-add -d - < "$SSHFOLDER"/$key.pub && + notify-send "$0" "deleted <b>$key</b>" || + notify-send "$0" "could not delete." +elif ! ssh-add -l | grep -q "$(ssh-keygen -lf "$SSHFOLDER"/$key)" then export PASSWORD="keys/fl/ssh/$key" export SSH_ASKPASS="$0" - ssh-add - < $HOME/.ssh/$key && + ssh-add - < "$SSHFOLDER"/$key && notify-send "$0" "added <b>$key</b>" else die "key already added." |