Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
curs_bkgrnd(3X)			 Library calls		       curs_bkgrnd(3X)

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(3X)	and wins_wch(3X) 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 spec-
	   ified 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
	   background.	 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(3X), ncurses ignores the new background char-
       acter'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-character  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
       curs_bkgd(3X) describes the corresponding functions  in	the  non-wide-
       character configuration of ncurses.

       curses(3X), curs_add_wch(3X), curs_attr(3X)

ncurses	6.6			  2025-08-23		       curs_bkgrnd(3X)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=curs_bkgrnd&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help