This implementation can be configured to provide a set of functions
which improve the ability to manage multiple screens. This feature
can be added to any of the configurations supported by ncurses; it
adds new entrypoints without changing the meaning of any of the
Most of the functions are new versions of existing functions. A
parameter is added at the front of the parameter list. It is a
The existing functions all use the current screen, which is a static
variable. The extended functions use the specified screen, thereby
reducing the number of variables which must be modified to update
Here are the new functions:
this returns a pointer to the topmost panel in the given screen.
this returns a pointer to the lowest panel in the given screen.
when creating a new screen, the library uses static variables
which have been preset, e.g., by use_env(3X), filter(3X), etc.
With the screen-pointer extension, there are situations where it
must create a current screen before the unextended library does.
The new_prescr function is used internally to handle these
cases. It is also provided as an entrypoint to allow
applications to customize the library initialization.
This extension introduces some new names:
This is set to the library patch-level number. In the
unextended library, this is zero (0), to make it useful for
checking if the extension is provided.
The new functions are named using the macro NCURSES_SP_NAME,
which hides the actual implementation. Currently this adds a
"_sp" suffix to the name of the unextended function. This
manual page indexes the extensions showing the full name.
However the proper usage of these functions uses the macro, to
provide for the possibility of changing the naming convention
for specific library configurations.
This is a new function-pointer type to use in the screen-pointer
functions where an NCURSES_OUTC is used in the unextended
This is a function-pointer type used for the cases where a
function passes characters to the output stream, e.g.,
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that
any code depending on ncurses extensions be conditioned using
This page is part of the ncurses (new curses) project. Information
about the project can be found at
⟨https://www.gnu.org/software/ncurses/ncurses.html⟩. If you have a
bug report for this manual page, send it to
firstname.lastname@example.org. This page was obtained from the
project's upstream Git mirror of the CVS repository
⟨git://ncurses.scripts.mit.edu/ncurses.git⟩ on 2017-04-25. If you
discover any rendering problems in this HTML version of the page, or
you believe there is a better or more up-to-date source for the page,
or you have corrections or improvements to the information in this
COLOPHON (which is not part of the original manual page), send a mail