#!/bin/zsh
# Michael Weber michael at xmw dot de 2013
# vim: expandtab tabstop=4

case $@ in 
    -h|--help)
        echo Usage: $(basename $0)
        ;;
    "")
        touch ~/.dmenu_ssh
        host=$(tac ~/.dmenu_ssh | dmenu -p ssh)
        [ $? -ne 0 ] && exit
        sed -i -e "/^$host$/d" ~/.dmenu_ssh
        echo "$host" >> ~/.dmenu_ssh
        if [ -n "$host" ] ; then
            for hostname in ${=host} ; do
                [ ${hostname:0:1} != "-" ] && break
            done
            TERM=${TERM/-256color/} urxvt -title "$hostname" -e $0 $=host &
        fi
        ;;
    *)
        ssh $@
        ret=$?
        [ $ret -eq 0 ] && break
        echo ; echo ; echo
        read "retry?command failed with code $ret, retry [Yn]: "
        case $retry in
            Y|y|"") exec $0 $@ ;;
        esac
        ;;
esac

