X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Ftset.1;h=152618adfd46ba97217e1ec72f5c0062dc27279b;hp=07a28674f65461caa77cd2c2df87fc4fe96c71b6;hb=f344f8539c1543f8cd65a5bb142dbaf23b9421d2;hpb=aa70bf3c762c5b6407bf34812d63c20f7ac8ffdd diff --git a/man/tset.1 b/man/tset.1 index 07a28674..152618ad 100644 --- a/man/tset.1 +++ b/man/tset.1 @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2013,2016 Free Software Foundation, Inc. * +.\" Copyright (c) 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,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tset.1,v 1.42 2016/07/30 21:59:39 tom Exp $ +.\" $Id: tset.1,v 1.48 2017/01/14 20:55:07 tom Exp $ .TH @TSET@ 1 "" .ie \n(.g .ds `` \(lq .el .ds `` `` @@ -83,29 +83,61 @@ 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 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., \fBLINES\fP +and \fBCOLUMNS\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. .SS reset - reinitialization .PP -When invoked as \fB@RESET@\fR, \fB@TSET@\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, +When invoked as \fB@RESET@\fR, \fB@TSET@\fR 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 \fI\fP\fB@RESET@\fP\fI\fP .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. .SH OPTIONS .PP @@ -156,7 +188,7 @@ for details. reports the version of ncurses 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 @@ -242,16 +274,37 @@ and that \fBcsh\fR users insert a backslash character (\*(``\e\*('') before any exclamation marks (\*(``!\*(''). .SH HISTORY .PP -A \fBreset\fP command appeared in 2BSD (1979), written by Kurt Shoens. +A \fBreset\fP command appeared in 2BSD (April 1979), written by Kurt Shoens. +This program set the \fIerase\fP and \fIkill\fP characters +to \fB^H\fP (backspace) and \fB@\fP respectively. +Mark Horton improved that 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. +.PP +Later in 4.1BSD (December 1980), +Mark Horton added a call to the \fBtset\fP program +using the \fB\-I\fP and \fB\-Q\fP options, i.e., +using that to improve the terminal modes. +With those options, +that version of \fBreset\fP did not use the termcap database. .PP A separate \fBtset\fP command was provided in 2BSD by Eric Allman. -While the oldest published source (from 1979) provides both programs, +While the oldest published source (from 1979) +provides both \fBtset\fP and \fBreset\fP, Allman's comments in the 2BSD source code indicate that he began work in October 1977, continuing development over the next few years. .PP -In 1980, Eric Allman modified \fBtset\fP to provide a \*(lqreset\*(rq -feature when the program was invoked as \fBreset\fP. +In September 1980, Eric Allman modified \fBtset\fP, +adding the code from the existing \*(lqreset\*(rq +feature when \fBtset\fP was invoked as \fBreset\fP. +Rather than simply copying the existing program, +in this merged version, \fBtset\fP used the termcap database +to do additional (re)initialization of the terminal. +This version appeared in 4.1cBSD, late in 1982. +.PP +Other developers (e.g., Keith Bostic and Jim Bloom) +continued to modify \fBtset\fP until 4.4BSD was released in 1993. .PP The \fBncurses\fR implementation was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric @@ -263,7 +316,8 @@ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 X/Open Curses Issue 7 documents \fB@TSET@\fP or \fB@RESET@\fP. .PP The AT&T \fBtput\fP utility (AIX, HPUX, Solaris) -incorporated the terminal-mode manipulation from \fBtset\fP, +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