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