139 lines
6.5 KiB
Plaintext
139 lines
6.5 KiB
Plaintext
.\"***************************************************************************
|
|
.\" Copyright (c) 1998-2010,2011 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.23 2011/01/03 21:52:27 Tim.van.der.Molen 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 not 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).
|