ncurses 6.0 - patch 20170506
[ncurses.git] / doc / html / man / clear.1.html
1 <!-- 
2   ****************************************************************************
3   * Copyright (c) 1998-2013,2016 Free Software Foundation, Inc.              *
4   *                                                                          *
5   * Permission is hereby granted, free of charge, to any person obtaining a  *
6   * copy of this software and associated documentation files (the            *
7   * "Software"), to deal in the Software without restriction, including      *
8   * without limitation the rights to use, copy, modify, merge, publish,      *
9   * distribute, distribute with modifications, sublicense, and/or sell       *
10   * copies of the Software, and to permit persons to whom the Software is    *
11   * furnished to do so, subject to the following conditions:                 *
12   *                                                                          *
13   * The above copyright notice and this permission notice shall be included  *
14   * in all copies or substantial portions of the Software.                   *
15   *                                                                          *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23   *                                                                          *
24   * Except as contained in this notice, the name(s) of the above copyright   *
25   * holders shall not be used in advertising or otherwise to promote the     *
26   * sale, use or other dealings in this Software without prior written       *
27   * authorization.                                                           *
28   ****************************************************************************
29   * @Id: clear.1,v 1.16 2016/12/31 16:09:34 tom Exp @
30   * these would be fallbacks for DS/DE,
31   * but groff changed the meaning of the macros.
32 -->
33 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
34 <HTML>
35 <HEAD>
36 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
37 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
38 <TITLE>clear 1</TITLE>
39 <link rev=made href="mailto:bug-ncurses@gnu.org">
40 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
41 </HEAD>
42 <BODY>
43 <H1 class="no-header">clear 1</H1>
44 <PRE>
45 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>                                                              <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
46
47
48
49
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51        <STRONG>clear</STRONG> - clear the terminal screen
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>clear</STRONG>
56
57
58 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
59        <STRONG>clear</STRONG>  clears your screen if this is possible, including its scrollback
60        buffer (if the extended "E3" capability is defined).   <STRONG>clear</STRONG>  looks  in
61        the environment for the terminal type given by the environment variable
62        <STRONG>TERM</STRONG>, and then in the <STRONG>terminfo</STRONG> database to determine how to  clear  the
63        screen.
64
65        <STRONG>clear</STRONG>  writes  to  the  standard output.  You can redirect the standard
66        output to a file (which  prevents  <STRONG>clear</STRONG>  from  actually  clearing  the
67        screen),  and  later  <STRONG>cat</STRONG>  the  file to the screen, clearing it at that
68        point.
69
70        <STRONG>clear</STRONG> ignores any command-line parameters that  may  be  present.   The
71        analogous  "<STRONG>tput</STRONG>  clear"  has  command-line parameters including <STRONG>-T</STRONG> for
72        overriding the <STRONG>TERM</STRONG> environment variable.
73
74
75 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
76        A <STRONG>clear</STRONG> command appeared in 2.79BSD dated  February  24,  1979.   Later
77        that was provided in Unix 8th edition (1985).
78
79        AT&amp;T  adapted  a  different  BSD  program  (<STRONG>tset</STRONG>) to make a new command
80        (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command with a shell  script
81        which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
82
83          /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
84          exit
85
86        In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it sim-
87        ilar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG> command:
88
89          exec tput clear
90
91        The remainder of the script in each case is a copyright notice.
92
93        The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting  the  original  BSD
94        <STRONG>clear</STRONG> command (with terminfo, of course).
95
96        The <STRONG>E3</STRONG> extension came later:
97
98        <STRONG>o</STRONG>   In  June  1999, xterm provided an extension to the standard control
99            sequence for clearing the screen.  Rather than  clearing  just  the
100            visible part of the screen using
101
102              printf '\033[2J'
103
104            one could clear the <EM>scrollback</EM> using
105
106              printf '\033[<STRONG>3</STRONG>J'
107
108            This  is  documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature origi-
109            nating with xterm.
110
111        <STRONG>o</STRONG>   A few other terminal developers adopted the feature, e.g., PuTTY in
112            2006.
113
114        <STRONG>o</STRONG>   In  April  2011, a Red Hat developer submitted a patch to the Linux
115            kernel, modifying its console driver to do  the  same  thing.   The
116            Linux  change,  part  of  the  3.0  release, did not mention xterm,
117            although it was cited in the Red Hat bug report (#683733) which led
118            to the change.
119
120        <STRONG>o</STRONG>   Again,  a  few  other terminal developers adopted the feature.  But
121            the next relevant step was a change to the <STRONG>clear</STRONG> program in 2013 to
122            incorporate this extension.
123
124        <STRONG>o</STRONG>   In  2013,  the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with the "clear"
125            parameter.  That was addressed in  2016  by  reorganizing  <STRONG>tput</STRONG>  to
126            share its logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>.
127
128
129 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
130        Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue  7
131        (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.
132
133        The latter documents <STRONG>tput</STRONG>, which could be used to replace this  utility
134        either  via  a shell script or by an alias (such as a symbolic link) to
135        run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
136
137
138 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
139        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
140
141        This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170506).
142
143
144
145                                                                       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
146 </PRE>
147 <div class="nav">
148 <ul>
149 <li><a href="#h2-NAME">NAME</a></li>
150 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
151 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
152 <li><a href="#h2-HISTORY">HISTORY</a></li>
153 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
154 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
155 </ul>
156 </div>
157 </BODY>
158 </HTML>