lynx-dev
[Top][All Lists]
Advanced

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

Re: Side scrolling [was Re: LYNX-DEV Re: Setting up a fund ...]


From: T.E.Dickey
Subject: Re: Side scrolling [was Re: LYNX-DEV Re: Setting up a fund ...]
Date: Mon, 12 Jan 1998 05:38:10 -0500 (EST)

> 
> > I think it might be simpler than that, as curses probably already
> > does most of the work; however I'm not an expert on curses or how
> > Lynx uses it.
> > 
> > The problem though with side scrolling is that it is an expensive operation
> > in terms of line time for freenets and the like (I'm not sure if curses can
> 
> Sorry to keep making references to "most", but it does side scrolling
> and seems to be so "light".  It's slang-based, which I assume means it
> could be done with curses easily enough.  Being a dreamer and not a
> programmer, it almost seems that (a) side scrolling function(s) could,
> even by option, be compiled in, and have Lynx feed its parsed output
> to that/those function(s).  (Analogous to the zlib support that Klaus
> worked in.)
when I say "slow", I mean both for slang and any other terminal library.
You have to consider what's going on: vertical scrolling can be done for
a whole line at a time by (worst case, which is normal) sending two
change-scroll-region commands, a cursor-position and index: call that
20 characters (a little low).  The corresponding one-column shift would require
one delete character & one cursor-position per line - making it an order of
magnitude more characters to be sent.  (And if you look at delays -- which
I am told slang doesn't implement correctly, so it can't work on slow
terminals -- the terminal descriptions that use them tend to have them more
on clearing operations).

So it's slow -- unless you stick to special cases such as shifting several
columns at a time.  That's probably what you are thinking about.  When I'm
talking about horizontal scrolling, it's a single-column at a time.  That's
noticably slow, to the point where we make workarounds for it.

But, yes, it can be done in curses - that wasn't really an issue -- the
real issue with Lynx is that nothing's set up to use the functions that
would provide this support, since it uses the standard screen only, for
portability.  If we were to implement scrolling, it would be for special
cases (or through some sort of layer) so that things like VMS curses would
continue to work (afaik, it doesn't support "pad" functions, which would be
the way to go in SVr4 curses).
> 
> __Henry
> 


-- 
Thomas E. Dickey
address@hidden
http://www.clark.net/pub/dickey

reply via email to

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