Go to the first, previous, next, last section, table of contents.
Wrapping means moving the cursor from the right margin to the left
margin of the following line. Some terminals wrap automatically when a
graphic character is output in the last column, while others do not. Most
application programs that use termcap need to know whether the terminal
wraps. There are two special flag capabilities to describe what the
terminal does when a graphic character is output in the last column.
- `am'
-
Flag whose presence means that writing a character in the last column
causes the cursor to wrap to the beginning of the next line.
If `am' is not present, writing in the last column leaves the
cursor at the place where the character was written.
Writing in the last column of the last line should be avoided on
terminals with `am', as it may or may not cause scrolling to
occur (see section Scrolling). Scrolling is surely not what you would
intend.
If your program needs to check the `am' flag, then it also needs
to check the `xn' flag which indicates that wrapping happens in a
strange way. Many common terminals have the `xn' flag.
- `xn'
-
Flag whose presence means that the cursor wraps in a strange way. At
least two distinct kinds of strange behavior are known; the termcap
data base does not contain anything to distinguish the two.
On Concept-100 terminals, output in the last column wraps the cursor
almost like an ordinary `am' terminal. But if the next thing
output is a newline, it is ignored.
DEC VT-100 terminals (when the wrap switch is on) do a different
strange thing: the cursor wraps only if the next thing output is
another graphic character. In fact, the wrap occurs when the
following graphic character is received by the terminal, before the
character is placed on the screen.
On both of these terminals, after writing in the last column a
following graphic character will be displayed in the first column of
the following line. But the effect of relative cursor motion
characters such as newline or backspace at such a time depends on the
terminal. The effect of erase or scrolling commands also depends on
the terminal. You can't assume anything about what they will do on a
terminal that has `xn'. So, to be safe, you should never do
these things at such a time on such a terminal.
To be sure of reliable results on a terminal which has the `xn'
flag, output a `cm' absolute positioning command after writing in
the last column. Another safe thing to do is to output carriage-return
newline, which will leave the cursor at the beginning of the following
line.
- `LP'
-
Flag whose presence means that it is safe to write in the last column of
the last line without worrying about undesired scrolling. `LP'
indicates the DEC flavor of `xn' strangeness.
Go to the first, previous, next, last section, table of contents.