Below are some ideas for future improvements. I am interested in
hearing any additional suggestions.

NetHack Interface
=================

(These are the functions in cursmain.c called by the core NetHack code)

  * Implement curses_rip for optional fancier color tombstone, as well
 as one that will display correctly on smaller terminals.

  * I am confused as to how mark_synch and wait_synch should work.
  Help, please?

  * Both PDCurses and Ncurses have mouse support, so the poskey
 function could probably be implemented easily enough.

  * raw_print is supposed to be able to work before the windowing
 system has been initialized, as well as after, so I am unsure if
 curses functions should be used here. Maybe check to see if
 initscr() has been called, and use curses functions if so, and call
 initscr() from there is not? Right now it is just a call to puts()
 with no support for bold text.

Display
=======

  * Consolidate refreshes of the display for smoother output.

  * Calls to getch() should probably be turned into wgetch() for the
 appropriate window. This causes quirky cursor behavior under
 PDCurses, however.

  * Support option to set foreground and background colors for
 individual windows

Menus
=====

(cursdial.c)

  * Menus need to be able to accept a count as input, e.g. to specify
 how many items to drop Done

  * Currently the "preselected" flag for an individual menu item is
 ignored. This should eventually be implemented Done

  * Menus probably should never overlap with the message window, since
 the user sometimes needs to be able to see the messages while the
 menu is active, e.g. when identifying multiple items one at a time.

  * Perhaps allow for keyboard navigation of individual items, e.g.
 using the up and down arrows to move among the selectable items,
 and selecting individual items with the spacebar. Perhaps the tab
 key could jump to the first selectable item after the next heading,
 and shift-tab could jump to the first item of the previous heading.

Status Window
=============

(cursstat.c)

  * Maybe add some configuration options for what colors are used and
 the like.

Other Platforms
===============

PDCurses also works on DOS and OS/2. Porting the curses interface to
these platforms should not be too difficult.

Misc
====

  * Update documentation and in-game help to describe the newly-added
 options: cursesgraphics, term_rows, term_cols, and windowborders.

  * PDCurses has a function named "addrawch" to output the visual
 representation of a control character to the screen without having
 the control character affect the display otherwise. I would like to
 find a way to accomplish the same thing via Ncurses to e.g. be able
 to use a font like nh10 with the correct symbol mappings in an
 xterm or the like. (maybe impossible on a real terminal?)

  * Convert nh10.bdf text font into a format that PDCurses-SDL can use.

  * Allow all transient windows to be moved with arrows, possibly with
 modifier keys for multipage dialogs.

  * Maybe add in a very small built-in editor for editing the config
  file from withing the game.

