a705b714b5
From now on, Ctrl+l scrolls up the screen and preserves the scrollback buffer. Fixes #46.
46 lines
568 B
C
46 lines
568 B
C
void
|
|
kscrolldown(const Arg* a)
|
|
{
|
|
int n = a->i;
|
|
|
|
if (n < 0)
|
|
n = term.row + n;
|
|
|
|
if (n > term.scr)
|
|
n = term.scr;
|
|
|
|
if (term.scr > 0) {
|
|
term.scr -= n;
|
|
selscroll(0, -n);
|
|
tfulldirt();
|
|
}
|
|
|
|
#if SIXEL_PATCH
|
|
scroll_images(-1*n);
|
|
#endif // SIXEL_PATCH
|
|
}
|
|
|
|
void
|
|
kscrollup(const Arg* a)
|
|
{
|
|
int n = a->i;
|
|
if (n < 0)
|
|
n = term.row + n;
|
|
|
|
if (term.scr + n > term.histn)
|
|
n = term.histn - term.scr;
|
|
|
|
if (!n)
|
|
return;
|
|
|
|
if (term.scr <= HISTSIZE-n) {
|
|
term.scr += n;
|
|
selscroll(0, n);
|
|
tfulldirt();
|
|
}
|
|
|
|
#if SIXEL_PATCH
|
|
scroll_images(n);
|
|
#endif // SIXEL_PATCH
|
|
}
|