SSHCOLOURS=~/.ssh/colours
+while getopts ":t:" opt; do
+ case "$opt" in
+ t) title="$OPTARG";;
+ esac
+done
+shift $((OPTIND-1))
+
+[ -z "$title" ] && title="$1"
+
fqdn=${1##*@}
colour=
# Get colour by regex.
-for path in $(ls "$SSHCOLOURS" | lensort -r); do
- re=${path##*/}
- echo "$fqdn" | grep -qs "$re" || continue
- colour=$(readlink "$SSHCOLOURS/$path")
- break
-done
+if [ -z "$colour" ]; then
+ for path in $(ls "$SSHCOLOURS" | lensort -r); do
+ re=${path##*/}
+ echo "$fqdn" | grep -qs "$re" || continue
+ colour=$(readlink "$SSHCOLOURS/$path")
+ break
+ done
+fi
+
+# Get colour by netgroup.
+if [ -z "$colour" ]; then
+ for netgroup in $(ls "$SSHCOLOURS" | grep ^\@); do
+ if netgroups $netgroup ${fqdn%%.*} &>/dev/null; then
+ colour=$(readlink "$SSHCOLOURS/$netgroup")
+ break
+ fi
+ done
+fi
if [ ! -z "$colour" ]; then
colour=${colour##*/}
colour=${colour##*:}
- echo -e "\033]49;$colour\007"
- clear
fi
-exec ${SSHTERM_SSH:-ssh} ${1+"$@"}
+[ -n "$colour" ] && colour="-bg $colour -bd $colour"
+exec ${SSHTERM:-xterm} ${SSHTERM_TITLE:--title} "$title" \
+ $colour ${SSHTERM_EXEC:--e} ${SSHTERM_SSH:-ssh} ${1+"$@"}