summaryrefslogtreecommitdiff
path: root/examples/functions/term
blob: fbe99f13d1e1338f23618a011f4eccf4260f21ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#
# term -- a shell function to set the terminal type interactively or not.
#

term()
{
	local	t

	if [ $# != 0 ] ; then
		eval $(tset -sQ $1)
	else				# interactive
		if [ -z "$TERM" ] ; then
			TERM="unknown"
		fi

		case "$TERM" in
			network|dialup|unknown|lat)
				TERM=unknown
				;;
			*)
				eval $(tset -sQ)
				;;
		esac

		while [ "$TERM" = "unknown" ] ; do
			echo -n "Terminal type: "
			read t
			if [ -n "$t" ] ; then
				eval $(tset -sQ $t)
			fi
		done
	fi
}