[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
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-ncurses
--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net