[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: filter() + refresh() clears the screen below cursor

From: Thomas Dickey
Subject: Re: filter() + refresh() clears the screen below cursor
Date: Thu, 15 Mar 2007 10:12:35 -0400 (EDT)

On Thu, 15 Mar 2007, Christer Enfors wrote:

I have a script that puts the cursor on a specific row on the screen.

Then I have my program (called instring), which displays a form with a single input field on a specified column on that row. I'm using filter() (and newterm() connected to /dev/tty) in my program, to avoid clearing the screen when the program starts.

Now, my problem is, that as soon as I call refresh(), the entire screen *below* (and including, I think) the current line is cleared. I don't want it to do that. Is there some way I can get around that?

That sounds like a bug (calling filter assumes there's only one line to update). Actually filter is implemented by disabling some things during initialization, and doesn't iirc affect the screen optimization, so the clearing operations might be using the escape sequence that clears to the end of the screen, e.g., \E[J. If that's so, you could work around that by defining/using a terminal description that lacks the "ed" capability and makes it rely on "el" and "el1".

Would it work to open a 1-line window for my form, and only wrefresh() that window (and never call refresh())? Would that prevent the rest of the screen from being cleared?

Sorry about all these questions, but this program is part of a release that's scheduled for Tuesday, and I don't have time to spend on being stuck.

Christer Enfors

Bug-ncurses mailing list

Thomas E. Dickey

reply via email to

[Prev in Thread] Current Thread [Next in Thread]