diff options
| author | auric <auric7@protonmail.com> | 2025-09-08 21:27:55 -0500 |
|---|---|---|
| committer | auric <auric7@protonmail.com> | 2025-09-08 21:27:55 -0500 |
| commit | de07b49b3249da05605f8c802b991a8588ab63b3 (patch) | |
| tree | 295d6003f08dfce1d1b779892ce9c0be97d426a3 /archive/st/patch/scrollback.c | |
| parent | 04cfeeb799b4ee6ac990e5d6e1b5302251133d77 (diff) | |
| parent | e61da07522a060da98fa3a56db3d0360469b26cf (diff) | |
Resolved conflict, indulging new file layout
Diffstat (limited to 'archive/st/patch/scrollback.c')
| -rw-r--r-- | archive/st/patch/scrollback.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/archive/st/patch/scrollback.c b/archive/st/patch/scrollback.c new file mode 100644 index 0000000..2644cfe --- /dev/null +++ b/archive/st/patch/scrollback.c @@ -0,0 +1,55 @@ +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 + + #if OPENURLONCLICK_PATCH + if (n > 0) + restoremousecursor(); + #endif // OPENURLONCLICK_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 + + #if OPENURLONCLICK_PATCH + if (n > 0) + restoremousecursor(); + #endif // OPENURLONCLICK_PATCH +} |
