-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.34 2010/08/14 23:30:02 tom Exp @
+ * @Id: curs_attr.3x,v 1.53 2017/03/28 23:31:39 tom Exp @
+ * attr_get
+ * .br
+ * .br
+ * .br
+ * .br
+ * .br
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_attr 3x</TITLE>
<link rev=made href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_attr 3x</H1>
-<HR>
+<H1 class="no-header">curs_attr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>,
- <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, <STRONG>standout</STRONG>,
- <STRONG>wstandout</STRONG>, <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>,
- <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>wchgat</STRONG>,
- <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> character and
- window attribute control routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
+ <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
+ <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
+ <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control
+ routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <STRONG>color_pair_number,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair_number,</STRONG>
- <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM>
+ <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n,</EM> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts);</EM>
+
<STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG>
- <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG>
- <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines manipulate the current attributes of the
- named window. The current attributes of a window apply to
- all characters that are written into the window with <STRONG>wadd-</STRONG>
- <STRONG>ch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
- character, and move with the character through any
- scrolling and insert/delete line/character operations. To
- the extent possible, they are displayed as appropriate
- modifications to the graphic rendition of characters put
- on the screen.
-
- The routine <STRONG>attrset</STRONG> sets the current attributes of the
- given window to <EM>attrs</EM>. The routine <STRONG>attroff</STRONG> turns off the
- named attributes without turning any other attributes on
- or off. The routine <STRONG>attron</STRONG> turns on the named attributes
- without affecting any others. The routine <STRONG>standout</STRONG> is the
- same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine <STRONG>standend</STRONG> is the
- same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it turns
- off all attributes.
-
- The <STRONG>attrset</STRONG> and related routines do not affect the at-
- tributes used when erasing portions of the window. See
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the attributes
- used for erasing and clearing.
-
- The routine <STRONG>color_set</STRONG> sets the current color of the given
- window to the foreground/background combination described
- by the color_pair_number. The parameter opts is reserved
- for future use, applications must supply a null pointer.
-
- The routine <STRONG>wattr_get</STRONG> returns the current attribute and
- color pair for the given window; <STRONG>attr_get</STRONG> returns the cur-
- rent attribute and color pair for <STRONG>stdscr</STRONG>. The remaining
- <STRONG>attr_</STRONG>* functions operate exactly like the corresponding
- <STRONG>attr</STRONG>* functions, except that they take arguments of type
- <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
-
- The routine <STRONG>chgat</STRONG> changes the attributes of a given number
- of characters starting at the current cursor location of
- <STRONG>stdscr</STRONG>. It does not update the cursor and does not per-
- form wrapping. A character count of -1 or greater than
- the remaining window width means to change attributes all
- the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
- tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function
- does a cursor move before acting. In these functions, the
- color argument is a color-pair index (as in the first ar-
- gument of <EM>init</EM><STRONG>_</STRONG><EM>pair</EM>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>). The <STRONG>opts</STRONG> argu-
- ment is not presently used, but is reserved for the future
- (leave it <STRONG>NULL</STRONG>).
-
- <STRONG>Attributes</STRONG>
- The following video attributes, defined in <STRONG><curses.h></STRONG>, can
- be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
- OR'd with the characters passed to <STRONG>addch</STRONG>.
-
- <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
- <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
- <STRONG>A_UNDERLINE</STRONG> Underlining
- <STRONG>A_REVERSE</STRONG> Reverse video
- <STRONG>A_BLINK</STRONG> Blinking
- <STRONG>A_DIM</STRONG> Half bright
- <STRONG>A_BOLD</STRONG> Extra bright or bold
- <STRONG>A_PROTECT</STRONG> Protected mode
- <STRONG>A_INVIS</STRONG> Invisible or blank mode
- <STRONG>A_ALTCHARSET</STRONG> Alternate character set
- <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
- <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> Color-pair number <EM>n</EM>
-
- The following macro is the reverse of <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>:
-
- <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) Returns the pair number associated
- with the <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> attribute.
-
- The return values of many of these routines are not mean-
- ingful (they are implemented as macro-expanded assignments
- and simply return their argument). The SVr4 manual page
- claims (falsely) that these routines always return <STRONG>1</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines manipulate the current attributes of the named window,
+ which then apply to all characters that are written into the window
+ with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
+ character, and move with the character through any scrolling and in-
+ sert/delete line/character operations. To the extent possible, they
+ are displayed as appropriate modifications to the graphic rendition of
+ characters put on the screen.
+ These routines do not affect the attributes used when erasing portions
+ of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the at-
+ tributes used for erasing and clearing.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>,
- <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG> may be macros.
-
- <STRONG>COLOR_PAIR</STRONG> values can only be OR'd with attributes if the
- pair number is less than 256. The alternate functions
- such as <STRONG>color_set</STRONG> can pass a color pair value directly.
- However, ncurses ABI 4 and 5 simply OR this value within
- the alternate functions. You must use ncurses ABI 6 to
- support more than 256 color pairs.
+ Routines which do not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>. For
+ example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are supported in the XSI Curses standard,
- Issue 4. The standard defined the dedicated type for
- highlights, <STRONG>attr_t</STRONG>, which is not defined in SVr4 curses.
- The functions taking <STRONG>attr_t</STRONG> arguments are not supported
- under SVr4.
-
- The XSI Curses standard states that whether the tradition-
- al functions <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate at-
- tributes other than <STRONG>A_BLINK</STRONG>, <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
- <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". Under this
- implementation as well as SVr4 curses, these functions
- correctly manipulate all other highlights (specifically,
- <STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
-
- XSI Curses added the new entry points, <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>,
- <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wat-</STRONG>
- <STRONG>tr_set</STRONG>. These are intended to work with a new series of
- highlight macros prefixed with <STRONG>WA_</STRONG>.
-
- Older versions of this library did not force an update of
- the screen when changing the attributes. Use <STRONG>touchwin</STRONG> to
- force the screen to match the updated attributes.
-
- <STRONG>WA_NORMAL</STRONG> Normal display (no highlight)
- <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal.
- <STRONG>WA_UNDERLINE</STRONG> Underlining
- <STRONG>WA_REVERSE</STRONG> Reverse video
- <STRONG>WA_BLINK</STRONG> Blinking
- <STRONG>WA_DIM</STRONG> Half bright
- <STRONG>WA_BOLD</STRONG> Extra bright or bold
- <STRONG>WA_ALTCHARSET</STRONG> Alternate character set
-
- The XSI curses standard specifies that each pair of corre-
- sponding <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same
- current-highlight information.
-
- The XSI standard extended conformance level adds new high-
- lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
- <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each) which this
- implementation does not yet support.
+</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
+ There are two sets of functions:
+ <STRONG>o</STRONG> functions for manipulating the window attributes and color: <STRONG>wat-</STRONG>
+ <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on
- failure.
+ <STRONG>o</STRONG> functions for manipulating only the window attributes (not color):
+ <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
+
+ The <STRONG>wattr_set</STRONG> function sets the current attributes of the given window
+ to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
+
+ Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
+
+ Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values
+ OR'd together in <EM>attr</EM>, without affecting other attributes. Use <STRONG>at-</STRONG>
+ <STRONG>tr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
+ together in <EM>attr</EM>, without affecting other attributes.
+
+
+</PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE>
+ Most of the window attribute routines are extensions of older routines
+ which assume that color pairs are OR'd into the attribute parameter.
+ These older routines use the same name, omitting an underscore (<STRONG>_</STRONG>).
+
+ The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
+ in X/Open Curses for the same reason that SVr4 curses kept it: compati-
+ bility.
+
+ The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding
+ <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather
+ than <STRONG>attr_t</STRONG>.
+
+ There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses,
+ although ncurses provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
+ The routine <STRONG>chgat</STRONG> changes the attributes of a given number of charac-
+ ters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does not
+ update the cursor and does not perform wrapping. A character count of
+ -1 or greater than the remaining window width means to change at-
+ tributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
+ tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a cur-
+ sor move before acting.
+
+ In these functions, the color <EM>pair</EM> argument is a color-pair index (as
+ in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
+ The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
+ foreground/background combination described by the color <EM>pair</EM> parame-
+ ter.
+
+
+</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
+ The routine <STRONG>standout</STRONG> is the same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine
+ <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it
+ turns off all attributes.
+
+ X/Open does not mark these "restricted", because
+
+ <STRONG>o</STRONG> they have well established legacy use, and
+
+ <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be com-
+ bined with a color pair.
+
+
+</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
+ The following video attributes, defined in <STRONG><curses.h></STRONG>, can be passed to
+ the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters
+ passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>).
+
+ <EM>Name</EM> <EM>Description</EM>
+ -----------------------------------------------------------
+ <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>A_UNDERLINE</STRONG> Underlining
+ <STRONG>A_REVERSE</STRONG> Reverse video
+ <STRONG>A_BLINK</STRONG> Blinking
+ <STRONG>A_DIM</STRONG> Half bright
+ <STRONG>A_BOLD</STRONG> Extra bright or bold
+ <STRONG>A_PROTECT</STRONG> Protected mode
+ <STRONG>A_INVIS</STRONG> Invisible or blank mode
+ <STRONG>A_ALTCHARSET</STRONG> Alternate character set
+ <STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
+ <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
+
+ These video attributes are supported by <STRONG>attr_on</STRONG> and related functions
+ (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
+
+ <EM>Name</EM> <EM>Description</EM>
+ -----------------------------------------
+ <STRONG>WA_HORIZONTAL</STRONG> Horizontal highlight
+ <STRONG>WA_LEFT</STRONG> Left highlight
+ <STRONG>WA_LOW</STRONG> Low highlight
+ <STRONG>WA_RIGHT</STRONG> Right highlight
+ <STRONG>WA_TOP</STRONG> Top highlight
+ <STRONG>WA_VERTICAL</STRONG> Vertical highlight
+
+ The return values of many of these routines are not meaningful (they
+ are implemented as macro-expanded assignments and simply return their
+ argument). The SVr4 manual page claims (falsely) that these routines
+ always return <STRONG>1</STRONG>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ These functions may be macros:
+
+ <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+ and <STRONG>standout</STRONG>.
+
+ Color pair values can only be OR'd with attributes if the pair number
+ is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a
+ color pair value directly. However, ncurses ABI 4 and 5 simply OR this
+ value within the alternate functions. You must use ncurses ABI 6 to
+ support more than 256 color pairs.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
+ have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa-
+ bilities. Italics are not mentioned in X/Open Curses. Unlike the oth-
+ er video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa-
+ bilities. This implementation makes the assumption that <STRONG>exit_at-</STRONG>
+ <STRONG>tribute_mode</STRONG> may also reset italics.
+
+ Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+ X/Open Curses still (after more than twenty years) documents as re-
+ served for future use, saying that it should be <STRONG>NULL</STRONG>. This implementa-
+ tion uses that parameter in ABI 6 for the functions which have a color-
+ pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+
+ <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
+
+ <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+ dard pointer to <STRONG>short</STRONG> parameter.
+
+ The remaining functions which have <EM>opts</EM>, but do not manipulate color,
+ e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used by this implementation except
+ to check that they are <STRONG>NULL</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are supported in the XSI Curses standard, Issue 4. The
+ standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
+ not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were
+ not supported under SVr4.
+
+ Very old versions of this library did not force an update of the screen
+ when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+ match the updated attributes.
+
+ The XSI Curses standard states that whether the traditional functions
+ <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
+ <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+ Under this implementation as well as SVr4 curses, these functions cor-
+ rectly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+
+ XSI Curses added these entry points:
+
+ <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG>
+ <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG>
+
+ The new functions are intended to work with a new series of highlight
+ macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
+ the newer set of names:
+
+ <EM>Name</EM> <EM>Description</EM>
+ ------------------------------------------------------------
+ <STRONG>WA_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>WA_UNDERLINE</STRONG> Underlining
+ <STRONG>WA_REVERSE</STRONG> Reverse video
+ <STRONG>WA_BLINK</STRONG> Blinking
+ <STRONG>WA_DIM</STRONG> Half bright
+ <STRONG>WA_BOLD</STRONG> Extra bright or bold
+ <STRONG>WA_ALTCHARSET</STRONG> Alternate character set
+
+ The XSI curses standard specifies that each pair of corresponding <STRONG>A_</STRONG>
+ and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight informa-
+ tion.
+
+ The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG>
+ <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and corresponding
+ <STRONG>WA_</STRONG> macros for each). As of August 2013, no known terminal provides
+ these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
X/Open does not define any error conditions.
- This implementation returns an error if the window pointer
- is null. The <STRONG>wcolor_set</STRONG> function returns an error if the
- color pair parameter is outside the range 0..COL-
- OR_PAIRS-1. This implementation also provides <STRONG>getattrs</STRONG>
- for compatibility with older versions of curses.
+ This implementation
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> returns an error if the window pointer is null.
+ <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out-
+ side the range 0..COLOR_PAIRS-1.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ <STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
+ used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>.
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Window-attributes">Window attributes</a></li>
+<li><a href="#h3-Legacy-window-attributes">Legacy window attributes</a></li>
+<li><a href="#h3-Change-character-rendition">Change character rendition</a></li>
+<li><a href="#h3-Change-window-color">Change window color</a></li>
+<li><a href="#h3-Standout">Standout</a></li>
+</ul>
+</li>
+<li><a href="#h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>