dwww Home | Manual pages | Find package

bkgrnd(3NCURSES)                 Library calls                 bkgrnd(3NCURSES)

NAME
       bkgrnd,  wbkgrnd, bkgrndset, wbkgrndset, getbkgrnd, wgetbkgrnd - manipu-
       late background of a curses window of wide characters

SYNOPSIS
       #include <curses.h>

       int bkgrnd(const cchar_t *wch);
       int wbkgrnd(WINDOW *win, const cchar_t *wch);

       void bkgrndset(const cchar_t *wch);
       void wbkgrndset(WINDOW *win, const cchar_t *wch);

       int getbkgrnd(cchar_t *wch);
       int wgetbkgrnd(WINDOW *win, cchar_t *wch);

DESCRIPTION
       Every curses window has a background  character  property:  in  the  li-
       brary's  wide  configuration, it is a curses complex character (cchar_t)
       that combines a set of attributes (and, if colors are enabled,  a  color
       pair  identifier) with a character code.  When erasing (parts of) a win-
       dow, curses replaces the erased cells with the background character.

       curses also uses the background character when writing characters  to  a
       populated window.

       •   The  attribute  part  of  the background character combines with all
           non-blank character  cells  in  the  window,  as  populated  by  the
           wadd_wch(3NCURSES) and wins_wch(3NCURSES) families of functions (and
           those that call them).

       •   Both  the  character code and attributes of the background character
           combine with blank character cells in the window.

       The background character's set of attributes becomes a property  of  the
       character  cell and move with it through any scrolling and insert/delete
       line/character operations.  To the extent possible on the terminal type,
       curses displays the  attributes  of  the  background  character  as  the
       graphic rendition of a character cell on the display.

   bkgrnd, wbkgrnd
       bkgrnd  and  wbkgrnd set the background property of stdscr or the speci-
       fied window and then apply this setting to every character cell in  that
       window.

       •   The  rendition  of  every character in the window changes to the new
           background rendition.

       •   Wherever the former background character appears, it changes to  the
           new background character.

       ncurses  updates  the  rendition of each character cell by comparing the
       character, non-color attributes, and color pair selection.  The  library
       applies  to  following  procedure to each cell in the window, whether or
       not it is blank.

       •   ncurses first compares the cell's character to the previously speci-
           fied background character; if they match,  ncurses  writes  the  new
           background character to the cell.

       •   ncurses  then checks whether the cell uses color; that is, its color
           pair value is nonzero.  If not, it simply  replaces  the  attributes
           and  color pair in the cell with those from the new background char-
           acter.

       •   If the cell uses color, and its background color matches that of the
           current window background, ncurses removes attributes that may  have
           come  from  the current background and adds those from the new back-
           ground.  It finishes by setting the cell's background to use the new
           window background color.

       •   If the cell uses color, and its background color does not match that
           of the current window background, ncurses updates only the non-color
           attributes, first removing those that may have come from the current
           background, and then adding attributes from the new background.

       If the new background's character is non-spacing, ncurses reuses the old
       background character, except for one  special  case:  ncurses  treats  a
       background character code of zero (0) as a space.

       If  the  terminal  does not support color, or if color has not been ini-
       tialized with start_color(3NCURSES), ncurses ignores the new  background
       character's color pair selection.

   bkgrndset, wbkgrndset
       bkgrndset  and  wbkgrndset  manipulate  the background of the applicable
       window, without updating the character cells as bkgrnd and  wbkgrnd  do;
       only future writes reflect the updated background.

   getbkgrnd, wgetbkgrnd
       getbkgrnd  and wgetbkgrnd respectively obtain stdscr's or the given win-
       dow's background character, attributes, and color pair, and store it  in
       their wch argument.

RETURN VALUE
       bkgrndset and wbkgrndset do not return a value.

       Functions  returning an int return ERR upon failure and OK upon success.
       In ncurses, failure occurs if

       •   the curses screen has not been initialized,

       •   win is NULL, or

       •   wch is NULL.

NOTES
       bkgrnd, bkgrndset, and getbkgrnd may be implemented as macros.

       Unlike their counterparts in  the  non-wide  configuration  of  ncurses,
       getbkgrnd  and wgetbkgrnd store the background character in a modifiable
       cchar_t parameter, rather than supplying it as the return value.

PORTABILITY
       X/Open Curses Issue 4 describes these functions.  It specifies no  error
       conditions for them.

       X/Open  Curses does not provide details of how the rendition is updated.
       ncurses follows the approach used in SVr4  curses's  non-wide  functions
       for manipulating the window background.

HISTORY
       X/Open Curses Issue 4 (1995) initially specified these functions.

SEE ALSO
       bkgd(3NCURSES)  describes  the  corresponding  functions in the non-wide
       configuration of ncurses.

       ncurses(3NCURSES), add_wch(3NCURSES), attr(3NCURSES)

ncurses 6.5                        2025-02-15                  bkgrnd(3NCURSES)

Generated by dwww version 1.16 on Fri Oct 2 13:25:11 CEST 2026.