-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: clear.1,v 1.8 2010/12/04 18:36:44 tom Exp @
+ * @Id: clear.1,v 1.16 2016/12/31 16:09:34 tom Exp @
+ * these would be fallbacks for DS/DE,
+ * but groff changed the meaning of the macros.
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>clear 1</TITLE>
<link rev=made href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>clear 1</H1>
-<HR>
+<H1 class="no-header">clear 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>clear</STRONG> - clear the terminal screen
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>clear</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>clear</STRONG> clears your screen if this is possible. It looks in
- the environment for the terminal type and then in the <STRONG>ter-</STRONG>
- <STRONG>minfo</STRONG> database to figure out how to clear the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>clear</STRONG> clears your screen if this is possible, including
+ its scrollback buffer (if the extended "E3" capability is
+ defined). <STRONG>clear</STRONG> looks in the environment for the terminal
+ type given by the environment variable <STRONG>TERM</STRONG>, and then in
+ the <STRONG>terminfo</STRONG> database to determine how to clear the
+ screen.
+
+ <STRONG>clear</STRONG> writes to the standard output. You can redirect the
+ standard output to a file (which prevents <STRONG>clear</STRONG> from actu-
+ ally clearing the screen), and later <STRONG>cat</STRONG> the file to the
+ screen, clearing it at that point.
<STRONG>clear</STRONG> ignores any command-line parameters that may be
- present.
+ present. The analogous "<STRONG>tput</STRONG> clear" has command-line
+ parameters including <STRONG>-T</STRONG> for overriding the <STRONG>TERM</STRONG> environ-
+ ment variable.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ A <STRONG>clear</STRONG> command appeared in 2.79BSD dated February 24,
+ 1979. Later that was provided in Unix 8th edition (1985).
+
+ AT&T adapted a different BSD program (<STRONG>tset</STRONG>) to make a new
+ command (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command
+ with a shell script which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
+
+ /usr/bin/tput ${1:+-T$1} clear 2> /dev/null
+ exit
+
+ In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to
+ make it similar to the AT&T <STRONG>tput</STRONG>, he added a shell script
+ for the <STRONG>clear</STRONG> command:
+
+ exec tput clear
+
+ The remainder of the script in each case is a copyright
+ notice.
+
+ The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the
+ original BSD <STRONG>clear</STRONG> command (with terminfo, of course).
+
+ The <STRONG>E3</STRONG> extension came later:
+
+ <STRONG>o</STRONG> In June 1999, xterm provided an extension to the stan-
+ dard control sequence for clearing the screen. Rather
+ than clearing just the visible part of the screen
+ using
+
+ printf '\033[2J'
+
+ one could clear the <EM>scrollback</EM> using
+
+ printf '\033[<STRONG>3</STRONG>J'
+
+ This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a
+ feature originating with xterm.
+
+ <STRONG>o</STRONG> A few other terminal developers adopted the feature,
+ e.g., PuTTY in 2006.
+
+ <STRONG>o</STRONG> In April 2011, a Red Hat developer submitted a patch
+ to the Linux kernel, modifying its console driver to
+ do the same thing. The Linux change, part of the 3.0
+ release, did not mention xterm, although it was cited
+ in the Red Hat bug report (#683733) which led to the
+ change.
+
+ <STRONG>o</STRONG> Again, a few other terminal developers adopted the
+ feature. But the next relevant step was a change to
+ the <STRONG>clear</STRONG> program in 2013 to incorporate this exten-
+ sion.
+
+ <STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with
+ the "clear" parameter. That was addressed in 2016 by
+ reorganizing <STRONG>tput</STRONG> to share its logic with <STRONG>clear</STRONG> and
+ <STRONG>tset</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ Neither IEEE Std 1003.1/The Open Group Base Specifica-
+ tions Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7
+ documents tset or reset.
+
+ The latter documents <STRONG>tput</STRONG>, which could be used to replace
+ this utility either via a shell script or by an alias
+ (such as a symbolic link) to run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.7 (patch 20110212).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170121).
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>