ncurses 6.0 - patch 20170128
[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
60        its scrollback buffer (if the extended "E3" capability  is
61        defined).  <STRONG>clear</STRONG> looks in the environment for the terminal
62        type given by the environment variable <STRONG>TERM</STRONG>, and  then  in
63        the  <STRONG>terminfo</STRONG>  database  to  determine  how  to  clear the
64        screen.
65
66        <STRONG>clear</STRONG> writes to the standard output.  You can redirect the
67        standard output to a file (which prevents <STRONG>clear</STRONG> from actu-
68        ally clearing the screen), and later <STRONG>cat</STRONG> the file  to  the
69        screen, clearing it at that point.
70
71        <STRONG>clear</STRONG>  ignores  any  command-line  parameters  that may be
72        present.  The  analogous  "<STRONG>tput</STRONG>  clear"  has  command-line
73        parameters  including  <STRONG>-T</STRONG> for overriding the <STRONG>TERM</STRONG> environ-
74        ment variable.
75
76
77 </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
78        A <STRONG>clear</STRONG> command appeared in  2.79BSD  dated  February  24,
79        1979.  Later that was provided in Unix 8th edition (1985).
80
81        AT&amp;T  adapted a different BSD program (<STRONG>tset</STRONG>) to make a new
82        command (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command
83        with a shell script which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
84
85          /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
86          exit
87
88        In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to
89        make it similar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell  script
90        for the <STRONG>clear</STRONG> command:
91
92          exec tput clear
93
94        The  remainder  of  the script in each case is a copyright
95        notice.
96
97        The ncurses <STRONG>clear</STRONG> command began in 1995  by  adapting  the
98        original BSD <STRONG>clear</STRONG> command (with terminfo, of course).
99
100        The <STRONG>E3</STRONG> extension came later:
101
102        <STRONG>o</STRONG>   In June 1999, xterm provided an extension to the stan-
103            dard control sequence for clearing the screen.  Rather
104            than  clearing  just  the  visible  part of the screen
105            using
106
107              printf '\033[2J'
108
109            one could clear the <EM>scrollback</EM> using
110
111              printf '\033[<STRONG>3</STRONG>J'
112
113            This is documented in <EM>XTerm</EM>  <EM>Control</EM>  <EM>Sequences</EM>  as  a
114            feature originating with xterm.
115
116        <STRONG>o</STRONG>   A  few  other terminal developers adopted the feature,
117            e.g., PuTTY in 2006.
118
119        <STRONG>o</STRONG>   In April 2011, a Red Hat developer submitted  a  patch
120            to  the  Linux kernel, modifying its console driver to
121            do the same thing.  The Linux change, part of the  3.0
122            release,  did not mention xterm, although it was cited
123            in the Red Hat bug report (#683733) which led  to  the
124            change.
125
126        <STRONG>o</STRONG>   Again,  a  few  other  terminal developers adopted the
127            feature.  But the next relevant step was a  change  to
128            the  <STRONG>clear</STRONG>  program in 2013 to incorporate this exten-
129            sion.
130
131        <STRONG>o</STRONG>   In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG>  with
132            the  "clear" parameter.  That was addressed in 2016 by
133            reorganizing <STRONG>tput</STRONG> to share its logic  with  <STRONG>clear</STRONG>  and
134            <STRONG>tset</STRONG>.
135
136
137 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
138        Neither  IEEE Std 1003.1/The Open  Group  Base  Specifica-
139        tions  Issue  7 (POSIX.1-2008) nor X/Open Curses  Issue  7
140        documents tset or reset.
141
142        The  latter documents <STRONG>tput</STRONG>, which could be used to replace
143        this utility either via a shell  script  or  by  an  alias
144        (such as a symbolic link) to run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
145
146
147 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
148        <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
149
150        This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170128).
151
152
153
154                                                                <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
155 </PRE>
156 <div class="nav">
157 <ul>
158 <li><a href="#h2-NAME">NAME</a></li>
159 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
160 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
161 <li><a href="#h2-HISTORY">HISTORY</a></li>
162 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
163 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
164 </ul>
165 </div>
166 </BODY>
167 </HTML>