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]>

Reply via email to