#!/bin/sh export SSH_AUTH_SOCK="${HOME}/.ssh/ssh_auth_sock" cmd="$1" shift get_hosts() { awk -F",| " '{print $1}' "${HOME}/.ssh/known_hosts" awk '$1 == "Host" {print $2}' "${HOME}/.ssh/config" } result=$(get_hosts | sort -uV | dmenu -p ssh ${1+"$@"}) || exit 1 exec $cmd $result # call from ~/.i3/config: # bindsym $mod+Control+Return exec ~/bin/dmenu_ssh '/usr/bin/urxvtc -e ssh' -i -b -fn "$font"