123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- .\"***************************************************************************
- .\" 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:
|