Kaydet (Commit) 69f31eb8 authored tarafından Andrew M. Kuchling's avatar Andrew M. Kuchling

[Patch #739124] Add use_default_colors() to curses module

üst a54b92b2
...@@ -537,6 +537,15 @@ a window (in which case default behavior would be to use the window ...@@ -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). size if \envvar{LINES} and \envvar{COLUMNS} are not set).
\end{funcdesc} \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}} \subsection{Window Objects \label{curses-window-objects}}
Window objects, as returned by \function{initscr()} and Window objects, as returned by \function{initscr()} and
......
...@@ -69,8 +69,11 @@ details. ...@@ -69,8 +69,11 @@ details.
\begin{itemize} \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} \end{itemize}
......
...@@ -181,6 +181,9 @@ def module_funcs(stdscr): ...@@ -181,6 +181,9 @@ def module_funcs(stdscr):
curses.pair_content(curses.COLOR_PAIRS) curses.pair_content(curses.COLOR_PAIRS)
curses.pair_number(0) curses.pair_number(0)
if hasattr(curses, 'use_default_colors'):
curses.use_default_colors()
if hasattr(curses, 'keyname'): if hasattr(curses, 'keyname'):
curses.keyname(13) curses.keyname(13)
......
...@@ -325,6 +325,7 @@ Inyeol Lee ...@@ -325,6 +325,7 @@ Inyeol Lee
John J. Lee John J. Lee
Luc Lefebvre Luc Lefebvre
Kip Lehman Kip Lehman
Joerg Lehmann
Marc-Andre Lemburg Marc-Andre Lemburg
William Lewis William Lewis
Robert van Liere Robert van Liere
......
...@@ -22,6 +22,8 @@ Extension modules ...@@ -22,6 +22,8 @@ Extension modules
- The signal module now exposes SIGRTMIN and SIGRTMAX (if available). - The signal module now exposes SIGRTMIN and SIGRTMAX (if available).
- curses module now supports use_default_colors(). [patch #739124]
Library Library
------- -------
......
...@@ -47,7 +47,7 @@ unsupported functions: ...@@ -47,7 +47,7 @@ unsupported functions:
resizeterm restartterm ripoffline scr_dump resizeterm restartterm ripoffline scr_dump
scr_init scr_restore scr_set scrl set_curterm set_term setterm scr_init scr_restore scr_set scrl set_curterm set_term setterm
tgetent tgetflag tgetnum tgetstr tgoto timeout tputs 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 wcolor_set winchnstr winchstr winnstr wmouse_trafo wscrl
Low-priority: Low-priority:
...@@ -2354,6 +2354,26 @@ PyCurses_Use_Env(PyObject *self, PyObject *args) ...@@ -2354,6 +2354,26 @@ PyCurses_Use_Env(PyObject *self, PyObject *args)
return Py_None; 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 */ /* List of functions defined in the module */
static PyMethodDef PyCurses_methods[] = { static PyMethodDef PyCurses_methods[] = {
...@@ -2434,6 +2454,9 @@ static PyMethodDef PyCurses_methods[] = { ...@@ -2434,6 +2454,9 @@ static PyMethodDef PyCurses_methods[] = {
{"unctrl", (PyCFunction)PyCurses_UnCtrl, METH_VARARGS}, {"unctrl", (PyCFunction)PyCurses_UnCtrl, METH_VARARGS},
{"ungetch", (PyCFunction)PyCurses_UngetCh, METH_VARARGS}, {"ungetch", (PyCFunction)PyCurses_UngetCh, METH_VARARGS},
{"use_env", (PyCFunction)PyCurses_Use_Env, 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 */ {NULL, NULL} /* sentinel */
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment