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