| .\"*************************************************************************** |
| .\" Copyright (c) 1998-2005,2006 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 * |
| .\" "Software"), to deal in the Software without restriction, including * |
| .\" without limitation the rights to use, copy, modify, merge, publish, * |
| .\" distribute, distribute with modifications, sublicense, and/or sell * |
| .\" copies of the Software, and to permit persons to whom the Software is * |
| .\" furnished to do so, subject to the following conditions: * |
| .\" * |
| .\" The above copyright notice and this permission notice shall be included * |
| .\" in all copies or substantial portions of the Software. * |
| .\" * |
| .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| .\" * |
| .\" Except as contained in this notice, the name(s) of the above copyright * |
| .\" holders shall not be used in advertising or otherwise to promote the * |
| .\" sale, use or other dealings in this Software without prior written * |
| .\" authorization. * |
| .\"*************************************************************************** |
| .\" |
| .\" Author: Thomas E. Dickey 1997,1999,2000,2005 |
| .\" |
| .\" $Id: default_colors.3x,v 1.20 2006/12/24 15:02:53 tom Exp $ |
| .TH default_colors 3X "" |
| .SH NAME |
| \fBuse_default_colors\fR, |
| \fBassume_default_colors\fR \- use terminal's default colors |
| .SH SYNOPSIS |
| \fB#include <curses.h>\fP |
| .sp |
| \fBint use_default_colors(void);\fP |
| .br |
| \fBint assume_default_colors(int fg, int bg);\fP |
| .SH DESCRIPTION |
| The |
| .I use_default_colors() |
| and |
| .I assume_default_colors() |
| functions are extensions to the curses library. |
| They are used with terminals that support ISO 6429 color, or equivalent. |
| These terminals allow the application to reset color to an unspecified |
| default value (e.g., with SGR 39 or SGR 49). |
| .PP |
| Applications that paint a colored background over the whole screen |
| do not take advantage of SGR 39 and SGR 49. |
| Some applications are designed to work with the default background, |
| using colors only for text. |
| For example, there are several implementations of the \fBls\fP program |
| which use colors to denote different file types or permissions. |
| These "color ls" programs do not necessarily modify the background color, |
| typically using only the \fIsetaf\fP terminfo capability to set the |
| foreground color. |
| Full-screen applications that use default colors can achieve similar |
| visual effects. |
| .PP |
| The first function, |
| .I use_default_colors() |
| tells the curses library to assign terminal default |
| foreground/background colors to color number -1. So init_pair(x,COLOR_RED,-1) |
| will initialize pair x as red on default background and init_pair(x,-1,COLOR_BLUE) will |
| initialize pair x as default foreground on blue. |
| .PP |
| The other, |
| .I assume_default_colors() |
| is a refinement which tells which colors to paint for color pair 0. |
| This function recognizes a special color number -1, |
| which denotes the default terminal color. |
| .PP |
| The following are equivalent: |
| .RS |
| .br |
| .I use_default_colors(); |
| .br |
| .I assume_default_colors(-1,-1); |
| .RE |
| .PP |
| These are ncurses extensions. |
| For other curses implementations, color |
| number -1 does not mean anything, just as for ncurses before a |
| successful call of \fIuse_default_colors()\fP or \fIassume_default_colors()\fP. |
| .PP |
| Other curses implementations do not allow an application to modify color pair 0. |
| They assume that the background is COLOR_BLACK, |
| but do not ensure that the color pair 0 is painted to match the |
| assumption. |
| If your application does not use either |
| .I use_default_colors() |
| or |
| .I assume_default_colors() |
| ncurses will paint a white foreground (text) with black background |
| for color pair 0. |
| .SH RETURN VALUE |
| These functions return the integer \fBERR\fP upon failure and \fBOK\fP on success. |
| They will fail if either the terminal does not support |
| the \fIorig_pair\fP or \fIorig_colors\fP capability. |
| If the \fIinitialize_pair\fP capability is found, this causes an |
| error as well. |
| .SH NOTES |
| Associated with this extension, the \fBinit_pair\fR function accepts |
| negative arguments to specify default foreground or background colors. |
| .PP |
| The \fIuse_default_colors()\fP function was added to support \fIded\fP. |
| This is a full-screen application which uses curses to manage only part |
| of the screen. The bottom portion of the screen, which is of adjustable |
| size, is left uncolored to display the results from shell commands. |
| The top portion of the screen colors filenames using a scheme like the |
| "color ls" programs. |
| Attempting to manage the background color of the screen for this application |
| would give unsatisfactory results for a variety of reasons. |
| This extension was devised after |
| noting that color xterm (and similar programs) provides a background color |
| which does not necessarily correspond to any of the ANSI colors. |
| While a special terminfo entry could be constructed using nine colors, |
| there was no mechanism provided within curses to account for the related |
| \fIorig_pair\fP and \fIback_color_erase\fP capabilities. |
| .PP |
| The \fIassume_default_colors()\fP function was added to solve |
| a different problem: support for applications which would use |
| environment variables and other configuration to bypass curses' |
| notion of the terminal's default colors, setting specific values. |
| .SH PORTABILITY |
| These routines are specific to ncurses. They were not supported on |
| Version 7, BSD or System V implementations. It is recommended that |
| any code depending on them be conditioned using NCURSES_VERSION. |
| .SH SEE ALSO |
| \fBcurs_color\fR(3X), |
| \fBded\fP(1). |
| .SH AUTHOR |
| Thomas Dickey (from an analysis of the requirements for color xterm |
| for XFree86 3.1.2C, February 1996). |
| .\"# |
| .\"# The following sets edit modes for GNU EMACS |
| .\"# Local Variables: |
| .\"# mode:nroff |
| .\"# fill-column:79 |
| .\"# End: |