Go to main content

man pages section 3: Curses Library Functions

Exit Print View

Updated: Thursday, June 13, 2019
 
 

subwin(3XCURSES)

Name

derwin, newwin, subwin - create a new window or subwindow

Synopsis

cc [ flag... ] file... –I /usr/xpg4/include –L /usr/xpg4/lib \
–R /usr/xpg4/lib –lcurses [ library... ]

c89 [ flag... ] file... –lcurses [ library... ]
 
#include <curses.h>

WINDOW *derwin(WINDOW *orig, int nlines, int ncols,
     int begin_y, int begin_x);
WINDOW *newwin(int nlines, int ncols, int begin_y, int begin_x);
WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begin_y,
     int begin_x);

Description

The derwin() function creates a subwindow within window orig, with the specified number of lines and columns, and upper left corner positioned at begin_x, begin_y relative to window orig. A pointer to the new window structure is returned.

The newwin() function creates a new window with the specified number of lines and columns and upper left corner positioned at begin_x, begin_y. A pointer to the new window structure is returned. A full-screen window can be created by calling newwin(0,0,0,0).

If the number of lines specified is zero, newwin() uses a default value of LINES minus begin_y; if the number of columns specified is zero, newwin() uses the default value of COLS minus begin_x.

The subwin() function creates a subwindow within window orig, with the specified number of lines and columns, and upper left corner positioned at begin_x, begin_y (relative to the physical screen, not to window orig). A pointer to the new window structure is returned.

The original window and subwindow share character storage of the overlapping area (each window maintains its own pointers, cursor location, and other items). This means that characters and attributes are identical in overlapping areas regardless of which window characters are written to.

When using subwindows, it is often necessary to call touchwin(3XCURSES) before wrefresh(3XCURSES) to maintain proper screen contents.

Parameters

orig

Is a pointer to the parent window for the newly created subwindow.

nlines

Is the number of lines in the subwindow.

ncols

Is the number of columns in the subwindow.

begin_y

Is the y (row) coordinate of the upper left corner of the subwindow, relative to the parent window.

begin_x

Is the x (column) coordinate of the upper left corner of the subwindow, relative to the parent window.

Return Values

On success, these functions return a pointer to the newly-created window. Otherwise, they return ERR.

Errors

None.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
Unsafe
Standard

See Also

doupdate(3XCURSES), is_linetouched(3XCURSES), libcurses(3XCURSES), attributes(7), standards(7)