mirror of
https://github.com/python/cpython.git
synced 2024-11-24 18:34:43 +08:00
[Patch #739124] Add use_default_colors() to curses module
This commit is contained in:
parent
a54b92b2eb
commit
69f31eb80c
@ -537,6 +537,15 @@ a window (in which case default behavior would be to use the window
|
||||
size if \envvar{LINES} and \envvar{COLUMNS} are not set).
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{use_default_colors}{}
|
||||
Allow use of default values for colors on terminals supporting this
|
||||
feature. Use this to support transparency in your
|
||||
application. The default color is assigned to the color number -1.
|
||||
After calling this function,
|
||||
\function{init_pair(x, curses.COLOR_RED, -1)} initializes, for instance,
|
||||
color pair \var{x} to a red foreground color on the default background.
|
||||
\end{funcdesc}
|
||||
|
||||
\subsection{Window Objects \label{curses-window-objects}}
|
||||
|
||||
Window objects, as returned by \function{initscr()} and
|
||||
|
@ -69,8 +69,11 @@ details.
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item Descriptions go here.
|
||||
|
||||
\item The \module{curses} modules now supports the ncurses extension
|
||||
\function{use_default_colors()}. On platforms where the terminal
|
||||
supports transparency, this makes it possible to use a transparent background.
|
||||
(Contributed by J\"org Lehmann.)
|
||||
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
@ -181,6 +181,9 @@ def module_funcs(stdscr):
|
||||
curses.pair_content(curses.COLOR_PAIRS)
|
||||
curses.pair_number(0)
|
||||
|
||||
if hasattr(curses, 'use_default_colors'):
|
||||
curses.use_default_colors()
|
||||
|
||||
if hasattr(curses, 'keyname'):
|
||||
curses.keyname(13)
|
||||
|
||||
|
@ -325,6 +325,7 @@ Inyeol Lee
|
||||
John J. Lee
|
||||
Luc Lefebvre
|
||||
Kip Lehman
|
||||
Joerg Lehmann
|
||||
Marc-Andre Lemburg
|
||||
William Lewis
|
||||
Robert van Liere
|
||||
|
@ -22,6 +22,8 @@ Extension modules
|
||||
|
||||
- The signal module now exposes SIGRTMIN and SIGRTMAX (if available).
|
||||
|
||||
- curses module now supports use_default_colors(). [patch #739124]
|
||||
|
||||
Library
|
||||
-------
|
||||
|
||||
|
@ -47,7 +47,7 @@ unsupported functions:
|
||||
resizeterm restartterm ripoffline scr_dump
|
||||
scr_init scr_restore scr_set scrl set_curterm set_term setterm
|
||||
tgetent tgetflag tgetnum tgetstr tgoto timeout tputs
|
||||
use_default_colors vidattr vidputs waddchnstr waddchstr wchgat
|
||||
vidattr vidputs waddchnstr waddchstr wchgat
|
||||
wcolor_set winchnstr winchstr winnstr wmouse_trafo wscrl
|
||||
|
||||
Low-priority:
|
||||
@ -2354,6 +2354,26 @@ PyCurses_Use_Env(PyObject *self, PyObject *args)
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
#ifndef STRICT_SYSV_CURSES
|
||||
static PyObject *
|
||||
PyCurses_Use_Default_Colors(PyObject *self)
|
||||
{
|
||||
int code;
|
||||
|
||||
PyCursesInitialised
|
||||
PyCursesInitialisedColor
|
||||
|
||||
code = use_default_colors();
|
||||
if (code != ERR) {
|
||||
Py_INCREF(Py_None);
|
||||
return Py_None;
|
||||
} else {
|
||||
PyErr_SetString(PyCursesError, "use_default_colors() returned ERR");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif /* STRICT_SYSV_CURSES */
|
||||
|
||||
/* List of functions defined in the module */
|
||||
|
||||
static PyMethodDef PyCurses_methods[] = {
|
||||
@ -2434,6 +2454,9 @@ static PyMethodDef PyCurses_methods[] = {
|
||||
{"unctrl", (PyCFunction)PyCurses_UnCtrl, METH_VARARGS},
|
||||
{"ungetch", (PyCFunction)PyCurses_UngetCh, METH_VARARGS},
|
||||
{"use_env", (PyCFunction)PyCurses_Use_Env, METH_VARARGS},
|
||||
#ifndef STRICT_SYSV_CURSES
|
||||
{"use_default_colors", (PyCFunction)PyCurses_Use_Default_Colors, METH_NOARGS},
|
||||
#endif
|
||||
{NULL, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user