X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=announce.html.in;h=378f6f80b012306a993e9f59a3b37b69f380862e;hp=e385204de5032883c6d4eb9a53508f37b9382162;hb=acb4184f8f69fddd052a3daa8c8675f4bf8ce369;hpb=9de646fe8f944e760d453b57e01b866d1d514ad7 diff --git a/announce.html.in b/announce.html.in index e385204d..378f6f80 100644 --- a/announce.html.in +++ b/announce.html.in @@ -1,8 +1,7 @@ - + + "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> Announcing ncurses @VERSION@ + -

Announcing ncurses @VERSION@

The ncurses (new curses) +

Announcing ncurses @VERSION@

+ +

Overview

+ +

The ncurses (new curses) library is a free software emulation of curses in System V - Release 4.0, and more. It uses terminfo format, supports pads and - color and multiple highlights and forms characters and - function-key mapping, and has all the other SYSV-curses - enhancements over BSD curses. + Release 4.0 (SVr4), and more. It uses terminfo format, supports + pads and color and multiple highlights and forms characters and + function-key mapping, and has all the other SVr4-curses + enhancements over BSD curses. SVr4 curses became the basis of + X/Open Curses.

In mid-June 1995, the maintainer of 4.4BSD curses declared that he considered 4.4BSD curses obsolete, and encouraged the - keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to - switch over to ncurses.

+ keepers of unix releases such as + BSD/OS, FreeBSD and NetBSD to switch over to ncurses.

+ +

Since 1995, ncurses has been + ported to many systems:

+ +

The distribution includes the library and support utilities, - including a terminfo compiler tic(1), a decompiler infocmp(1), - clear(1), tput(1), tset(1), and a termcap conversion tool - captoinfo(1). Full manual pages are provided for the library and - tools.

- -

The ncurses distribution is available via anonymous FTP at the - GNU distribution site ftp://ftp.gnu.org/gnu/ncurses/ .
- - It is also available at ftp://invisible-island.net/ncurses/ .

- -

Release Notes

This release is designed to be upward - compatible from ncurses 5.0 through 5.8; very few applications - will require recompilation, depending on the platform. These are - the highlights from the change-log since ncurses 5.8 release. -

- This is a bug-fix release, correcting a small number of urgent problems - in the ncurses library from the 5.8 release. -

- It also improves the Ada95 binding: -

- -

Features of Ncurses

The ncurses package is fully - compatible with SVr4 (System V Release 4) curses: - - The ncurses package also has many useful extensions over - SVr4: - - - -

State of the Package

