Updated 2016-04-20 06:59:52 by arjen

I just want to clear the screen sounds like such a simple thing. Why is it difficult? Because there are so many types of screens! Are we talking about a terminal emulator program, like xterm, rxvt, telnet? Are we talking about a physical terminal on a serial line (vt220)? Is it a line printer???? Is it a Tk text widget?

Here are a few ways:
exec clear >@ stdout        ; # Most unix systems should have a clear command
puts [exec clear]           ; # The puts forces the connection to stdout?

puts \x1B\[2J               ; # for Solaris xterm - VERY terminal specific

eval exec [auto_execok cls] ; # Most windows systems should have a cls

exec command /c cls         ; # DOS?

exec >&@stdout $::env(COMSPEC) /c cls    ; # Win95

$t delete 1.0 end           ;# Tk text widget

In clear screen from within Tcl, comp.lang.tcl, 2005-04-13, Bruce Hartweg suggests:
eval exec >&@stdout <@stdin [auto_execok cls]

Ro: Pretty neat tricks ;)

Angel Sosa:

In addition the following examples clears the whole screen (on which platforms and for what kinds of machines?)
puts \x1b\[H\x1b\[2J

This initializes and clears the screen on a unix system with some sort of terminfo/termcap/curses library installation: :
exec tput clear >@ stdout