]> ncurses.scripts.mit.edu Git - ncurses.git/blob - man/curs_color.3x
ncurses 6.4 - patch 20231021
[ncurses.git] / man / curs_color.3x
1 .\"***************************************************************************
2 .\" Copyright 2018-2022,2023 Thomas E. Dickey                                *
3 .\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
4 .\"                                                                          *
5 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
6 .\" copy of this software and associated documentation files (the            *
7 .\" "Software"), to deal in the Software without restriction, including      *
8 .\" without limitation the rights to use, copy, modify, merge, publish,      *
9 .\" distribute, distribute with modifications, sublicense, and/or sell       *
10 .\" copies of the Software, and to permit persons to whom the Software is    *
11 .\" furnished to do so, subject to the following conditions:                 *
12 .\"                                                                          *
13 .\" The above copyright notice and this permission notice shall be included  *
14 .\" in all copies or substantial portions of the Software.                   *
15 .\"                                                                          *
16 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17 .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19 .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20 .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21 .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22 .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23 .\"                                                                          *
24 .\" Except as contained in this notice, the name(s) of the above copyright   *
25 .\" holders shall not be used in advertising or otherwise to promote the     *
26 .\" sale, use or other dealings in this Software without prior written       *
27 .\" authorization.                                                           *
28 .\"***************************************************************************
29 .\"
30 .\" $Id: curs_color.3x,v 1.87 2023/10/21 10:28:36 tom Exp $
31 .TH curs_color 3X 2023-10-21 "ncurses 6.4" "Library calls"
32 .ie \n(.g \{\
33 .ds `` \(lq
34 .ds '' \(rq
35 .\}
36 .el \{\
37 .ie t .ds `` ``
38 .el   .ds `` ""
39 .ie t .ds '' ''
40 .el   .ds '' ""
41 .\}
42 .
43 .de bP
44 .ie n  .IP \(bu 4
45 .el    .IP \(bu 2
46 ..
47 .
48 .ds n 5
49 .SH NAME
50 \fB\%start_color\fP,
51 \fB\%has_colors\fP,
52 \fB\%can_change_color\fP,
53 \fB\%init_pair\fP,
54 \fB\%init_color\fP,
55 \fB\%init_extended_pair\fP,
56 \fB\%init_extended_color\fP,
57 \fB\%color_content\fP,
58 \fB\%pair_content\fP,
59 \fB\%extended_color_content\fP,
60 \fB\%extended_pair_content\fP,
61 \fB\%reset_color_pairs\fP,
62 \fB\%COLOR_PAIR\fP,
63 \fB\%PAIR_NUMBER\fP \-
64 manipulate terminal colors with \fIcurses\fR
65 .SH SYNOPSIS
66 .nf
67 \fB#include <curses.h>
68 .PP
69 \fBint start_color(void);
70 .PP
71 \fBbool has_colors(void);
72 \fBbool can_change_color(void);
73 .PP
74 \fBint init_pair(short \fIpair\fP, short \fIf\fP, short \fIb\fP);
75 \fBint init_color(short \fIcolor\fP, short \fIr\fP, short \fIg\fP, short \fIb\fP);
76 \fI/* extensions */
77 \fBint init_extended_pair(int \fIpair\fP, int \fIf\fP, int \fIb\fP);
78 \fBint init_extended_color(int \fIcolor\fP, int \fIr\fP, int \fIg\fP, int \fIb\fP);
79 .PP
80 \fBint color_content(short \fIcolor\fP, short *\fIr\fP, short *\fIg\fP, short *\fIb\fP);
81 \fBint pair_content(short \fIpair\fP, short *\fIf\fP, short *\fIb\fP);
82 \fI/* extensions */
83 \fBint extended_color_content(int \fIcolor\fP, int *\fIr\fP, int *\fIg\fP, int *\fIb\fP);
84 \fBint extended_pair_content(int \fIpair\fP, int *\fIf\fP, int *\fIb\fP);
85 .PP
86 \fI/* extension */
87 \fBvoid reset_color_pairs(void);
88 .PP
89 \fBint COLOR_PAIR(int \fIn\fP);
90 \fBPAIR_NUMBER(\fIattrs\fP);
91 .fi
92 .SH DESCRIPTION
93 .SS Overview
94 \fIcurses\fP supports color attributes on terminals with that capability.
95 To use these routines \fB\%start_color\fP must be called, usually right after
96 \fB\%initscr\fP.
97 Colors are always used in pairs (referred to as color-pairs).
98 A color-pair consists of a foreground color (for characters) and a background
99 color (for the blank field on which the characters are displayed).
100 A programmer initializes a color-pair with the routine \fB\%init_pair\fP.
101 After it has been initialized, \fB\%COLOR_PAIR\fP(\fIn\fP)
102 can be used to convert the pair to a video attribute.
103 .PP
104 If a terminal is capable of redefining colors, the programmer can use the
105 routine \fB\%init_color\fP to change the definition of a color.
106 The routines \fB\%has_colors\fP and \fB\%can_change_color\fP
107 return \fBTRUE\fP or \fBFALSE\fP,
108 depending on whether the terminal has color capabilities and whether the
109 programmer can change the colors.
110 The routine \fB\%color_content\fP allows a
111 programmer to extract the amounts of red, green, and blue components in an
112 initialized color.
113 The routine \fB\%pair_content\fP allows a programmer to find
114 out how a given color-pair is currently defined.
115 .SS Color Rendering
116 The \fIcurses\fP library combines these inputs to produce the
117 actual foreground and background colors shown on the screen:
118 .bP
119 per-character video attributes (e.g., via \fB\%waddch\fP),
120 .bP
121 the window attribute (e.g., by \fB\%wattrset\fP), and
122 .bP
123 the background character (e.g., \fB\%wbkgdset\fP).
124 .PP
125 Per-character and window attributes are usually set by a parameter containing
126 video attributes including a color pair value.
127 Some functions such as \fB\%wattr_set\fP use a separate parameter which
128 is the color pair number.
129 .PP
130 The background character is a special case: it includes a character value,
131 just as if it were passed to \fB\%waddch\fP.
132 .PP
133 The \fIcurses\fP library does the actual work of combining these color
134 pairs in an internal function called from \fB\%waddch\fP:
135 .bP
136 If the parameter passed to \fB\%waddch\fP is \fIblank\fP,
137 and it uses the special color pair 0,
138 .RS
139 .bP
140 \fIcurses\fP next checks the window attribute.
141 .bP
142 If the window attribute does not use color pair 0,
143 \fIcurses\fP uses the color pair from the window attribute.
144 .bP
145 Otherwise, \fIcurses\fP uses the background character.
146 .RE
147 .bP
148 If the parameter passed to \fB\%waddch\fP is \fInot blank\fP,
149 or it does not use the special color pair 0,
150 \fIcurses\fP prefers the color pair from the parameter,
151 if it is nonzero.
152 Otherwise, it tries the window attribute next, and finally the
153 background character.
154 .PP
155 Some \fIcurses\fP functions such as \fB\%wprintw\fP call \fB\%waddch\fP.
156 Those do not combine its parameter with a color pair.
157 Consequently those calls use only the window attribute or
158 the background character.
159 .SH CONSTANTS
160 In \fB\%<curses.h>\fP the following macros are defined.
161 These are the standard colors (ISO-6429).
162 \fIcurses\fP also assumes that \fB\%COLOR_BLACK\fP is the default
163 background color for all terminals.
164 .PP
165 .nf
166       \fBCOLOR_BLACK\fP
167       \fBCOLOR_RED\fP
168       \fBCOLOR_GREEN\fP
169       \fBCOLOR_YELLOW\fP
170       \fBCOLOR_BLUE\fP
171       \fBCOLOR_MAGENTA\fP
172       \fBCOLOR_CYAN\fP
173       \fBCOLOR_WHITE\fP
174 .fi
175 .PP
176 Some terminals support more than the eight (8) \*(``ANSI\*('' colors.
177 There are no standard names for those additional colors.
178 .SH VARIABLES
179 .SS COLORS
180 is initialized by \fB\%start_color\fP to the maximum number of colors
181 the terminal can support.
182 .SS COLOR_PAIRS
183 is initialized by \fB\%start_color\fP to the maximum number of color pairs
184 the terminal can support.
185 .SH FUNCTIONS
186 .SS start_color
187 The \fB\%start_color\fP routine requires no arguments.
188 It must be called if the programmer wants to use colors, and before any other
189 color manipulation routine is called.
190 It is good practice to call this routine right after \fB\%initscr\fP.
191 \fB\%start_color\fP does this:
192 .bP
193 It initializes two global variables, \fB\%COLORS\fP and
194 \fB\%COLOR_PAIRS\fP (respectively defining the maximum number of colors
195 and color-pairs the terminal can support).
196 .bP
197 It initializes the special color pair \fB\%0\fP to the default foreground
198 and background colors.
199 No other color pairs are initialized.
200 .bP
201 It restores the colors on the terminal to the values
202 they had when the terminal was just turned on.
203 .bP
204 If the terminal supports the \fBinitc\fP \%(\fBinitialize_color\fP) capability,
205 \fB\%start_color\fP
206 initializes its internal table representing the
207 red, green, and blue components of the color palette.
208 .IP
209 The components depend on whether the terminal uses
210 CGA (aka \*(``ANSI\*('') or
211 HLS (i.e., the \fBhls\fP \%(\fBhue_lightness_saturation\fP) capability is set).
212 The table is initialized first for eight basic colors
213 (black, red, green, yellow, blue, magenta, cyan, and white),
214 using weights that depend upon the CGA/HLS choice.
215 For \*(``ANSI\*('' colors the weights are \fB680\fP or \fB0\fP
216 depending on whether the corresponding
217 red, green, or blue component is used or not.
218 That permits using \fB1000\fP to represent bold/bright colors.
219 After the initial eight colors
220 (if the terminal supports more than eight colors)
221 the components are initialized using the same pattern,
222 but with weights of \fB1000\fP.
223 SVr4 uses a similar scheme, but uses \fB1000\fP
224 for the components of the initial eight colors.
225 .IP
226 \fB\%start_color\fP does not attempt to set the terminal's color palette
227 to match its built-in table.
228 An application may use \fB\%init_color\fP to alter the internal table
229 along with the terminal's color.
230 .PP
231 These limits apply to color values and color pairs.
232 Values outside these limits are not legal, and may result in a runtime error:
233 .bP
234 \fBCOLORS\fP corresponds to the terminal database's \fB\%max_colors\fP capability,
235 (see \fB\%terminfo\fP(\*n)).
236 .bP
237 color values are expected to be in the range \fB0\fP to \fB\%COLORS\-1\fP,
238 inclusive (including \fB0\fP and \fB\%COLORS\-1\fP).
239 .bP
240 a special color value \fB\-1\fP is used in certain extended functions
241 to denote the \fIdefault color\fP (see \fB\%use_default_colors\fP(3X)).
242 .bP
243 \fB\%COLOR_PAIRS\fP corresponds to
244 the terminal database's \fB\%max_pairs\fP capability,
245 (see \fB\%terminfo\fP(\*n)).
246 .bP
247 legal color pair values are in the range \fB1\fP to \fB\%COLOR_PAIRS\-1\fP,
248 inclusive.
249 .bP
250 color pair \fB0\fP is special; it denotes \*(``no color\*(''.
251 .IP
252 Color pair \fB0\fP is assumed to be white on black,
253 but is actually whatever the terminal implements before color is initialized.
254 It cannot be modified by the application.
255 .SS has_colors
256 The \fB\%has_colors\fP routine requires no arguments.
257 It returns \fBTRUE\fP if
258 the terminal can manipulate colors; otherwise, it returns \fBFALSE\fP.
259 This routine facilitates writing terminal-independent programs.
260 For example, a programmer can use it to decide
261 whether to use color or some other video attribute.
262 .SS can_change_color
263 The \fB\%can_change_color\fP routine requires no arguments.
264 It returns \fBTRUE\fP if the terminal supports colors
265 and can change their definitions;
266 other, it returns \fBFALSE\fP.
267 This routine facilitates writing terminal-independent programs.
268 .SS init_pair
269 The \fB\%init_pair\fP routine changes the definition of a color-pair.
270 It takes three arguments:
271 the number of the color-pair to be changed, the foreground
272 color number, and the background color number.
273 For portable applications:
274 .bP
275 The first argument must be a legal color pair value.
276 If default colors are used (see \fB\%use_default_colors\fP(3X))
277 the upper limit is adjusted to allow for extra pairs which use
278 a default color in foreground and/or background.
279 .bP
280 The second and third arguments must be legal color values.
281 .PP
282 If the color-pair was previously initialized,
283 the screen is refreshed and all occurrences of that color-pair
284 are changed to the new definition.
285 .PP
286 As an extension, ncurses allows you to set color pair \fB0\fP via
287 the \fB\%assume_default_colors\fP(3X) routine, or to specify the use of
288 default colors (color number \fB\-1\fP) if you first invoke the
289 \fB\%use_default_colors\fP(3X) routine.
290 .SS init_extended_pair
291 Because \fB\%init_pair\fP uses signed \fBshort\fPs for its parameters,
292 that limits color-pairs and color-values
293 to 32767 on modern hardware.
294 The extension \fB\%init_extended_pair\fP uses \fBint\fPs
295 for the color-pair and color-value,
296 allowing a larger number of colors to be supported.
297 .SS init_color
298 The \fB\%init_color\fP routine changes the definition of a color.
299 It takes four arguments:
300 the number of the color to be changed followed by three RGB values
301 (for the amounts of red, green, and blue components).
302 .bP
303 The first argument must be a legal color value;
304 default colors are not allowed here.
305 (See the section \fB\%Colors\fP for the default color index.)
306 .bP
307 Each of the last three arguments
308 must be a value in the range \fB0\fP through \fB1000\fP.
309 .PP
310 When \fB\%init_color\fP is used, all
311 occurrences of that color on the screen immediately change to the new
312 definition.
313 .SS init_extended_color
314 Because \fB\%init_color\fP uses signed \fBshort\fPs for its parameters,
315 that limits color-values and their red, green, and blue components
316 to 32767 on modern hardware.
317 The extension \fB\%init_extended_color\fP uses \fBint\fPs
318 for the color value and
319 for setting the red, green, and blue components,
320 allowing a larger number of colors to be supported.
321 .SS color_content
322 The \fB\%color_content\fP routine gives programmers a way to find the intensity
323 of the red, green, and blue (RGB) components in a color.
324 It requires four arguments: the color number, and three addresses
325 of \fBshort\fRs for storing
326 the information about the amounts of red, green, and blue components in the
327 given color.
328 .bP
329 The first argument must be a legal color value, i.e.,
330 \fB0\fP through \fB\%COLORS\-1\fP, inclusive.
331 .bP
332 The values that are stored at the addresses pointed to by the
333 last three arguments are in the range
334 \fB0\fP (no component) through \fB1000\fP
335 (maximum amount of component), inclusive.
336 .SS extended_color_content
337 Because \fB\%color_content\fP uses signed \fBshort\fPs for its parameters,
338 that limits color-values and their red, green, and blue components
339 to 32767 on modern hardware.
340 The extension \fB\%extended_color_content\fP uses \fBint\fPs
341 for the color value and
342 for returning the red, green, and blue components,
343 allowing a larger number of colors to be supported.
344 .SS pair_content
345 The \fB\%pair_content\fP routine allows programmers to find out what colors a
346 given color-pair consists of.
347 It requires three arguments: the color-pair
348 number, and two addresses of \fBshort\fRs for storing the foreground and the
349 background color numbers.
350 .bP
351 The first argument must be a legal color value,
352 i.e., in the range \fB1\fP through \fB\%COLOR_PAIRS\-1\fP, inclusive.
353 .bP
354 The values that are stored at the addresses pointed
355 to by the second and third arguments are in the
356 range \fB0\fP through \fB\%COLORS\fP, inclusive.
357 .SS extended_pair_content
358 Because \fB\%pair_content\fP uses signed \fBshort\fPs for its parameters,
359 that limits color-pair and color-values to 32767 on modern hardware.
360 The extension \fB\%extended_pair_content\fP uses \fBint\fPs
361 for the color pair and
362 for returning the foreground and background colors,
363 allowing a larger number of colors to be supported.
364 .SS reset_color_pairs
365 The extension \fB\%reset_color_pairs\fP tells ncurses to discard all
366 of the color-pair information which was set with \fB\%init_pair\fP.
367 It also touches the current- and standard-screens, allowing an application to
368 switch color palettes rapidly.
369 .SS PAIR_NUMBER
370 \fB\%PAIR_NUMBER(\fIattrs\fR) extracts the color
371 value from its \fIattrs\fP parameter and returns it as a color pair number.
372 .SS COLOR_PAIR
373 Its inverse \fB\%COLOR_PAIR(\fIn\fB)\fR converts a color pair number
374 to an attribute.
375 Attributes can hold color pairs in the range 0 to 255.
376 If you need a color pair larger than that, you must use functions
377 such as \fB\%attr_set\fP (which pass the color pair as a separate parameter)
378 rather than the legacy functions such as \fB\%attrset\fP.
379 .SH RETURN VALUE
380 The routines \fB\%can_change_color\fP and \fB\%has_colors\fP return \fBTRUE\fP
381 or \fBFALSE\fP.
382 .PP
383 All other routines return the integer \fBERR\fP upon failure and an \fBOK\fP
384 (SVr4 specifies only \*(``an integer value
385 other than \fBERR\fP\*('') upon successful completion.
386 .PP
387 X/Open defines no error conditions.
388 SVr4 does document some error conditions which apply in general:
389 .bP
390 This implementation will return \fBERR\fP on attempts to
391 use color values outside the range \fB0\fP to \fB\%COLORS\fP\-1
392 (except for the default colors extension),
393 or use color pairs outside the range \fB0\fP to \fB\%COLOR_PAIRS\-1\fP.
394 .IP
395 Color values used in \fB\%init_color\fP must be
396 in the range \fB0\fP to \fB1000\fP.
397 .IP
398 An error is returned from all functions
399 if the terminal has not been initialized.
400 .IP
401 An error is returned from secondary functions such as \fB\%init_pair\fP
402 if \fB\%start_color\fP was not called.
403 .bP
404 SVr4 does much the same, except that
405 it returns \fBERR\fP from \fB\%pair_content\fP if the pair was not initialized
406 using \fB\%init_pairs\fP
407 and
408 it returns \fBERR\fP from \fB\%color_content\fP
409 if the terminal does not support changing colors.
410 .IP
411 This implementation does not return \fBERR\fP for either case.
412 .PP
413 Specific functions make additional checks:
414 .RS 3
415 .TP 5
416 \fB\%init_color\fP
417 returns an error if the terminal does not support
418 this feature, e.g., if the \fB\%initialize_color\fP capability is absent
419 from the terminal description.
420 .TP 5
421 \fB\%start_color\fP
422 returns an error if the color table cannot be allocated.
423 .RE
424 .SH NOTES
425 In the \fIncurses\fP implementation, there is a separate color activation flag,
426 color palette, color pairs table,
427 and associated \fB\%COLORS\fP and \fB\%COLOR_PAIRS\fP counts
428 for each screen; the \fB\%start_color\fP function only affects the current
429 screen.
430 The SVr4/XSI interface is not really designed with this in mind, and
431 historical implementations may use a single shared color palette.
432 .PP
433 Setting an implicit background color via a color pair affects only
434 character cells that a character write operation explicitly touches.
435 To change
436 the background color used when parts of a window are blanked by erasing or
437 scrolling operations, see \fB\%curs_bkgd\fP(3X).
438 .PP
439 Several caveats apply on older x86 machines
440 (e.g., i386, i486) with VGA-compatible graphics:
441 .bP
442 COLOR_YELLOW is actually brown.
443 To get yellow, use COLOR_YELLOW combined with the \fBA_BOLD\fP attribute.
444 .bP
445 The A_BLINK attribute should in theory cause the background to go bright.
446 This often fails to work, and even some cards for which it mostly works
447 (such as the
448 Paradise and compatibles) do the wrong thing when you try to set a bright
449 \*(``yellow\*('' background (you get a blinking yellow foreground instead).
450 .bP
451 Color RGB values are not settable.
452 .SH HISTORY
453 SVr3.2 introduced color support to curses in 1987.
454 .PP
455 SVr4 made internal changes,
456 e.g., moving the storage for the color state
457 from \fBSP\fP (the \fBSCREEN\fP structure)
458 to \fB\%cur_term\fP (the \fB\%TERMINAL\fP structure),
459 but provided the same set of library functions.
460 .PP
461 SVr4 curses limits the number of color pairs to 64,
462 reserving color pair zero (0) as the terminal's initial uncolored state.
463 This limit arises because the color pair information is a bitfield
464 in the \fB\%chtype\fP data type (denoted by \fB\%A_COLOR\fP).
465 .PP
466 Other implementations of curses had different limits:
467 .bP
468 PCCurses (1987-1990) provided for only eight (8) colors.
469 .bP
470 PDCurses (1992-present) inherited the 8-color limitation from PCCurses,
471 but changed this to 256 in version 2.5 (2001),
472 along with changing \fB\%chtype\fP from 16-bits to 32-bits.
473 .bP
474 X/Open Curses (1992-present)
475 added a new structure \fB\%cchar_t\fP to store the character,
476 attributes and color-pair values, allowing increased range of color-pairs.
477 Both color-pairs and color-values used a signed \fBshort\fP,
478 limiting values to 15 bits.
479 .bP
480 ncurses (1992-present) uses eight bits
481 for \fB\%A_COLOR\fP in \fB\%chtype\fP values.
482 .IP
483 Version 5.3 provided a wide-character interface (2002),
484 but left color-pairs as part of the attributes-field.
485 .IP
486 Since version 6 (2015),
487 ncurses uses a separate \fBint\fP for color-pairs in the \fB\%cchar_t\fP values.
488 When those color-pair values fit in 8 bits,
489 ncurses allows color-pairs to be manipulated
490 via the functions using \fB\%chtype\fP values.
491 .bP
492 NetBSD curses used 6 bits from
493 2000 (when colors were first supported) until 2004.
494 At that point, NetBSD changed to use 10 bits.
495 As of 2021, that size is unchanged.
496 Like ncurses before version 6,
497 the NetBSD color-pair information is stored in
498 the attributes field of \fB\%cchar_t\fP, limiting the number of color-pairs
499 by the size of the bitfield.
500 .SH PORTABILITY
501 .SS Extensions
502 The functions marked as extensions were designed for \fBncurses\fP(3X),
503 and are not found in SVr4 curses, 4.4BSD curses,
504 or any other previous version of curses.
505 .SS Standards
506 This implementation satisfies XSI Curses's minimum maximums
507 for \fB\%COLORS\fP and \fB\%COLOR_PAIRS\fP.
508 .PP
509 The \fB\%init_pair\fP routine accepts negative values of foreground
510 and background color to support the \fB\%use_default_colors\fP(3X) extension,
511 but only if that routine has been first invoked.
512 .PP
513 The assumption that \fB\%COLOR_BLACK\fP is the default
514 background color for all terminals can be modified using the
515 \fB\%assume_default_colors\fP(3X) extension.
516 .PP
517 This implementation checks the pointers,
518 e.g., for the values returned by
519 \fB\%color_content\fP and \fB\%pair_content\fP,
520 and will treat those as optional parameters when null.
521 .PP
522 X/Open Curses does not specify a limit for the number of colors and
523 color pairs which a terminal can support.
524 However, in its use of \fBshort\fP for the parameters,
525 it carries over SVr4's implementation detail for the compiled
526 terminfo database, which uses signed 16-bit numbers.
527 This implementation provides extended versions of those functions
528 which use \fBshort\fP parameters,
529 allowing applications to use larger color- and pair-numbers.
530 .PP
531 The \fB\%reset_color_pairs\fP function is an extension of ncurses.
532 .SH SEE ALSO
533 \fB\%curses\fP(3X),
534 \fB\%curs_initscr\fP(3X),
535 \fB\%curs_attr\fP(3X),
536 \fB\%curs_variables\fP(3X),
537 \fB\%default_colors\fP(3X)