Unset the TERMCAP environment variable before checking whether we have a particular...
[profile.git] / .profile.d / TERM.bashrc
index f9132c0..054e284 100644 (file)
@@ -3,11 +3,27 @@
 # Try to find a valid TERM entry.
 #
 
-for term in linux dtterm xterm vt100; do
-  if has_term $term; then
-    export TERM=$term
-    break
+# Note that running answerback will prevent keyboard input, which is annoying 
+# if you try to start typing while the shell is starting up.
+term=
+eval $(answerback 2>/dev/null)
+case "$ANSWERBACK" in
+  PuTTY) term=xterm-256color;;
+  urxvt) term=rxvt-unicode;;
+esac
+
+if [ ! -z "$term" ]; then
+  if ! has_term $term; then
+    export TERMINFO=~/.terminfo
   fi
-done
+  export TERM=$term
+elif ! has_term $TERM; then
+  for term in rxvt-unicode xterm-256color xterm-88color linux dtterm xterm-color xterm vt100; do
+    if has_term $term; then
+      export TERM=$term
+      break
+    fi
+  done
+fi
 
-unset term
+unset ANSWERBACK term