ncurses 6.1 - patch 20191130
[ncurses.git] / doc / html / man / default_colors.3x.html
index 8b6cdca4652fad0867adb9610c57de8b4b013633..c91d0119598baba05d9856c9dc6d2599ce7007cf 100644 (file)
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2018,2019 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.28 2019/11/30 21:06:30 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>default_colors 3x</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
 <BODY>
+<H1 class="no-header">default_colors 3x</H1>
 <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>
-       <B>default_colors</B>:  <B>use_default_colors</B>, <B>assume_default_colors</B>
-       - use terminal's default colors
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-       <B>#include</B> <B>&lt;curses.h&gt;</B>
 
-       <B>int</B> <B>use_default_colors(void);</B>
-       <B>int</B> <B>assume_default_colors(int</B> <B>fg,</B> <B>int</B> <B>bg);</B>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-       The <I>use</I><B>_</B><I>default</I><B>_</B><I>colors()</I> and <I>assume</I><B>_</B><I>default</I><B>_</B><I>colors()</I> 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 <B>ls</B> 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 <I>setaf</I> terminfo
-       capability  to  set  the  foreground  color.   Full-screen
-       applications  that  use default colors can achieve similar
-       visual effects.
-
-       The first function, <I>use</I><B>_</B><I>default</I><B>_</B><I>colors()</I> 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,  <I>assume</I><B>_</B><I>default</I><B>_</B><I>colors()</I> 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:
-              <I>use</I><B>_</B><I>default</I><B>_</B><I>colors();</I>
-              <I>assume</I><B>_</B><I>default</I><B>_</B><I>colors(-1,-1);</I>
-
-       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  <I>use</I><B>_</B><I>default</I><B>_</B><I>col-</I>
-       <I>ors()</I> or <I>assume</I><B>_</B><I>default</I><B>_</B><I>colors()</I>.
-
-       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</I><B>_</B><I>default</I><B>_</B><I>colors()</I> or <I>assume</I><B>_</B><I>default</I><B>_</B><I>col-</I>
-       <I>ors()</I> 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 <B>ERR</B> upon failure and <B>OK</B>
-       on success.  They will fail if either  the  terminal  does
-       not  support  the <I>orig</I><B>_</B><I>pair</I> or <I>orig</I><B>_</B><I>colors</I> capability.  If
-       the <I>initialize</I><B>_</B><I>pair</I> capability is found,  this  causes  an
-       error as well.
-
-
-</PRE>
-<H2>NOTES</H2><PRE>
-       Associated with this extension, the <B><A HREF="init_pair.3x.html">init_pair(3x)</A></B> function
-       accepts negative arguments to specify  default  foreground
-       or background colors.
-
-
-</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>
-       <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>, <B><A HREF="ded.1.html">ded(1)</A></B>.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-       Thomas Dickey (from an analysis of  the  requirements  for
-       color xterm for XFree86 3.1.2C, February 1996).
 
 
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default col-
+       ors
 
 
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</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><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions  are  exten-
+       sions 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 <STRONG>setaf</STRONG> terminfo capability  to  set  the  fore-
+       ground  color.   Full-screen  applications  that use default colors can
+       achieve similar visual effects.
 
+       The first function, <STRONG>use_default_colors</STRONG>  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, <STRONG>assume_default_colors</STRONG> is a refinement which tells which col-
+       ors  to  paint  for  color  pair 0.  This function 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 implementations,  color
+       number -1 does not mean anything, just as for ncurses before a success-
+       ful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>.
+
+       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  <STRONG>use_default_colors</STRONG>  or
+       <STRONG>assume_default_colors</STRONG> ncurses will paint a white foreground (text) with
+       black background for color pair 0.
 
 
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></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 <STRONG>orig_pair</STRONG> or
+       <STRONG>orig_colors</STRONG>  capability.   If  the  <STRONG>initialize_pair</STRONG>  capability  is not
+       found, this causes an error as well.
 
 
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative
+       arguments to specify default foreground or background colors.
 
+       The  <STRONG>use_default_colors</STRONG>  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
+       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 necessar-
+       ily 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  <STRONG>orig_pair</STRONG>  and
+       <STRONG>back_color_erase</STRONG> capabilities.
 
+       The <STRONG>assume_default_colors</STRONG> function was added to solve a different prob-
+       lem: 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><a name="h2-PORTABILITY">PORTABILITY</a></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 conditioned using NCURSES_VERSION.
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>ded(1)</STRONG>.
 
 
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></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>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>