Numerous bugs present in earlier - versions have been fixed; the library is far more reliable than - it used to be. Bounds checking in many `dangerous' entry points - has been improved. The code is now type-safe according to gcc - -Wall. The library has been checked for malloc leaks and arena - corruption by the Purify memory-allocation tester. - -

The ncurses code has been tested with a wide variety of - applications including (versions starting with those noted):

+ -
-
cdk
+

Full manual pages are provided for the library and tools.

-
Curses Development Kit
- http://invisible-island.net/cdk/
+

The ncurses distribution is + available at ncurses' homepage:

+
+

ftp://ftp.invisible-island.net/ncurses/ + or
http://www.vexus.ca/products/CDK/

+ "https://invisible-mirror.net/archives/ncurses/">https://invisible-mirror.net/archives/ncurses/ .

+ -
ded
+

It is also available via anonymous FTP at the GNU distribution + site

-
directory-editor
- http://invisible-island.net/ded/
+
+

ftp://ftp.gnu.org/gnu/ncurses/ .

+
-
dialog
+

Release + Notes

-
the underlying application used in Slackware's setup, and - the basis for similar applications on GNU/Linux.
- http://invisible-island.net/dialog/
+

These notes are for ncurses + @VERSION@, released January 27, 2018.

-
lynx
+

This release is designed to be source-compatible with + ncurses 5.0 through 6.0; providing + extensions to the application binary interface (ABI). Although + the source can still be configured to support the ncurses 5 ABI, the intent of the release is to + provide extensions to the ncurses + 6 ABI:

-
the character-screen WWW browser
- http://lynx.isc.org/release/
+ -
Midnight Commander
+

There are, of course, numerous other improvements, listed in + this announcement.

-
file manager
- http://www.midnight-commander.org/
+

The release notes also mention some bug-fixes, but are focused + on new features and improvements to existing features since + ncurses 6.0 release.

+ +

Library + improvements

+ +

New + features

+ +

The improved integration of tput and tset + made only small changes to the libraries. However, supporting + extended numeric capabilities required a few changes:

+ + + +

The motivation for making this extension came from noticing + that + termcap applications could (though not + realistically) use larger numbers than would fit in 16-bits, + and the fact that the number of color pairs for a 256-color xterm + could not be expressed in terminfo (i.e., 32767 versus 65536). + Also, a few terminals support direct-colors, which could use the + extension.

+ +

Generally speaking, applications that use internal details of + a library are unsupported. There was exactly one exception for + ncurses: the tack program used the internal + details of TERMINAL, because it provides an + ncurses-specific feature for interactively modifying a terminfo + description and writing the updated description to a text-file. + It was possible to not only separate tack from these internal + details of ncurses, but to + generalize it so that the program works with Unix curses + (omitting the ncurses-specific feature). That was released as + + tack 1.08 in July + 2017.

+ +

While making changes to tack to + eliminate its dependency upon ncurses internals, the publicly-visible + details of those internals were reviewed, and some symbols were + moved to private header files, while others were marked + explicitly as ncurses internals. + Future releases of ncurses may + eliminate some of those symbols (such as those used by + tack 1.07) because they are + neither part of the API or the ABI.

+ +

Using the TERMTYPE2 extended numeric + capabilities, it is possible to support both color pair values + and color values past 32767. Taking compatibility into account, + developers readily understand that neither function signatures + nor structure offsets change. Also, existing functions have to + operate with the extended numbers. Most of that work is internal + to the library. For the external interfaces, a hybrid approach + was used:

+ + + +

Additionally, to improve performance other changes (and + extensions) are provided in this release:

+ + + +

Other + improvements

+ +

These are new or revised features:

+ + + +

These were done to limit or ultimately deprecate features:

+ + + +

These are improvements to existing features:

+ + + +

These are corrections to existing features:

+ + + +

Program + improvements

+ +

While reviewing user feedback, it became apparent that the + differences between + reset (an alias for + tset) and “tput reset” were confusing:

+ + + +

On further investigation, it turned out that the differences + were largely an accident due to the way those programs had + evolved.

+ +

This release eliminates the unnecessary differences, using the + same approach for tput's + init (initialization), reset and clear + operations as the separate + reset and + clear programs. Doing this does not change the + command-line options; existing scripts are unaffected.

+ +

These are the user-visible changes for the three programs + (tput, tset and clear):

+ + + +

Other user-visible improvements and new features include:

+ + + +

Other less-visible improvements and new features include:

+ + + +

Several of the less apparent features deal with translation of + terminfo to termcap (and the reverse), with corresponding checks + by tic:

+ + + +

Examples

+ +

Along with the library and utilities, many improvements were + made to the ncurses-examples.

+ +

These changes were made to demonstrate new extensions in + ncurses:

-
mutt
+ + +

There are other new example programs and a few scripts:

+ + -
mail utility
- http://www.mutt.org/
+

A variety of improvements were made to existing programs, both + new features as well as options added to make the set of programs + more consistent.

-
ncftp
+

The ncurses program is the + largest; a proportionately large number of changes were made to + it:

-
file-transfer utility
- http://www.ncftp.com/
+ -
nvi
+

These changes were made to the other examples:

-
New vi versions 1.50 are able to use ncurses versions 1.9.7 - and later.
+ + +

Terminal + database

+ +

There are several new terminal descriptions:

+ +
+

dumb-emacs-ansi, dvtm, + dvtm-256color, fbterm, + iterm2, linux-m1 minitel + entries, putty-noapp, viewdata, + and vt100+4bsd building-block.

+ +

xterm+noalt, xterm+titlestack, + xterm+alt1049, xterm+alt+title + building blocks and xterm+direct, + xterm+indirect, xterm-direct. from https://sites.google.com/a/bostic.com/keithbostic/nvi
-

+ "https://invisible-island.net/xterm/xterm.log.html#xterm_331">xterm + patch #331.

-
pinfo
+

several other “-direct” + descriptions to address the differences of other terminal + emulators versus xterm-direct.

+ -
Lynx-like info browser. https://alioth.debian.org/projects/pinfo/
+

There are many changes to existing terminal descriptions. Some + were updates to several descriptions:

-
tin
+ -
newsreader, supporting color, MIME http://www.tin.org/
-
as well as some that use ncurses for the terminfo support - alone: +

while others affected specific descriptions. These were + retested, to take into account new/undocumented changes by their + developers:

+ +
+

iterm, minitel, st, + viewdata, nsterm

+
+ +

while these are specific fixes based on user reports, or + warnings from tic:

-
minicom
+
+ ansi building blocks
+ +
+ +
-
terminal emulator
- http://alioth.debian.org/projects/minicom/
+
+ icl6402
-
vile
+
+ +
-
vi-like-emacs
- http://invisible-island.net/vile/
+
+ interix
+ +
+ +
+ +
+ linux
+ +
+ +
+ +
+ pccon entries
+ +
+ +
+ +
+ tmux
+ +
+ +
+ +
+ vt100
+ +
+ +
+ +
+ vte
+ +
+ +
+ +
+ xterm
+ +
+ +
-

The ncurses distribution includes a selection of test programs - (including a few games).

+

A few entries use extensions (user-defined terminal + capabilities):

+ + + +

Documentation

+ +

As usual, this release

+ + + +

In particular,

+ + + +

In addition to providing background information to explain + these features and show how they evolved, there are corrections, + clarifications, etc.:

+ + + +

There are new manual pages:

+ + + +

Some of the improvements are more subtle, relating to the way + the information is presented:

+ + + +

Interesting + bug-fixes

+ + + +

Configuration changes

+ +

Major + changes

+ +

This release provides a new binary format for terminal + descriptions that use extended numeric capabilities. Applications + built with the wide-character ncursesw library can use + these extended numbers.

+ + + +

Other applications (i.e., using the 8-bit ncurses + library) which read the extended terminal descriptions see those + numeric capabilities set to the maximum value for a signed 16-bit + number.

+ +

Older versions of ncurses' + tic accept out-of-range numeric + capabilities, storing those as the maximum value for a signed + 16-bit number. Other implementations of curses (mentioned in the + discussion of + picsmap) give zero for these + out-of-range capabilities.

+ +

Configuration options

+ +

These changes provide support for tack 1.08, released in + July 2017:

+ + + +

Other changes to the configure-script and generated files + include

+ + + +

Portability

+ +

Many of the portability changes are implemented via the + configure script:

+ + +
+ +

Features of + ncurses

+ +

The ncurses package is fully + upward-compatible with SVr4 (System V Release 4) curses:

+ + + +

The ncurses package also has + many useful extensions over SVr4:

+ + + +

Applications using + ncurses

+ +

The ncurses distribution + includes a selection of test programs (including a few games). + These are available separately as ncurses-examples

+ +

The ncurses library has been tested with a wide variety of + applications including:

+ +
+
+
aptitude
+ +
+

FrontEnd to Apt, the debian package manager

+ +

https://wiki.debian.org/Aptitude

+
+ +
cdk
+ +
+

Curses Development Kit

+ +

https://invisible-island.net/cdk/
+

+
+ +
ded
+ +
+

directory-editor

+ +

https://invisible-island.net/ded/

+
+ +
dialog
+ +
+

the underlying application used in Slackware's setup, + and the basis for similar install/configure applications on + many systems.

+ +

https://invisible-island.net/dialog/

+
+ +
lynx
+ +
+

the text WWW browser

+ +

https://lynx.invisible-island.net/

+
+ +
mutt
+ +
+

mail utility

+ +

http://www.mutt.org/

+
+ +
ncftp
+ +
+

file-transfer utility

-

Who's Who and What's What

Zeyd Ben-Halim started it from - a previous package pcurses, written by Pavel Curtis. Eric S. +

https://www.ncftp.com/

+
+ +
nvi
+ +
+

New vi uses ncurses.

+ +

https://sites.google.com/a/bostic.com/keithbostic/vi
+

+
+ +
ranger
+ +
+

A console file manager with VI key bindings in + Python.

+ +

https://ranger.github.io/

+
+ +
tin
+ +
+

newsreader, supporting color, MIME

+ +

http://www.tin.org/

+
+ +
vifm
+ +
+

File manager with vi like keybindings

+ +

https://vifm.info/

+
+
+
+ +

as well as some that use ncurses for the terminfo support alone:

+ +
+
+
minicom
+ +
+

terminal emulator for serial modem connections

+ +

https://alioth.debian.org/projects/minicom/

+
+ +
mosh
+ +
+

a replacement for ssh.

+ +

https://mosh.mit.edu/

+
+ +
tack
+ +
+

terminfo action checker

+ +

https://invisible-island.net/ncurses/tack.html

+
+ +
tmux
+ +
+

terminal multiplexor

+ +

https://github.com/tmux/tmux/wiki

+
+ +
vile
+ +
+

vi-like-emacs may be built to use the terminfo, termcap + or curses interfaces.

+ +

https://invisible-island.net/vile/

+
+
+
+ +

and finally, those which use only the termcap interface:

+ +
+
+
emacs
+ +
+

text editor

+ +

https://www.gnu.org/software/emacs/

+
+ +
less
+ +
+

The most commonly used pager (a program that + displays text files).

+ +

http://www.greenwoodsoftware.com/less/

+
+ +
screen
+ +
+

terminal multiplexor

+ +

https://www.gnu.org/software/screen/

+
+ +
vim
+ +
+

text editor

+ +

https://www.vim.org/

+
+
+
+ +

Development + activities

+ +

Zeyd Ben-Halim started ncurses + from a previous package pcurses, written by Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer wrote most of - the form and menu libraries. Ongoing work is being done by + the form and menu libraries. Ongoing development work is done by Thomas Dickey. - Thomas Dickey acts as the maintainer for the Free Software - Foundation, which holds the copyright on ncurses. Contact the - current maintainers at bug-ncurses@gnu.org. + Thomas Dickey also acts as the maintainer for the Free Software + Foundation, which holds the copyright + on ncurses.

+ +

Contact the current maintainers at

+ +
+ bug-ncurses@gnu.org +
-

To join the ncurses mailing list, please write email to - bug-ncurses-request@gnu.org containing the line:

-
-             subscribe <name>@<host.domain>
-
+

To join the ncurses mailing list, please write email to

+ +
+ bug-ncurses-request@gnu.org +
containing the line: + +
+

subscribe + <name>@<host.domain>

+

This list is open to anyone interested in helping with the development and testing of this package.

-

Beta versions of ncurses and patches to the current release - are made available at ftp://invisible-island.net/ncurses/ .

+

Beta versions of ncurses and + patches to the current release are made available at

+ +
+

ftp://ftp.invisible-island.net/ncurses/ + and
+ https://invisible-mirror.net/archives/ncurses/ .

+
+ +

There is an archive of the mailing list here:

+ +
+

http://lists.gnu.org/archive/html/bug-ncurses + (also https)

+
-

Future Plans

+

Related + resources

+ +

The release notes make scattered references to these pages, + which may be interesting by themselves:

-
  • Ports to more systems, including DOS and Windows.
  • - We need people to help with these projects. If you are - interested in working on them, please join the ncurses list. +

    Other + resources

    -

    Other Related Resources

    The distribution provides a newer - version of the terminfo-format terminal description file once - maintained by Eric +

    The distribution provides a newer version of the + terminfo-format terminal description file once maintained by + Eric Raymond . Unlike the older version, the termcap and - terminfo data are provided in the same file, and provides several - user-definable extensions beyond the X/Open specification. + terminfo data are provided in the same file, which also provides + several user-definable extensions beyond the X/Open + specification.

    You can find lots of information on terminal-related topics not covered in the terminfo file at Richard Shuford's archive .

    + +