The curses module wraps filter() but not its inverse nofilter().
filter() puts curses into single-line mode — it forces LINES to 1 at the next initscr()/newterm(). nofilter(), an ncurses extension, undoes that effect.
Without it, code (or a test) that calls curses.filter() has no way to restore normal screen sizing for a later initscr()/newterm() in the same process.
Propose wrapping nofilter() as curses.nofilter(), guarded by a configure check, alongside the existing curses.filter().
Activity
lul-cas commented on Jun 19, 2026
Can I work in this?
serhiy-storchaka commented on Jun 19, 2026
I already worked on it.
This feature is a prerequisite for newterm(). It allows to make tests nicer.
lul-cas commented on Jun 19, 2026
Nice!
gh-151744: Add curses.nofilter() (GH-151747)
pythongh-151744: Add curses.nofilter() (pythonGH-151747)