[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Description of Apple's MacOS X Terminal.app "VT-100" emulator

From: Benjamin C. W. Sittler
Subject: Description of Apple's MacOS X Terminal.app "VT-100" emulator
Date: Mon, 9 Apr 2001 22:13:20 -0500 (CDT)

Attached is a preliminary terminfo description of the Terminal.app
included in Apple's MacOS X. While not exhaustive, it does seem to work
with emacs, lynx, vi, less, bash, ls, ncurses, and screen. Also attached
is a termcap version automatically generated from the terminfo source.


The version of Terminal.app (version "41") used during the construction of
this terminfo description identifies itself as TERM="vt100", but it also
exports TERM_PROGRAM="Apple_Terminal" and TERM_PROGRAM_VERSION="41". An
intelligent login script (/etc/profile or the like) could deduce
TERM="Apple_Terminal" from these environment variables.

Version "41" of Terminal.app has a few oddities and shortcomings which
lead to the four included entries: character set support is slightly
broken, function keys are missing, color support is slightly broken, and
the user can enable or disable color using a checkbox in the preferences

While all characters are rendered in MacRoman 2000 encoding [identical to
older MacRoman, but with a Euro symbol in place of the international
currency symbol], the alternate character set mode remaps characters as if
mapping to the old NeXT character encoding [Terminal.app is descended from
the NeXT terminal emulator], producing garbled characters. I know of no
way to change the encoding to something other than MacRoman 2000. The
"Apple_Terminal" and "Apple_Terminal-m" entries use MacRoman equivalents
for the alternate character set, bypassing the buggy charset mapping. I
expect a future version of Terminal.app to support other character
encodings, or at least to support MacRoman correctly, and so I've included
the "Apple_Terminal-ascii" and "Apple_Terminal-ascii-m" entries which rely
on a working VT-100 alternate character set instead of MacRoman.

While modern Apple keyboards do have numbered function keys, Terminal.app
doesn't yet send meaningful sequences for them. For this reason they have
not been included in the terminal descriptions.

Terminal.app supports a fixed palette of eight colors using the ANSI
foreground and background color-change sequences. However, changing
background colors while the bold attribute is enabled causes the wrong
background colors to be displayed. For this reason the terminal
description forbids the use of bold in conjunction with color-change
sequences. Since the user can disable color support using a checkbox in
the preferences panel, monochrome terminal descriptions "Apple_Terminal-m"
and "Apple_Terminal-ascii-m" have been provided.

Strict VT-100 emulation mode is not accounted for by these terminal
descriptions, as most users leave it disabled. Mouse cursor position
reporting is not described by these descriptions, but appears to work in
Emacs [use Option-click to position the cursor.] The Terminal.app titlebar
is configurable using the same sequences understood by xterm, and is used
as a status line by these terminal descriptions.

Attachment: Apple_Terminal.ti
Description: Apple_Terminal.ti (terminfo)

Attachment: Apple_Terminal.tc
Description: Apple_Terminal.tc (termcap)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]