March 14, 2008 CURSES_ATTRIBUTES 3

### NAME

curses_attributes, attron, attroff, attrset, color_set, getattrs, termattrs, wattron, wattroff, wattrset, wcolor_set, attr_on, attr_off, attr_set, attr_get, term_attrs, wattr_on, wattr_off, wattr_set, wattr_get - curses general attribute manipulation routines

### LIBRARY

Curses Library (libcurses, -lcurses)

### SYNOPSIS

```int` attron(```int attr`)
```int` attroff(```int attr`)
```int` attrset(```int attr`)
```int` color_set(```short pair``, void *opt`)
```chtype` getattrs(```WINDOW *win`)
```chtype` termattrs(```void`)
```int` wcolor_set(```WINDOW *win``, short pair``, void *opt`)
```int` wattron(```WINDOW * win``, int attr`)
```int` wattroff(```WINDOW * win``, int attr`)
```int` wattrset(```WINDOW * win``, int attr`)
```int` attr_on(```attr_t attr``, void *opt`)
```int` attr_off(```attr_t attr``, void *opt`)
```int` attr_set(```attr_t attr``, short pair``, void *opt`)
```int` attr_get(```attr_t *attr``, short *pair``, void *opt`)
```attr_t` term_attrs(```void`)
```int` wattr_on(```WINDOW *win``, attr_t attr``, void *opt`)
```int` wattr_off(```WINDOW *win``, attr_t attr``, void *opt`)
```int` wattr_set(```WINDOW *win``, attr_t attr``, short pair``, void *opt`)
```int` wattr_get(```WINDOW *win``, attr_t *attr``, short *pair``, void *opt`)

### DESCRIPTION

These functions manipulate attributes on ```stdscr` or on the specified window. The attributes that can be manipulated are:

A_NORMAL
  no special attributes are applied
A_STANDOUT
  characters are displayed in standout mode
A_UNDERLINE
  characters are displayed underlined
A_REVERSE
  characters are displayed in inverse video
A_BLINK
  characters blink
A_DIM
  characters are displayed at a lower intensity
A_BOLD
  characters are displayed at a higher intensity
A_INVIS
  characters are added invisibly
A_PROTECT
  characters are protected from modification
A_ALTCHARSET
  characters are displayed using the alternate character set (ACS)
COLOR_PAIR(n)
  characters are displayed using color pair n.

The attron(``) function turns on the attributes specified in ```attr` on ```stdscr`, while the attroff(``) function turns off the attributes specified in ```attr` on ```stdscr`.

The function attrset(``) sets the attributes of ```stdscr` to those specified in ```attr`, turning off any others. To turn off all the attributes (including color and alternate character set), use attrset(```A_NORMAL`).

Multiple attributes can be manipulated by combining the attributes using a logical OR. For example, attron(```A_REVERSE | A_BOLD`) will turn on both inverse video and higher intensity.

The function color_set(``) sets the color pair attribute to the pair specified in ```pair`.

The function getattrs(``) returns the attributes that are currently applied to window specified by ```win`.

The function termattrs(``) returns the logical OR of attributes that can be applied to the screen.

The functions wattron(``), wattroff(``), wattrset(``), and wcolor_set(``) are equivalent to attron(``), attroff(``) attrset(``), and color_set(``) respectively, excepting that the attributes are applied to the window specified by ```win`.

The following functions additionally manipulate wide attributes on ```stdscr` or on the specified window. The additional wide attributes that can be manipulated are:

WA_STANDOUT
  characters are displayed in standout mode
WA_UNDERLINE
  characters are displayed underlined
WA_REVERSE
  characters are displayed in inverse video
WA_BLINK
  characters blink
WA_DIM
  characters are displayed at a lower intensity
WA_BOLD
  characters are displayed at a higher intensity
WA_INVIS
  characters are added invisibly
WA_PROTECT
  characters are protected from modification
WA_ALTCHARSET
  characters are displayed using the alternate character set (ACS)
WA_LOW
  characters are displayed with low highlight
WA_TOP
  characters are displayed with top highlight
WA_HORIZONTAL
  characters are displayed with horizontal highlight
WA_VERTICAL
  characters are displayed with vertical highlight
WA_LEFT
  characters are displayed with left highlight
WA_RIGHT
  characters are displayed with right highlight

The attr_on(``) function turns on the wide attributes specified in ```attr` on ```stdscr`, while the attr_off(``) function turns off the wide attributes specified in ```attr` on ```stdscr`.

The function attr_set(``) sets the wide attributes of ```stdscr` to those specified in ```attr` and ```pair`, turning off any others. Note that a color pair specified in ```pair` will override any color pair specified in ```attr`.

The function attr_get(``) sets ```attr` to the wide attributes and ```pair` to the color pair currently applied to ```stdscr`. Either of ```attr` and ```pair` can be ```NULL`, if the relevant value is of no interest.

The function term_attrs(``) returns the logical OR of wide attributes that can be applied to the screen.

The functions wattr_on(``), wattr_off(``) and wattr_set(``) are equivalent to attr_on(``), attr_off(``) and attr_set(``) respectively, excepting that the character is added to the window specified by ```win`.

The function wattr_get(``) is equivalent to attr_get(``), excepting that the wide attributes and color pair currently applied to ```win` are set.

The following constants can be used to extract the components of a ```chtype`:

A_ATTRIBUTES
  bit-mask containing attributes part
A_CHARTEXT
  bit-mask containing character part
A_COLOR
  bit-mask containing color-pair part

### RETURN VALUES

These functions return OK on success and ERR on failure.

### SEE ALSO

curses_addch(3), curses_addchstr(3), curses_addstr(3), curses_background(3), curses_color(3), curses_insertch(3), curses_standout(3), curses_underscore(3)

### NOTES

The ```opt` argument is not currently used but is reserved for a future version of the specification.

### STANDARDS

The NetBSD Curses library complies with the X/Open Curses specification, part of the Single Unix Specification.

The getattrs(``) function is a NetBSD extension.

### HISTORY

These functions first appeared in NetBSD1.5.

### BUGS

Some terminals do not support characters with both color and other attributes set. In this case, the other attribute is displayed instead of the color attribute.