'\" t
.\"***************************************************************************
-.\" Copyright 2018-2022,2023 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.92 2023/12/16 21:07:24 tom Exp $
-.TH curs_attr 3X 2023-12-16 "ncurses 6.4" "Library calls"
+.\" $Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp $
+.TH curs_attr 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
See \fBcurs_bkgd\fP(3X) for functions which modify the attributes used for
erasing and clearing.
.\" ---------------------------------------------------------------------------
-.SS Window attributes
+.SS "Window Attributes"
There are two sets of functions:
.bP
functions for manipulating the window attributes and color:
again values OR'd together in \fIattr\fP,
without affecting other attributes.
.\" ---------------------------------------------------------------------------
-.SS Legacy window attributes
+.SS "Legacy Window Attributes"
The X/Open window attribute routines which \fIset\fP or \fIget\fP,
turn \fIon\fP or \fIoff\fP
are extensions of older routines
although \fI\%ncurses\fP provides \fB\%getattrs\fP
(see \fB\%curs_legacy\fP(3X)).
.\" ---------------------------------------------------------------------------
-.SS Change character rendition
+.SS "Change Character Rendition"
The routine \fBchgat\fP changes the attributes of a given number of characters
starting at the current cursor location of \fBstdscr\fP.
It does not update
the color \fIpair\fP argument is a color pair index
(as in the first argument of \fBinit_pair\fP, see \fBcurs_color\fP(3X)).
.\" ---------------------------------------------------------------------------
-.SS Change window color
+.SS "Change Window Color"
The routine \fBcolor_set\fP sets the current color of the given window to the
foreground/background combination described by the color \fIpair\fP parameter.
.\" ---------------------------------------------------------------------------
as \fBattrset(A_NORMAL)\fP or \fBattrset(0)\fP, that is, it turns off all
attributes.
.PP
-X/Open does not mark these \*(``restricted\*('', because
+X/Open Curses does not mark these \*(``restricted\*('', because
.bP
they have well established legacy use, and
.bP
.ne 15
.RS
.TS
-l l
-_ _ _
-l l .
-\fBName\fP \fBDescription\fP
-\fBA_NORMAL\fP Normal display (no highlight)
-\fBA_STANDOUT\fP Best highlighting mode of the terminal.
-\fBA_UNDERLINE\fP Underlining
-\fBA_REVERSE\fP Reverse video
-\fBA_BLINK\fP Blinking
-\fBA_DIM\fP Half bright
-\fBA_BOLD\fP Extra bright or bold
-\fBA_PROTECT\fP Protected mode
-\fBA_INVIS\fP Invisible or blank mode
-\fBA_ALTCHARSET\fP Alternate character set
-\fBA_ITALIC\fP Italics (non-X/Open extension)
-\fBA_CHARTEXT\fP Bit-mask to extract a character
-\fBA_COLOR\fP Bit-mask to extract a color (legacy routines)
+Lb Lb
+Lb Lx.
+Name Description
+_
+A_NORMAL Normal display (no highlight)
+A_STANDOUT T{
+Best highlighting mode of the terminal
+T}
+A_UNDERLINE Underlining
+A_REVERSE Reverse video
+A_BLINK Blinking
+A_DIM Half bright
+A_BOLD Extra bright or bold
+A_PROTECT Protected mode
+A_INVIS Invisible or blank mode
+A_ALTCHARSET Alternate character set
+A_ITALIC Italics (non-X/Open extension)
+A_CHARTEXT Bit-mask to extract a character
+A_COLOR T{
+Bit-mask to extract a color (legacy routines)
+T}
.TE
.RE
.PP
.PP
.RS
.TS
-l l
-_ _ _
-l l .
-\fBName\fP \fBDescription\fP
-\fBWA_HORIZONTAL\fP Horizontal highlight
-\fBWA_LEFT\fP Left highlight
-\fBWA_LOW\fP Low highlight
-\fBWA_RIGHT\fP Right highlight
-\fBWA_TOP\fP Top highlight
-\fBWA_VERTICAL\fP Vertical highlight
+Lb Lb
+Lb Lx.
+Name Description
+_
+WA_HORIZONTAL Horizontal highlight
+WA_LEFT Left highlight
+WA_LOW Low highlight
+WA_RIGHT Right highlight
+WA_TOP Top highlight
+WA_VERTICAL Vertical highlight
.TE
.RE
.PP
.SH RETURN VALUE
All routines return the integer \fBOK\fP on success, or \fBERR\fP on failure.
.PP
-X/Open does not define any error conditions.
+X/Open Curses does not specify any error conditions.
.PP
This implementation
.bP
does not return an error if either of the parameters of \fBwattr_get\fP
used for retrieving attribute or color pair values is \fBNULL\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.\" ---------------------------------------------------------------------------
.SH NOTES
These functions may be macros:
except to check that it is \fBNULL\fP.
.\" ---------------------------------------------------------------------------
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The standard defined the dedicated type for highlights,
\fBattr_t\fP, which was not defined in SVr4 curses.
The functions taking \fBattr_t\fP arguments were not supported under SVr4.
when changing the attributes.
Use \fBtouchwin\fP to force the screen to match the updated attributes.
.PP
-The XSI Curses standard states that whether the traditional functions
+X/Open Curses states that whether the traditional functions
\fBattron\fP/\fBattroff\fP/\fBattrset\fP can manipulate attributes other than
\fBA_BLINK\fP, \fBA_BOLD\fP, \fBA_DIM\fP, \fBA_REVERSE\fP, \fBA_STANDOUT\fP, or
\fBA_UNDERLINE\fP is \*(``unspecified\*(''.
SVr4 curses, these functions correctly manipulate all other highlights
(specifically, \fBA_ALTCHARSET\fP, \fBA_PROTECT\fP, and \fBA_INVIS\fP).
.PP
-XSI Curses added these entry points:
+X/Open Curses added these entry points:
.sp
.RS
\fBattr_get\fP, \fBattr_on\fP,
.RS
.ne 9
.TS
-l l
-_ _ _
-l l .
-\fBName\fP \fBDescription\fP
-\fBWA_NORMAL\fP Normal display (no highlight)
-\fBWA_STANDOUT\fP Best highlighting mode of the terminal.
-\fBWA_UNDERLINE\fP Underlining
-\fBWA_REVERSE\fP Reverse video
-\fBWA_BLINK\fP Blinking
-\fBWA_DIM\fP Half bright
-\fBWA_BOLD\fP Extra bright or bold
-\fBWA_ALTCHARSET\fP Alternate character set
+Lb Lb
+Lb Lx.
+Name Description
+_
+WA_NORMAL Normal display (no highlight)
+WA_STANDOUT T{
+Best highlighting mode of the terminal
+T}
+WA_UNDERLINE Underlining
+WA_REVERSE Reverse video
+WA_BLINK Blinking
+WA_DIM Half bright
+WA_BOLD Extra bright or bold
+WA_ALTCHARSET Alternate character set
.TE
.RE
.PP
-XSI curses does not assign values to these symbols,
+X/Open Curses does not assign values to these symbols,
nor does it state whether or not they are related to the
similarly-named A_NORMAL, etc.:
.bP
-The XSI curses standard specifies that each pair of corresponding \fBA_\fP
+X/Open Curses specifies that each pair of corresponding \fBA_\fP
and \fBWA_\fP-using functions operates on the same current-highlight
information.
.bP
This is consistent with SVr4 curses;
X/Open Curses does not specify this.
.PP
-The XSI standard extended conformance level adds new highlights
+The X/Open Curses extended conformance level adds new highlights
\fBA_HORIZONTAL\fP, \fBA_LEFT\fP, \fBA_LOW\fP, \fBA_RIGHT\fP, \fBA_TOP\fP,
\fBA_VERTICAL\fP (and corresponding \fBWA_\fP macros for each).
As of August 2013,
A 32-bit library can be used on a 64-bit system,
but not necessarily the reverse.
.PP
-.RS
.TS
-l l l l l l
-_ _ _ _ _ _
-l l l l l l .
-\fBYear\fP \fBSystem\fP \fBArch\fP \fBColor\fP \fBChar\fP \fBNotes\fP
-1992 Solaris 5.2 32 6 17 SVr4 curses
-1992 HP-UX 9 32 no 8 SVr2 curses
-1992 AIX 3.2 32 no 23 SVr2 curses
-1994 OSF/1 r3 32 no 23 SVr2 curses
-1995 HP-UX 10.00 32 6 16 SVr3 \*(``curses_colr\*(''
-1995 HP-UX 10.00 32 6 8 SVr4, X/Open curses
-1995 Solaris 5.4 32/64 7 16 X/Open curses
-1996 AIX 4.2 32 7 16 X/Open curses
-1996 OSF/1 r4 32 6 16 X/Open curses
-1997 HP-UX 11.00 32 6 8 X/Open curses
-2000 U/Win 32/64 7/31 16 uses \fBchtype\fP
+Lb Lb Lb Cb S Lb
+Lb2 Lb Lb2 Lb2 Lb2 Lb
+L L L L L Lx.
+\& \& \& Bits \&
+Year System Arch Color Char Notes
+_
+1992 Solaris 5.2 32 6 17 SVr4 \fIcurses\fP
+1992 HP-UX 9 32 no 8 SVr2 \fIcurses\fP
+1992 AIX 3.2 32 no 23 SVr2 \fIcurses\fP
+1994 OSF/1 r3 32 no 23 SVr2 \fIcurses\fP
+1995 HP-UX 10.00 32 6 16 SVr3 \fIcurses_colr\fP
+1995 HP-UX 10.00 32 6 8 SVr4, X/Open \fIcurses\fP
+1995 Solaris 5.4 32/64 7 16 X/Open \fIcurses\fP
+1996 AIX 4.2 32 7 16 X/Open \fIcurses\fP
+1996 OSF/1 r4 32 6 16 X/Open \fIcurses\fP
+1997 HP-UX 11.00 32 6 8 X/Open \fIcurses\fP
+2000 U/Win 32/64 7/31 16 uses \fIchtype\fP
.TE
-.RE
.PP
Notes:
.RS 3