V10/vol2/anim/is.gen

awk '
BEGIN {	n = ARGV[1]	# number of elements to sort
	for (i = 1; i <= n; i++) x[i] = 1 + int(25*rand())
	for (i = 1; i <= n; i++) draw(i)
	for (i = 2; i <= n; i++) {
	    for (j = i; j > 1 && less(j, j-1); j--)
		swap(j-1, j)
	    print "view text"
	    print "bar: text ljust", i, 1, "\"  |\""
	    print "click phase"
	}
}
function draw(i)  {
	print "view text"
	print "a" i ": text", i, 1, x[i]
	print "view geom"
	print "a" i ": line", i, 0, i, x[i]
}
function swap(i, j,   t) {
	t = x[i];  x[i] = x[j];  x[j] = t
	draw(i); draw(j)
	print "click swap"
}
function less(i, j) {
	print "click comp"
	if (x[i] < x[j]) return 1; else return 0
}' $*