#!/bin/sh
# \
exec tclsh $0

set auto_path [concat . $auto_path]
package require Term

term init raw
term enter
term clear

term puts "Tab test:\n"
term puts "\tx         |0\n"
term puts "x\tx         |1\n"
term puts "xx\tx         |2\n"
term puts "xxx\tx         |3\n"
term puts "xxxx\tx         |4\n"
term puts "xxxxx\tx         |5\n"
term puts "xxxxxx\tx         |6\n"
term puts "xxxxxxx\tx         |7\n"
term puts "xxxxxxxx\tx |8\n"
term puts "xxxxxxxxx\tx |9\n"
term puts "xxxxxxxxxx\tx |10\n"
term puts "xxxxxxxxxxx\tx |11\n"

term move 15 0
term puts "Enter string: "
term flush
set in [term newinput [term curr_row] [term curr_col]  15 0 bold red blue]
$in movecursor
$in redraw
$in addmacro "" "redraw"
while 1 {
    set c [term getchar]
    set ret [$in process $c str]
    if {$ret == 1} {
	term attr alloff default default
	term move 16 0
	term puts "String typed: $str"
	term flush
	break;
    }
    if {$ret == 2} {
	term attr alloff default default
	term move 16 0
	term puts "Macro hit: $str"
	term clreol
	$in movecursor
	term flush
    }
}

#term puts "$in "
#set s [term gets 15]

#term move 16 0
#term puts "String typed: $s"
term move 18 0
term puts "About to scroll up the tab test above, hit any key to start."
term corner
term getchar

for { set i 0 } { $i < 12 } { incr i } {
	term scroll 1 13 -1
	term move 13 0
	term clreol
	term corner
	after 50
}
term beep
term move 18 0
term clreol
term move 4 3
term attr underline 0 0
term puts "Done testing scroll"
term attr underlineoff 0 0
term move 5 3
term attr bold red 0
term puts "Hit "
term attr 0 magenta 0
term puts "any "
term attr 0 yellow 0
term puts "key "
term attr 0 green 0
term puts "to "
term attr 0 cyan  0
term puts "exit"
term attr 0 default 0
term puts "..."
term corner
term getchar

term exit
