vidattr, vid_attr, vidputs, vid_puts - output attributes to the terminal
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> int vidattr(chtype attr);
int vid_attr(attr_t attr, short color_pair_number, void *opt);
int vidputs(chtype attr, int (*putfunc) (int));
int vid_puts(attr_t attr, short color_pair_number, void *opt, int (*putfunc) (int));
Is the rendition of the foreground window.
Is a color pair.
Is reserved for future use. Currently, this must be a null pointer.
Is a user-supplied output function.
These functions output commands to the terminal that change the terminal's attributes.
If the terminfo database indicates that the terminal in use can display characters in the rendition specified by attr, then vidattr() outputs one or more commands to request that the terminal display subsequent characters in that rendition. The function outputs by calling putchar(3C). The vidattr() function neither relies on your updates the model which Curses maintains of the prior rendition mode.
The vidputs() function computes the terminal output string that vidattr() does, based on attr, but vidputs() outputs by calling the user-supplied function putfunc. The vid_attr() and vid_puts() functions correspond to vidattr() and vidputs() respectively, but take a set of arguments, one of type attr_t for the attributes, one of type short for the color pair number, and a void *, and thus support the attribute constants with the WA_ prefix.
The opts argument is reserved for definition in a future release. Currently, it is implemented as a null pointer.
The user-supplied function putfunc (which can be specified as an argument to either vidputs() or vid_puts()) is either putchar() or some other function with the same prototype. Both the vidputs() and vid_puts() functions ignore the return value of putfunc.
Upon successful completion, these functions return OK. Otherwise, they return ERR.
No errors are defined.
After use of any of these functions, the model Curses maintains of the state of the terminal might not match the actual state of the terminal. The application should touch and refresh the window before resuming conventional use of Curses.
Of these functions requires that the application contain so much information about a particular class of terminal that it defeats the purpose of using Curses.
On some terminals, a command to change rendition conceptually occupies space in the screen buffer (with or without width). Thus, a command to set the terminal to a new rendition would change the rendition of some characters already displayed.
See attributes(7) for descriptions of the following attributes: