X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Ftset.1;h=d64f9850f43e8d68522720094d6bfe8f5ba8ad4f;hp=9743f5b5a7c8423fef4562c4941e2ec680032bb5;hb=HEAD;hpb=96d6b16de0d487e5d3aed0302a179dbce11b5d96 diff --git a/man/tset.1 b/man/tset.1 index 9743f5b5..154d9158 100644 --- a/man/tset.1 +++ b/man/tset.1 @@ -1,5 +1,6 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. * +.\" Copyright 2018-2023,2024 Thomas E. Dickey * +.\" Copyright 1998-2016,2017 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 * @@ -26,258 +27,437 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tset.1,v 1.25 2010/12/04 18:38:55 tom Exp $ -.TH @TSET@ 1 "" +.\" $Id: tset.1,v 1.86 2024/05/11 20:39:53 tom Exp $ +.TH @TSET@ 1 2024-05-11 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands" +.ie \n(.g \{\ +.ds `` \(lq +.ds '' \(rq +.ds ^ \(ha +.\} +.el \{\ +.ie t .ds `` `` +.el .ds `` "" +.ie t .ds '' '' +.el .ds '' "" +.ds ^ ^ +.\} +. +.de bP +.ie n .IP \(bu 4 +.el .IP \(bu 2 +.. +. .SH NAME -\fBtset\fR, \fBreset\fR \- terminal initialization +\fB\%@TSET@\fP, +\fB\%@RESET@\fP \- +initialize or reset terminal state .SH SYNOPSIS -\fBtset\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR] +\fB@TSET@\fP [\fB\-IQVcqrsw\fP] [\fB\-\fP] [\fB\-e\fP \fIch\fP] [\fB\-i\fP \fIch\fP] [\fB\-k\fP \fIch\fP] [\fB\-m\fP \fImapping\fP] [\fIterminal-type\fP] .br -\fBreset\fR [\fB\-IQVcqrsw\fR] [\fB\-\fR] [\fB\-e\fR \fIch\fR] [\fB\-i\fR \fIch\fR] [\fB\-k\fR \fIch\fR] [\fB\-m\fR \fImapping\fR] [\fIterminal\fR] +\fB@RESET@\fP [\fB\-IQVcqrsw\fP] [\fB\-\fP] [\fB\-e\fP \fIch\fP] [\fB\-i\fP \fIch\fP] [\fB\-k\fP \fIch\fP] [\fB\-m\fP \fImapping\fP] [\fIterminal-type\fP] .SH DESCRIPTION -\&\fBTset\fR initializes terminals. -\fBTset\fR first determines the type of terminal that you are using. +.SS "\fItset\fP \(em initialization" +This program initializes terminals. +.PP +First, \fB@TSET@\fP retrieves the current terminal mode settings +for your terminal. +It does this by successively testing +.bP +the standard error, +.bP +standard output, +.bP +standard input and +.bP +ultimately \*(``/dev/tty\*('' +.PP +to obtain terminal settings. +Having retrieved these settings, \fB@TSET@\fP remembers which +file descriptor to use when updating settings. +.PP +Next, \fB@TSET@\fP determines the type of terminal that you are using. This determination is done as follows, using the first terminal type found. .PP -1. The \fBterminal\fR argument specified on the command line. +1. The \fBterminal\fP argument specified on the command line. .PP -2. The value of the \fBTERM\fR environmental variable. +2. The value of the \fITERM\fP environment variable. .PP 3. (BSD systems only.) The terminal type associated with the standard -error output device in the \fI/etc/ttys\fR file. -(On System\-V-like UNIXes and systems using that convention, -\fIgetty\fR does this job by setting -\fBTERM\fR according to the type passed to it by \fI/etc/inittab\fR.) -.PP -4. The default terminal type, ``unknown''. -.PP -If the terminal type was not specified on the command-line, the \fB\-m\fR -option mappings are then applied (see the section -.B TERMINAL TYPE MAPPING -for more information). -Then, if the terminal type begins with a question mark (``?''), the -user is prompted for confirmation of the terminal type. An empty +error output device in the \fI/etc/ttys\fP file. +(On System\ V hosts and systems using that convention, +\fI\%getty\fP(8) does this job by setting +\fITERM\fP according to the type passed to it by \fI\%/etc/inittab\fP.) +.PP +4. The default terminal type, \*(``unknown\*('', +is not suitable for curses applications. +.PP +If the terminal type was not specified on the command-line, the \fB\-m\fP +option mappings are then applied; +see subsection \*(``Terminal Type Mapping\*(''. +Then, if the terminal type begins with a question mark (\*(``?\*(''), the +user is prompted for confirmation of the terminal type. +An empty response confirms the type, or, another type can be entered to specify -a new type. Once the terminal type has been determined, the terminfo -entry for the terminal is retrieved. If no terminfo entry is found +a new type. +Once the terminal type has been determined, +the terminal description for the terminal is retrieved. +If no terminal description is found for the type, the user is prompted for another terminal type. .PP -Once the terminfo entry is retrieved, the window size, backspace, interrupt -and line kill characters (among many other things) are set and the terminal -and tab initialization strings are sent to the standard error output. +Once the terminal description is retrieved, +.bP +if the \*(``\fB\-w\fP\*('' option is enabled, \fB@TSET@\fP may update +the terminal's window size. +.IP +If the window size cannot be obtained from the operating system, +but the terminal description +(or environment, +e.g., +\fILINES\fP and \fI\%COLUMNS\fP variables specify this), +use this to set the operating system's notion of the window size. +.bP +if the \*(``\fB\-c\fP\*('' option is enabled, +the backspace, interrupt and line kill characters +(among many other things) are set +.bP +unless the \*(``\fB\-I\fP\*('' option is enabled, +the terminal +and tab \fIinitialization\fP strings are sent to the standard error output, +and \fB@TSET@\fP waits one second (in case a hardware reset was issued). +.bP Finally, if the erase, interrupt and line kill characters have changed, or are not set to their default values, their values are displayed to the standard error output. -Use the \fB\-c\fP or \fB\-w\fP option to select only the window sizing -versus the other initialization. -If neither option is given, both are assumed. -.PP -When invoked as \fBreset\fR, \fBtset\fR sets cooked and echo modes, -turns off cbreak and raw modes, turns on newline translation and -resets any unset special characters to their default values before -doing the terminal initialization described above. This is useful -after a program dies leaving a terminal in an abnormal state. Note, +.SS "\fIreset\fP \(em reinitialization" +When invoked as \fB@RESET@\fP, \fB@TSET@\fP sets the terminal +modes to \*(``sane\*('' values: +.bP +sets cooked and echo modes, +.bP +turns off cbreak and raw modes, +.bP +turns on newline translation and +.bP +resets any unset special characters to their default values +.PP +before +doing the terminal initialization described above. +Also, rather than using the terminal \fIinitialization\fP strings, +it uses the terminal \fIreset\fP strings. +.PP +The \fB@RESET@\fP command is useful +after a program dies leaving a terminal in an abnormal state: +.bP you may have to type .sp - \fBreset\fR + \fI\fB@RESET@\fI\fR .sp (the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state. +.bP Also, the terminal will often not echo the command. +.SS "Setting the Environment" +It is often desirable to enter the terminal type and information about +the terminal's capabilities into the shell's environment. +This is done using the \fB\-s\fP option. +.PP +When the \fB\-s\fP option is specified, the commands to enter the information +into the shell's environment are written to the standard output. +If the \fISHELL\fP environment variable ends in \*(``csh\*('', +the commands +are for \fIcsh\fP(1), +otherwise, +they are for \fIsh\fP(1). +The \fIcsh\fP commands set and unset the shell variable \fBnoglob\fP, +leaving it unset. +The following line in the \fB.login\fP +or \fB.profile\fP files will initialize the environment correctly: +.sp + eval \(ga@TSET@ \-s options ... \(ga +. +.SS "Terminal Type Mapping" +When the terminal is not hardwired into the system (or the current +system information is incorrect) the terminal type derived from the +\fI/etc/ttys\fP file or the \fITERM\fP environment variable is often +something generic like \fBnetwork\fP, \fBdialup\fP, or \fBunknown\fP. +When \fB@TSET@\fP is used in a startup script it is often desirable to +provide information about the type of terminal used on such ports. +.PP +The \fB\-m\fP options maps +from some set of conditions to a terminal type, that is, to +tell \fB@TSET@\fP +\*(``If I'm on this port at a particular speed, +guess that I'm on that kind of terminal\*(''. +.PP +The argument to the \fB\-m\fP option consists of an optional port type, an +optional operator, an optional baud rate specification, an optional +colon (\*(``:\*('') character and a terminal type. +The port type is a +string (delimited by either the operator or the colon character). +The operator may be any combination of +\*(``>\*('', +\*(``<\*('', +\*(``@\*('', +and \*(``!\*(''; +\*(``>\*('' means greater than, +\*(``<\*('' means less than, +\*(``@\*('' means equal to and +\*(``!\*('' inverts the sense of the test. +The baud rate is specified as a number and is compared with the speed +of the standard error output (which should be the control terminal). +The terminal type is a string. .PP +If the terminal type is not specified on the command line, the \fB\-m\fP +mappings are applied to the terminal type. +If the port type and baud +rate match the mapping, the terminal type specified in the mapping +replaces the current type. +If more than one mapping is specified, the +first applicable mapping is used. +.PP +For example, consider the following mapping: \fBdialup>9600:vt100\fP. +The port type is dialup , the operator is >, the baud rate +specification is 9600, and the terminal type is vt100. +The result of +this mapping is to specify that if the terminal type is \fBdialup\fP, +and the baud rate is greater than 9600 baud, a terminal type of +\fBvt100\fP will be used. +.PP +If no baud rate is specified, the terminal type will match any baud rate. +If no port type is specified, the terminal type will match any port type. +For example, \fB\-m dialup:vt100 \-m :?xterm\fP +will cause any dialup port, regardless of baud rate, to match the terminal +type vt100, and any non-dialup port type to match the terminal type ?xterm. +Note, because of the leading question mark, the user will be +queried on a default port as to whether they are actually using an xterm +terminal. +.PP +No whitespace characters are permitted in the \fB\-m\fP option argument. +Also, to avoid problems with meta-characters, it is suggested that the +entire \fB\-m\fP option argument be placed within single quote characters, +and that \fIcsh\fP users insert a backslash character (\*(``\e\*('') +before any exclamation marks (\*(``!\*(''). +.SH OPTIONS The options are as follows: .TP 5 .B \-c Set control characters and modes. -.B \-e -Set the erase character to \fIch\fR. +.TP 5 +.BI \-e\ ch +Set the erase character to \fIch\fP. .TP .B \-I Do not send the terminal or tab initialization strings to the terminal. .TP -.B \-i -Set the interrupt character to \fIch\fR. +.BI \-i\ ch +Set the interrupt character to \fIch\fP. .TP -.B \-k -Set the line kill character to \fIch\fR. +.BI \-k\ ch +Set the line kill character to \fIch\fP. .TP -.B \-m -Specify a mapping from a port type to a terminal. -See the section -.B TERMINAL TYPE MAPPING -for more information. +.BI \-m\ mapping +Specify a mapping from a port type to a terminal; +see subsection \*(``Terminal Type Mapping\*(''. .TP .B \-Q Do not display any values for the erase, interrupt and line kill characters. -Normally \fBtset\fR displays the values for control characters which +Normally \fB@TSET@\fP displays the values for control characters which differ from the system's default values. .TP .B \-q The terminal type is displayed to the standard output, and the terminal is -not initialized in any way. The option `\-' by itself is equivalent but -archaic. +not initialized in any way. +The option \*(``\-\*('' by itself is equivalent but archaic. .TP .B \-r Print the terminal type to the standard error output. .TP .B \-s Print the sequence of shell commands to initialize the environment variable -\fBTERM\fR to the standard output. -See the section -.B SETTING THE ENVIRONMENT -for details. +\fITERM\fP to the standard output; +see subsection \*(``Setting the Environment\*(''. .TP .B \-V -reports the version of ncurses which was used in this program, and exits. +reports the version of \fI\%ncurses\fP which was used in this program, +and exits. .TP .B \-w -Resize the window to match the size deduced via \fBsetupterm\fP. +Resize the window to match the size deduced via \fBsetupterm\fP(3X). Normally this has no effect, unless \fBsetupterm\fP is not able to detect the window size. .PP -The arguments for the \fB\-e\fR, \fB\-i\fR, and \fB\-k\fR -options may either be entered as actual characters or by using the `hat' -notation, i.e., control-h may be specified as ``^H'' or ``^h''. -. -.SH SETTING THE ENVIRONMENT -It is often desirable to enter the terminal type and information about -the terminal's capabilities into the shell's environment. -This is done using the \fB\-s\fR option. -.PP -When the \fB\-s\fR option is specified, the commands to enter the information -into the shell's environment are written to the standard output. If -the \fBSHELL\fR environmental variable ends in ``csh'', the commands -are for \fBcsh\fR, otherwise, they are for \fBsh\fR. -Note, the \fBcsh\fR commands set and unset the shell variable -\fBnoglob\fR, leaving it unset. The following line in the \fB.login\fR -or \fB.profile\fR files will initialize the environment correctly: -.sp - eval \`tset \-s options ... \` -. -.SH TERMINAL TYPE MAPPING -When the terminal is not hardwired into the system (or the current -system information is incorrect) the terminal type derived from the -\fI/etc/ttys\fR file or the \fBTERM\fR environmental variable is often -something generic like \fBnetwork\fR, \fBdialup\fR, or \fBunknown\fR. -When \fBtset\fR is used in a startup script it is often desirable to -provide information about the type of terminal used on such ports. +The arguments for the \fB\-e\fP, \fB\-i\fP, and \fB\-k\fP +options may either be entered as actual characters +or by using the \*(``hat\*('' +notation, i.e., control-h may be specified as \*(``\*^H\*('' or \*(``\*^h\*(''. .PP -The purpose of the \fB\-m\fR option is to map -from some set of conditions to a terminal type, that is, to -tell \fBtset\fR -``If I'm on this port at a particular speed, guess that I'm on that -kind of terminal''. +If neither \fB\-c\fP or \fB\-w\fP is given, both options are assumed. +.SH ENVIRONMENT +The \fB@TSET@\fP command uses these environment variables: +.TP 5 +.I SHELL +tells \fB@TSET@\fP whether to initialize \fITERM\fP using \fIsh\fP(1) or +\fIcsh\fP(1) syntax. +.TP 5 +.I TERM +Denotes your terminal type. +Each terminal type is distinct, though many are similar. +.TP 5 +.I TERMCAP +may denote the location of a termcap database. +If it is not an absolute pathname, e.g., begins with a \*(``/\*('', +\fB@TSET@\fP removes the variable from the environment before looking +for the terminal description. +.SH FILES +.TP +.I /etc/ttys +system port name to terminal type mapping database (BSD versions only). +.TP +.I @TERMINFO@ +compiled terminal description database directory +.SH PORTABILITY +Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 +(POSIX.1-2008) nor +X/Open Curses Issue 7 documents \fB@TSET@\fP or \fB@RESET@\fP. .PP -The argument to the \fB\-m\fR option consists of an optional port type, an -optional operator, an optional baud rate specification, an optional -colon (``:'') character and a terminal type. The port type is a -string (delimited by either the operator or the colon character). The -operator may be any combination of ``>'', ``<'', ``@'', and ``!''; ``>'' -means greater than, ``<'' means less than, ``@'' means equal to -and ``!'' inverts the sense of the test. -The baud rate is specified as a number and is compared with the speed -of the standard error output (which should be the control terminal). -The terminal type is a string. +The AT&T \fBtput\fP utility (AIX, HP-UX, Solaris) +incorporated the terminal-mode manipulation as well as termcap-based features +such as resetting tabstops from \fBtset\fP in BSD (4.1c), +presumably with the intention of making \fBtset\fP obsolete. +However, each of those systems still provides \fBtset\fP. +In fact, the commonly-used \fBreset\fP utility +is always an alias for \fBtset\fP. .PP -If the terminal type is not specified on the command line, the \fB\-m\fR -mappings are applied to the terminal type. If the port type and baud -rate match the mapping, the terminal type specified in the mapping -replaces the current type. If more than one mapping is specified, the -first applicable mapping is used. +The \fB\%@TSET@\fP utility provides backward compatibility with BSD +environments; +under most modern Unices, +\fI\%/etc/inittab\fP and \fI\%getty\fP(8) can set \fITERM\fP +appropriately for each dial-up line, +obviating what was \fB\%@TSET@\fP's most important use. +This implementation behaves like 4.4BSD \fBtset\fP, +with a few exceptions we shall consider now. .PP -For example, consider the following mapping: \fBdialup>9600:vt100\fR. -The port type is dialup , the operator is >, the baud rate -specification is 9600, and the terminal type is vt100. The result of -this mapping is to specify that if the terminal type is \fBdialup\fR, -and the baud rate is greater than 9600 baud, a terminal type of -\fBvt100\fR will be used. +A few options are different +because the \fI\%TERMCAP\fP variable +is no longer supported under terminfo-based \fI\%ncurses\fP: +.bP +The \fB\-S\fP option of BSD \fBtset\fP no longer works; +it prints an error message to the standard error and dies. +.bP +The \fB\-s\fP option only sets \fITERM\fP, +not \fI\%TERMCAP\fP. .PP -If no baud rate is specified, the terminal type will match any baud rate. -If no port type is specified, the terminal type will match any port type. -For example, \fB\-m dialup:vt100 \-m :?xterm\fR -will cause any dialup port, regardless of baud rate, to match the terminal -type vt100, and any non-dialup port type to match the terminal type ?xterm. -Note, because of the leading question mark, the user will be -queried on a default port as to whether they are actually using an xterm -terminal. +There was an undocumented 4.4BSD feature +that invoking \fBtset\fP via a link named +\*(``TSET\*('' (or via any other name beginning with an upper-case letter) +set the terminal to use upper-case only. +This feature has been omitted. .PP -No whitespace characters are permitted in the \fB\-m\fR option argument. -Also, to avoid problems with meta-characters, it is suggested that the -entire \fB\-m\fR option argument be placed within single quote characters, -and that \fBcsh\fR users insert a backslash character (``\e'') before -any exclamation marks (``!''). -.SH HISTORY -The \fBtset\fR command appeared in BSD 3.0. The \fBncurses\fR implementation -was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric -S. Raymond . -.SH COMPATIBILITY -The \fBtset\fR utility has been provided for backward-compatibility with BSD -environments (under most modern UNIXes, \fB/etc/inittab\fR and \fIgetty\fR(1) -can set \fBTERM\fR appropriately for each dial-up line; this obviates what was -\fBtset\fR's most important use). This implementation behaves like 4.4BSD -tset, with a few exceptions specified here. -.PP -The \fB\-S\fR option of BSD tset no longer works; it prints an error message to stderr -and dies. The \fB\-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these -changes are because the \fBTERMCAP\fR variable is no longer supported under -terminfo-based \fBncurses\fR, which makes \fBtset \-S\fR useless (we made it die -noisily rather than silently induce lossage). -.PP -There was an undocumented 4.4BSD feature that invoking tset via a link named -`TSET` (or via any other name beginning with an upper-case letter) set the -terminal to use upper-case only. This feature has been omitted. -.PP -The \fB\-A\fR, \fB\-E\fR, \fB\-h\fR, \fB\-u\fR and \fB\-v\fR -options were deleted from the \fBtset\fR +The \fB\-A\fP, \fB\-E\fP, \fB\-h\fP, \fB\-u\fP and \fB\-v\fP +options were deleted from the \fB@TSET@\fP utility in 4.4BSD. None of them were documented in 4.3BSD and all are of limited utility at best. -The \fB\-a\fR, \fB\-d\fR, and \fB\-p\fR options are similarly +The \fB\-a\fP, \fB\-d\fP, and \fB\-p\fP options are similarly not documented or useful, but were retained as they appear to be in -widespread use. It is strongly recommended that any usage of these -three options be changed to use the \fB\-m\fR option instead. The -\fB\-n\fP option remains, but has no effect. The \fB\-adnp\fR options are therefore -omitted from the usage summary above. +widespread use. +It is strongly recommended that any usage of these +three options be changed to use the \fB\-m\fP option instead. +The \fB\-a\fP, \fB\-d\fP, and \fB\-p\fP options +are therefore omitted from the usage summary above. .PP -It is still permissible to specify the \fB\-e\fR, \fB\-i\fR, and \fB\-k\fR options without -arguments, although it is strongly recommended that such usage be fixed to +Very old systems, e.g., 3BSD, used a different terminal driver which +was replaced in 4BSD in the early 1980s. +To accommodate these older systems, the 4BSD \fB@TSET@\fP provided a +\fB\-n\fP option to specify that the new terminal driver should be used. +This implementation does not provide that choice. +.PP +It is still permissible to specify the \fB\-e\fP, \fB\-i\fP, +and \fB\-k\fP options without arguments, +although it is strongly recommended that such usage be fixed to explicitly specify the character. .PP -As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB\-Q\fR -option. Also, the interaction between the \- option and the \fIterminal\fR -argument in some historic implementations of \fBtset\fR has been removed. -.SH ENVIRONMENT -The \fBtset\fR command uses these environment variables: -.TP 5 -SHELL -tells \fBtset\fP whether to initialize \fBTERM\fP using \fBsh\fP or -\fBcsh\fP syntax. -.TP 5 -TERM -Denotes your terminal type. -Each terminal type is distinct, though many are similar. -.TP 5 -TERMCAP -may denote the location of a termcap database. -If it is not an absolute pathname, e.g., begins with a `/', -\fBtset\fP removes the variable from the environment before looking -for the terminal description. -.SH FILES -.TP 5 -/etc/ttys -system port name to terminal type mapping database (BSD versions only). -.TP -@TERMINFO@ -terminal capability database +As of 4.4BSD, +executing \fB@TSET@\fP as \fB@RESET@\fP no longer implies the \fB\-Q\fP option. +Also, the interaction between the \- option and the \fIterminal\fP +argument in some historic implementations of \fB@TSET@\fP has been removed. +.PP +The \fB\-c\fP and \fB\-w\fP options are not found in earlier implementations. +However, a different window size-change feature was provided in 4.4BSD. +.bP +In 4.4BSD, \fBtset\fP uses the window size from the termcap description +to set the window size if \fBtset\fP is not able to obtain the window +size from the operating system. +.bP +In \fI\%ncurses\fP, \fB@TSET@\fP obtains the window size using +\fB\%setupterm\fP(3X), which may be from +the operating system, +the \fILINES\fP and \fICOLUMNS\fP environment variables or +the terminal description. +.PP +Obtaining the window size from a terminal's type description is common +to both implementations, +but considered obsolescent. +Its only practical use is for hardware terminals. +Generally, +the window size will remain uninitialized only if there were a problem +obtaining the value from the operating system +(and \fB\%setupterm\fP would still fail). +The \fILINES\fP and \fI\%COLUMNS\fP environment variables +may thus be useful for working around window-size problems, +but have the drawback that if the window is resized, +their values must be recomputed and reassigned. +The \fI\%resize\fP(1) program distributed with +\fI\%xterm\fP(1) assists this activity. +.SH HISTORY +A \fB\%reset\fP command written by Kurt Shoens appeared in 1BSD +(March 1978). +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/reset.c +It set the \fIerase\fP and \fIkill\fP characters +to \fB\*^H\fP (backspace) and \fB@\fP respectively. +Mark Horton improved this \fB\%reset\fP in 3BSD +(October 1979), +adding \fIintr\fP, +\fIquit\fP, +\fIstart\fP/\fIstop\fP, +and \fIeof\fP +characters as well as changing the program to avoid modifying any user +settings. +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\ +.\" reset.c +That version of \fB\%reset\fP did not use \fI\%termcap\fP. +.PP +Eric Allman wrote a distinct \fBtset\fP command for 1BSD, +using a forerunner of \fI\%termcap\fP called \fI\%ttycap\fP. +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/tset.c +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/man7/ttycap.7 +Allman's comments in the source code indicate +that he began work in October 1977, +continuing development over the next few years. +By late 1979, +it had migrated to \fI\%termcap\fP and handled the \fI\%TERMCAP\fP +variable. +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=3BSD/usr/src/cmd/\ +.\" tset/tset.c +Later comments indicate that \fBtset\fP was modified in September 1980 +to use logic copied from the 3BSD \*(``reset\*('' program when it was +invoked as \fB\%reset\fP. +.\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/ucb/\ +.\" tset/tset.c +This version appeared in 4.1cBSD, \" and backported to 2.9BSD +late in 1982. +Other developers such as Keith Bostic and Jim Bloom continued to modify +\fBtset\fP until 4.4BSD was released in 1993. +.PP +The \fI\%ncurses\fP implementation was lightly adapted from the 4.4BSD +sources to use the \fI\%terminfo\fP API by Eric S.\& Raymond +. .SH SEE ALSO -csh(1), -sh(1), -stty(1), -curs_terminfo(3X), -tty(4), -terminfo(5), -ttys(5), -environ(7) -.PP -This describes \fBncurses\fR -version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@). +\fB\%csh\fP(1), +\fB\%sh\fP(1), +\fB\%stty\fP(1), +\fB\%curs_terminfo\fP(3X), +\fB\%tty\fP(4), +\fB\%terminfo\fP(5), +\fB\%ttys\fP(5), +\fB\%environ\fP(7)