[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: flashing symptoms
From: |
Thomas Dickey |
Subject: |
Re: flashing symptoms |
Date: |
Thu, 9 Nov 2000 05:37:00 -0500 |
On Thu, Nov 09, 2000 at 07:28:09AM +0100, Frank Heckenbach wrote:
> Thomas E. Dickey wrote:
>
> > On Tue, 7 Nov 2000, Frank Heckenbach wrote:
> >
> > > BTW, I recently wrote a program for a similar purpose. I called it
> > > tless (less with terminal control sequences sequences). It allows to
> > > step forward and back through a file with escape sequences. Stepping
> > > back is done be re-writing the complete file up to the new position,
> > > so it's not well suited for larger files. It's quite primitive, but
> >
> > you probably could improve it by checking for clear-screen control
> > and verifying the cursor position at that point using the cursor position
> > report if it's properly implemented.
>
> Good idea. Just to make sure that I understand waht you mean:
>
> - scan the buffer for occurrences of clear_screen
>
> - after writing a clear_screen, get the current cursor position
> (this means that clear_screen doesn't necessarily put the cursor
> at the home position, right?) -- err, how do I get the cursor
right - that's why clear & home are often in the same initialization
string. Many ANSI terminals support CPR (though I saw a recent comment
claiming it's broken in gnome-terminal ;-). Getting the position after
clear-screen would always have the terminal in a known state that could
be easily reconstructed.
> position? (I don't know so much about terminfo...)
There's some debug-code in ncurses that does that - would be simple to
make a function that does this. tack uses u6 and u7 (user) strings for
this (see the comment in terminfo.src). The code's in ncurses/tty/tty_update.c,
ifdef'd with POSITION_DEBUG (I happened to recall it since I recently fixed
a bug in it).
> - when scrolling back, restore (with cursor_address) the cursor
> position after the last clear_screen, and write the buffer
> starting after the clear_screen
>
> To facilitate multiple scrolling back, I would have to store each
> occurrence of clear_screen, not only the last one.
yes (but probably still faster than repainting all of the characters in
between)
--
Thomas E. Dickey <address@hidden>
http://dickey.his.com
ftp://dickey.his.com
- Re: flashing symptoms, (continued)
- Re: flashing symptoms, Thomas E. Dickey, 2000/11/03
- Re: flashing symptoms, Neil Zanella, 2000/11/03
- Re: flashing symptoms, Thomas Dickey, 2000/11/03
- Re: flashing symptoms, Neil Zanella, 2000/11/03
- Re: flashing symptoms, Thomas Dickey, 2000/11/03
- Re: flashing symptoms, Neil Zanella, 2000/11/03
- Re: flashing symptoms, Thomas Dickey, 2000/11/03
- Re: flashing symptoms, Frank Heckenbach, 2000/11/07
- Re: flashing symptoms, Thomas E. Dickey, 2000/11/07
- Re: flashing symptoms, Frank Heckenbach, 2000/11/09
- Re: flashing symptoms,
Thomas Dickey <=
- Re: flashing symptoms, Frank Heckenbach, 2000/11/11
- Re: flashing symptoms, Thomas Dickey, 2000/11/11
- Re: flashing symptoms, Frank Heckenbach, 2000/11/11
- Re: flashing symptoms, Thomas Dickey, 2000/11/11
Message not available