| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
| <!-- |
| **************************************************************************** |
| * 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 @ |
| --> |
| <HTML> |
| <HEAD> |
| <TITLE>default_colors 3x</TITLE> |
| <link rev=made href="mailto:bug-ncurses@gnu.org"> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| </HEAD> |
| <BODY> |
| <H1>default_colors 3x</H1> |
| <HR> |
| <PRE> |
| <!-- Manpage converted by man2html 3.0.1 --> |
| <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> |
| |
| |
| |
| |
| </PRE> |
| <H2>NAME</H2><PRE> |
| <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's |
| default colors |
| |
| |
| </PRE> |
| <H2>SYNOPSIS</H2><PRE> |
| <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> |
| |
| <STRONG>int</STRONG> <STRONG>use_default_colors(void);</STRONG> |
| <STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG> |
| |
| |
| </PRE> |
| <H2>DESCRIPTION</H2><PRE> |
| The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> and <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> func- |
| tions 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). |
| |
| 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 <STRONG>ls</STRONG> 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 <EM>setaf</EM> terminfo |
| capability to set the foreground color. Full-screen |
| applications that use default colors can achieve similar |
| visual effects. |
| |
| The first function, <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> 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. |
| |
| The other, <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> is a refinement which |
| tells which colors to paint for color pair 0. This func- |
| tion recognizes a special color number -1, which denotes |
| the default terminal color. |
| |
| The following are equivalent: |
| <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM> |
| <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM> |
| |
| These are ncurses extensions. For other curses implemen- |
| tations, color number -1 does not mean anything, just as |
| for ncurses before a successful call of <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM> |
| <EM>ors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM>. |
| |
| 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 <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM> |
| <EM>ors()</EM> ncurses will paint a white foreground (text) with |
| black background for color pair 0. |
| |
| |
| </PRE> |
| <H2>RETURN VALUE</H2><PRE> |
| These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> |
| on success. They will fail if either the terminal does |
| not support the <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> or <EM>orig</EM><STRONG>_</STRONG><EM>colors</EM> capability. If |
| the <EM>initialize</EM><STRONG>_</STRONG><EM>pair</EM> capability is found, this causes an |
| error as well. |
| |
| |
| </PRE> |
| <H2>NOTES</H2><PRE> |
| Associated with this extension, the <STRONG>init_pair</STRONG> function |
| accepts negative arguments to specify default foreground |
| or background colors. |
| |
| The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> function was added to support |
| <EM>ded</EM>. 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 por- |
| tion of the screen colors filenames using a scheme like |
| the "color ls" programs. Attempting to manage the back- |
| ground 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 <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> and <EM>back</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>erase</EM> |
| capabilities. |
| |
| The <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> 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. |
| |
| |
| </PRE> |
| <H2>PORTABILITY</H2><PRE> |
| 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 con- |
| ditioned using NCURSES_VERSION. |
| |
| |
| </PRE> |
| <H2>SEE ALSO</H2><PRE> |
| <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ded.1.html">ded(1)</A></STRONG>. |
| |
| |
| </PRE> |
| <H2>AUTHOR</H2><PRE> |
| Thomas Dickey (from an analysis of the requirements for |
| color xterm for XFree86 3.1.2C, February 1996). |
| |
| |
| |
| <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> |
| </PRE> |
| <HR> |
| <ADDRESS> |
| Man(1) output converted with |
| <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> |
| </ADDRESS> |
| </BODY> |
| </HTML> |