mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-21 07:39:06 +08:00
47d2fb4537
+ update release notes + minor build-fixes, mostly to test-package scripts + modify check for sizeof(wchar_t) to ensure it gives useful result when cross-compiling. + drop assumption in configure script that Cygwin's linker is broken. + define NCURSES_BROKEN_LINKER if the broken-linker feature is used, to simplify configure-checks for ncurses-examples. + reassert copyright on ncurses, per discussion in ncurses FAQ: https://invisible-island.net/ncurses/ncurses.faq.html#relicensed + modify comparison in make_hash.c to correct a special case in collision handling for Caps-hpux11 + add testing utility report_hashing to check hash-tables used for terminfo and termcap names. + fix a missing prototype for _nc_free_and_exit(). + update a few comments about tack 1.07 + use an awk script to split too-long pathnames used in Ada95 sample programs for explain.txt
225 lines
9.5 KiB
Groff
225 lines
9.5 KiB
Groff
.\"***************************************************************************
|
|
.\" Copyright 2018-2019,2020 Thomas E. Dickey *
|
|
.\" Copyright 1998-2011,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 *
|
|
.\" "Software"), to deal in the Software without restriction, including *
|
|
.\" without limitation the rights to use, copy, modify, merge, publish, *
|
|
.\" distribute, distribute with modifications, sublicense, and/or sell *
|
|
.\" copies of the Software, and to permit persons to whom the Software is *
|
|
.\" furnished to do so, subject to the following conditions: *
|
|
.\" *
|
|
.\" The above copyright notice and this permission notice shall be included *
|
|
.\" in all copies or substantial portions of the Software. *
|
|
.\" *
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
|
|
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
|
|
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
|
|
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
|
|
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
|
|
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
|
|
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
|
|
.\" *
|
|
.\" Except as contained in this notice, the name(s) of the above copyright *
|
|
.\" holders shall not be used in advertising or otherwise to promote the *
|
|
.\" sale, use or other dealings in this Software without prior written *
|
|
.\" authorization. *
|
|
.\"***************************************************************************
|
|
.\"
|
|
.\" $Id: term.7,v 1.28 2020/02/02 23:34:34 tom Exp $
|
|
.TH term 7
|
|
.ie \n(.g .ds `` \(lq
|
|
.el .ds `` ``
|
|
.ie \n(.g .ds '' \(rq
|
|
.el .ds '' ''
|
|
.ds n 5
|
|
.ds d @TERMINFO@
|
|
.SH NAME
|
|
term \- conventions for naming terminal types
|
|
.SH DESCRIPTION
|
|
.PP
|
|
The environment variable \fBTERM\fR should normally contain the type name of
|
|
the terminal, console or display-device type you are using.
|
|
This information
|
|
is critical for all screen-oriented programs, including your editor and mailer.
|
|
.PP
|
|
A default \fBTERM\fR value will be set on a per-line basis by either
|
|
\fB/etc/inittab\fR (e.g., System\-V-like UNIXes)
|
|
or \fB/etc/ttys\fR (BSD UNIXes).
|
|
This will nearly always suffice for workstation and microcomputer consoles.
|
|
.PP
|
|
If you use a dialup line, the type of device attached to it may vary.
|
|
Older UNIX systems pre-set a very dumb terminal type
|
|
like \*(``dumb\*('' or \*(``dialup\*('' on dialup lines.
|
|
Newer ones may pre-set \*(``vt100\*('', reflecting the prevalence of DEC
|
|
VT100-compatible terminals and personal-computer emulators.
|
|
.PP
|
|
Modern telnets pass your \fBTERM\fR environment variable from the local side to
|
|
the remote one.
|
|
There can be problems if the remote terminfo or termcap entry
|
|
for your type is not compatible with yours, but this situation is rare and
|
|
can almost always be avoided by explicitly exporting \*(``vt100\*(''
|
|
(assuming you are in fact using a VT100-superset console,
|
|
terminal, or terminal emulator.)
|
|
.PP
|
|
In any case, you are free to override the system \fBTERM\fR setting to your
|
|
taste in your shell profile.
|
|
The \fB@TSET@\fP(1) utility may be of assistance;
|
|
you can give it a set of rules for deducing or requesting a terminal type based
|
|
on the tty device and baud rate.
|
|
.PP
|
|
Setting your own \fBTERM\fR value may also be useful if you have created a
|
|
custom entry incorporating options (such as visual bell or reverse-video)
|
|
which you wish to override the system default type for your line.
|
|
.PP
|
|
Terminal type descriptions are stored as files of capability data underneath
|
|
\*d.
|
|
To browse a list of all terminal names recognized by the system, do
|
|
.sp
|
|
@TOE@ | more
|
|
.sp
|
|
from your shell.
|
|
These capability files are in a binary format optimized for
|
|
retrieval speed (unlike the old text-based \fBtermcap\fR format they replace);
|
|
to examine an entry, you must use the \fB@INFOCMP@\fR(1M) command.
|
|
Invoke it as follows:
|
|
.sp
|
|
@INFOCMP@ \fIentry_name\fR
|
|
.sp
|
|
where \fIentry_name\fR is the name of the type you wish to examine (and the
|
|
name of its capability file the subdirectory of \*d named for its first
|
|
letter).
|
|
This command dumps a capability file in the text format described by
|
|
\fBterminfo\fR(\*n).
|
|
.PP
|
|
The first line of a \fBterminfo\fR(\*n) description gives the names by which
|
|
terminfo knows a terminal,
|
|
separated by \*(``|\*('' (pipe-bar) characters with the last
|
|
name field terminated by a comma.
|
|
The first name field is the type's
|
|
\fIprimary name\fR, and is the one to use when setting \fBTERM\fR. The last
|
|
name field (if distinct from the first) is actually a description of the
|
|
terminal type (it may contain blanks; the others must be single words).
|
|
Name
|
|
fields between the first and last (if present) are aliases for the terminal,
|
|
usually historical names retained for compatibility.
|
|
.PP
|
|
There are some conventions for how to choose terminal primary names that help
|
|
keep them informative and unique.
|
|
Here is a step-by-step guide to naming
|
|
terminals that also explains how to parse them:
|
|
.PP
|
|
First, choose a root name.
|
|
The root will consist of a lower-case letter
|
|
followed by up to seven lower-case letters or digits.
|
|
You need to avoid using
|
|
punctuation characters in root names, because they are used and interpreted as
|
|
filenames and shell meta-characters (such as !, $, *, ?, etc.) embedded in them
|
|
may cause odd and unhelpful behavior.
|
|
The slash (/), or any other character
|
|
that may be interpreted by anyone's file system (\e, $, [, ]), is especially
|
|
dangerous (terminfo is platform-independent, and choosing names with special
|
|
characters could someday make life difficult for users of a future port).
|
|
The
|
|
dot (.) character is relatively safe as long as there is at most one per root
|
|
name; some historical terminfo names use it.
|
|
.PP
|
|
The root name for a terminal or workstation console type should almost always
|
|
begin with a vendor prefix (such as \fBhp\fR for Hewlett-Packard, \fBwy\fR for
|
|
Wyse, or \fBatt\fR for AT&T terminals), or a common name of the terminal line
|
|
(\fBvt\fR for the VT series of terminals from DEC, or \fBsun\fR for Sun
|
|
Microsystems workstation consoles, or \fBregent\fR for the ADDS Regent series.
|
|
You can list the terminfo tree to see what prefixes are already in common use.
|
|
The root name prefix should be followed when appropriate by a model number;
|
|
thus \fBvt100\fR, \fBhp2621\fR, \fBwy50\fR.
|
|
.PP
|
|
The root name for a PC-Unix console type should be the OS name,
|
|
i.e., \fBlinux\fR, \fBbsdos\fR, \fBfreebsd\fR, \fBnetbsd\fR. It should
|
|
\fInot\fR be \fBconsole\fR or any other generic that might cause confusion in a
|
|
multi-platform environment! If a model number follows, it should indicate
|
|
either the OS release level or the console driver release level.
|
|
.PP
|
|
The root name for a terminal emulator (assuming it does not fit one of the
|
|
standard ANSI or vt100 types) should be the program name or a readily
|
|
recognizable abbreviation of it (i.e., \fBversaterm\fR, \fBctrm\fR).
|
|
.PP
|
|
Following the root name, you may add any reasonable number of hyphen-separated
|
|
feature suffixes.
|
|
.TP 5
|
|
2p
|
|
Has two pages of memory.
|
|
Likewise 4p, 8p, etc.
|
|
.TP 5
|
|
mc
|
|
Magic-cookie.
|
|
Some terminals (notably older Wyses) can only support one
|
|
attribute without magic-cookie lossage.
|
|
Their base entry is usually paired
|
|
with another that has this suffix and uses magic cookies to support multiple
|
|
attributes.
|
|
.TP 5
|
|
\-am
|
|
Enable auto-margin (right-margin wraparound).
|
|
.TP 5
|
|
\-m
|
|
Mono mode \- suppress color support.
|
|
.TP 5
|
|
\-na
|
|
No arrow keys \- termcap ignores arrow keys which are actually there on the
|
|
terminal, so the user can use the arrow keys locally.
|
|
.TP 5
|
|
\-nam
|
|
No auto-margin \- suppress am capability.
|
|
.TP 5
|
|
\-nl
|
|
No labels \- suppress soft labels.
|
|
.TP 5
|
|
\-nsl
|
|
No status line \- suppress status line.
|
|
.TP 5
|
|
\-pp
|
|
Has a printer port which is used.
|
|
.TP 5
|
|
\-rv
|
|
Terminal in reverse video mode (black on white).
|
|
.TP 5
|
|
\-s
|
|
Enable status line.
|
|
.TP 5
|
|
\-vb
|
|
Use visible bell (flash) rather than beep.
|
|
.TP 5
|
|
\-w
|
|
Wide; terminal is in 132-column mode.
|
|
.PP
|
|
Conventionally, if your terminal type is a variant intended to specify a
|
|
line height, that suffix should go first.
|
|
So, for a hypothetical FuBarCo
|
|
model 2317 terminal in 30-line mode with reverse video, best form would be
|
|
\fBfubar\-30\-rv\fR (rather than, say, \*(``fubar\-rv\-30\*('').
|
|
.PP
|
|
Terminal types that are written not as standalone entries, but rather as
|
|
components to be plugged into other entries via \fBuse\fP capabilities,
|
|
are distinguished by using embedded plus signs rather than dashes.
|
|
.PP
|
|
Commands which use a terminal type to control display often accept a \-T
|
|
option that accepts a terminal name argument.
|
|
Such programs should fall back
|
|
on the \fBTERM\fR environment variable when no \-T option is specified.
|
|
.SH PORTABILITY
|
|
For maximum compatibility with older System V UNIXes, names and aliases
|
|
should be unique within the first 14 characters.
|
|
.SH FILES
|
|
.TP 5
|
|
\*d/?/*
|
|
compiled terminal capability data base
|
|
.TP 5
|
|
/etc/inittab
|
|
tty line initialization (AT&T-like UNIXes)
|
|
.TP 5
|
|
/etc/ttys
|
|
tty line initialization (BSD-like UNIXes)
|
|
.SH SEE ALSO
|
|
\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n).
|