This page contains patches to make scrolling inside rxvt comparable with smooth-scrolling in firefox. WARNING: it is not very usable with LCD screens. Read why in this excellent article by Dave Marsh, about eyes & monitors.
I find it useful to use text-only elinks web browser instead of firefox. (I use it for html documentations, and wsws, where I usually don't expect images).
But web pages are more than 1 page, and i need to scroll. Firefox has a nice smooth scrolling (now smooth-wheel) , and I think, that given a good keyboard control, with smooth scrolling it is possible to read while scrolling. Text scrolling by line-height skips is disturbing; while ending titles in films are readable!
I knew the "difference" algorithm (pdf), but this needed a different one: heckel algorithm. I couldn't find free documentation, so I took some free implementation and read it till I understood, that "heckel" algo is about heuristics, it does not solve e well defined problem. It is used in ncurses,
I want this algo to find out a "scroll similarity" between 2 sequences of text.
But first a bit of background:
When I feed the Xserver with the sequence of XCopyArea calls, it is not fast as I would have wished for.... by which I mean I didn't have to interleave them with some pauses. The speed is just fine on my matrox G450 @ 1920x1440 (bandwidth 2.7GB/sec) & amd 1700 xp. That's just a lucky combinationn in my case.
as is the tradition on #rxvt-unicode I didn't get any positive feedback: see irc log
(you can get gentoo ebuilds here: rxvt and elinks)
# Possibly add --prefix=/usr ? ./configure --enable-everything --enable-rxvt-scroll --enable-next-scroll --enable-xterm-scroll --enable-transparency --enable-xpm-background --enable-utmp --enable-wtmp --enable-mousewheel --enable-slipwheeling --enable-smart-resize --enable-256-color --enable-menubar --enable-xim --enable-shared --enable-keepscrolling --with-term="rxvt" make make install (as root)
cd elinks-0.11.1 patch -p1 < flicker-rxvt.patch ./autogen.sh (dunno why I get compilation errors without this, on gentoo, with gcc 4.1) ./configure --prefix=/usr --sysconfdir=/etc/elinks --enable-leds --enable-256-colors
Fine-scrolling is invoked only when the scroll step is less than 10 lines (up- or down-wards). I suggest setting they key-repeat low enough, so that you can just keep the key down and see the page flow. I use
xset r rate 190 10for the elinks window, while 190 40 for others. I have that tuning done automatically by my Sawfish (window manager)
rxvt -scrollstep 3 -scrollpause 10000... microsteps shift by 3 pixels, and are interlaced by 10 millisecond pauses.
I changed a bit the slide-window function to use microsteps.
but there has been a similar code in another sawfish extension! http://djdeath91.dyndns.org/~djdeath/animate-move.jl
Page started 8/1/2006