Help and Forums


Notes on the transition from ncurses v:5.9 to ncurses v:6.1    (posted 10 Oct 2018)

The NcDialog API, upon which most of our applications are based, was developed using the ncursesw 5.9 development package, and is fully functional with v:5.9 ncurses. Starting in mid-2015, Thomas Dickey (maintainer of ncurses) has been working to transition from version 5.9 to version 6.0. This has been a slow and painful process, both for him and for those of us whose work depends on the ncurses library.
Let's be clear here: Thomas Dickey is an under-appreciated hero of the GNU/Linux community, and he deserves our support and encouragement. That said, the early releases of ncurses 6.0 and 6.1 were not production-worthy. The Linux distribution teams and the various repositories have been slow to adopt the updated ncurses builds, but that is now changing.

Since the beginning of 2018, we have built the API against ncursesw 6.0.20160213. This is the version of the ncurses library shipped with Ubuntu-GNOME 16.4.3LTS. The API builds cleanly and runs without error under the ncursesw 6.0 library, except that a few of the underlying keycode definitions have changed. Approximately eight(8) keycodes are affected by this issue. These are a few of the navigation keys (when conditioned by CTRL and/or ALT modifier keys), and two numeric keypad keys.

This is actually due to issues with the underlying terminal definition and not due to any problem with either ncurses or the NcDialog API. If distributions could be relied upon to use Mr. Dickey's most current terminfo database and termcap file rather than those included with XTERM, there would be no problem. We would recommend that if you have the technical expertise to do so, you should update your terminfo database and generate a new termcap. (Please visit invisible-island.net for more information.)

We are continuing to research and experiment with this and other issues related to the community's transition to ncurses v:6.1. Stay tuned.





The interactive portions of this page are currently disabled.