From d1443515a862307ef46f3d902f632655bc54997e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20R=C3=B6hling?= Date: Thu, 1 Feb 2024 05:27:58 +0300 Subject: Terminal scrollback with ring buffer This patch adds a ring buffer for scrollback to the terminal. The advantage of using a ring buffer is that the common case, scrolling with no static screen content, can be achieved very efficiently by incrementing and decrementing the starting line (modulo buffer size). The scrollback buffer is limited to HISTSIZE lines in order to bound memory usage. As the lines are allocated on demand, it is possible to implement unlimited scrollback with few changes. If the terminal is reset, the scroll back buffer is reset, too. Source: https://st.suckless.org/patches/scrollback/ --- config.def.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'config.def.h') diff --git a/config.def.h b/config.def.h index 91ab8ca..e3b469b 100644 --- a/config.def.h +++ b/config.def.h @@ -201,6 +201,8 @@ static Shortcut shortcuts[] = { { TERMMOD, XK_Y, selpaste, {.i = 0} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, { TERMMOD, XK_Num_Lock, numlock, {.i = 0} }, + { ShiftMask, XK_Page_Up, kscrollup, {.i = -1} }, + { ShiftMask, XK_Page_Down, kscrolldown, {.i = -1} }, }; /* -- cgit v1.2.3