Mark Schreiber <[EMAIL PROTECTED]> typed:
:Attached is a small patch against current CVS to add a +sw
:(scrollWithBuffer) feature.
:When +sw, if you're viewing the scrollback buffer, and aren't at the
:very bottom viewing new data, when new lines come in you will scroll
:with the scrollback buffer, making the text you're looking at stay at
:the same position in your viewport.
That's quite interesting. Someone else besides me likes it that
way. When I first reprogrammed that area of code that's how
it worked - it would stay put even if extra lines were being added
at the end - but then I noticed that xterm didn't do that so I
put some effort in to get it to act like xterm because that's what
I thought people would want. Anyway, enough blathering...
The screen.c patch will need to change to something like the
following, with stuff happening inside rxvt_scroll_text() -
otherwise you'll have to put checks in there for scrolling
regions which you have if, say, you're on the secondary
screen. This is just my quick version - still needs some more
consideration (sometime outside of work hours).
Regards,
Geoff
--- ../../clean/src/screen.c Fri Jul 27 16:38:37 2001
+++ screen.c Tue Jul 31 15:23:37 2001
@@ -647,6 +647,10 @@
r->TermWin.nscrolled = r->TermWin.saveLines;
else
r->TermWin.nscrolled = (u_int16_t)nscrolled;
+ if ((r->Options & Opt_scrollWithBuffer)
+ && r->TermWin.view_start != 0
+ && r->TermWin.view_start != r->TermWin.saveLines)
+ rxvt_scr_page(r, UP, count);
} else if (!spec)
row1 += r->TermWin.saveLines;
row2 += r->TermWin.saveLines;
--
Geoff Wing : <[EMAIL PROTECTED]>
Rxvt Stuff : <[EMAIL PROTECTED]>
Zsh Stuff : <[EMAIL PROTECTED]>