From b5942724bca6f6054d188be21823c7fedb7dad92 Mon Sep 17 00:00:00 2001 From: Remi Akirazar Date: Tue, 25 Nov 2025 19:20:51 -0500 Subject: [PATCH 1/3] added basic scroll functionality --- config.def.h | 2 + config.h | 476 +++++++++++++++++++++++++++++++ patches/st-scrollback-0.9.2.diff | 351 +++++++++++++++++++++++ st | Bin 0 -> 105680 bytes st.c | 125 ++++++-- st.h | 2 + st.o | Bin 0 -> 81864 bytes x.o | Bin 0 -> 75704 bytes 8 files changed, 929 insertions(+), 27 deletions(-) create mode 100644 config.h create mode 100644 patches/st-scrollback-0.9.2.diff create mode 100755 st create mode 100644 st.o create mode 100644 x.o diff --git a/config.def.h b/config.def.h index 2cd740a..40b7d93 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} }, }; /* diff --git a/config.h b/config.h new file mode 100644 index 0000000..40b7d93 --- /dev/null +++ b/config.h @@ -0,0 +1,476 @@ +/* See LICENSE file for copyright and license details. */ + +/* + * appearance + * + * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html + */ +static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true"; +static int borderpx = 2; + +/* + * What program is execed by st depends of these precedence rules: + * 1: program passed with -e + * 2: scroll and/or utmp + * 3: SHELL environment variable + * 4: value of shell in /etc/passwd + * 5: value of shell in config.h + */ +static char *shell = "/bin/sh"; +char *utmp = NULL; +/* scroll program: to enable use a string like "scroll" */ +char *scroll = NULL; +char *stty_args = "stty raw pass8 nl -echo -iexten -cstopb 38400"; + +/* identification sequence returned in DA and DECID */ +char *vtiden = "\033[?6c"; + +/* Kerning / character bounding-box multipliers */ +static float cwscale = 1.0; +static float chscale = 1.0; + +/* + * word delimiter string + * + * More advanced example: L" `'\"()[]{}" + */ +wchar_t *worddelimiters = L" "; + +/* selection timeouts (in milliseconds) */ +static unsigned int doubleclicktimeout = 300; +static unsigned int tripleclicktimeout = 600; + +/* alt screens */ +int allowaltscreen = 1; + +/* allow certain non-interactive (insecure) window operations such as: + setting the clipboard text */ +int allowwindowops = 0; + +/* + * draw latency range in ms - from new content/keypress/etc until drawing. + * within this range, st draws when content stops arriving (idle). mostly it's + * near minlatency, but it waits longer for slow updates to avoid partial draw. + * low minlatency will tear/flicker more, as it can "detect" idle too early. + */ +static double minlatency = 2; +static double maxlatency = 33; + +/* + * blinking timeout (set to 0 to disable blinking) for the terminal blinking + * attribute. + */ +static unsigned int blinktimeout = 800; + +/* + * thickness of underline and bar cursors + */ +static unsigned int cursorthickness = 2; + +/* + * bell volume. It must be a value between -100 and 100. Use 0 for disabling + * it + */ +static int bellvolume = 0; + +/* default TERM value */ +char *termname = "st-256color"; + +/* + * spaces per tab + * + * When you are changing this value, don't forget to adapt the »it« value in + * the st.info and appropriately install the st.info in the environment where + * you use this st version. + * + * it#$tabspaces, + * + * Secondly make sure your kernel is not expanding tabs. When running `stty + * -a` »tab0« should appear. You can tell the terminal to not expand tabs by + * running following command: + * + * stty tabs + */ +unsigned int tabspaces = 8; + +/* Terminal colors (16 first used in escape sequence) */ +static const char *colorname[] = { + /* 8 normal colors */ + "black", + "red3", + "green3", + "yellow3", + "blue2", + "magenta3", + "cyan3", + "gray90", + + /* 8 bright colors */ + "gray50", + "red", + "green", + "yellow", + "#5c5cff", + "magenta", + "cyan", + "white", + + [255] = 0, + + /* more colors can be added after 255 to use with DefaultXX */ + "#cccccc", + "#555555", + "gray90", /* default foreground colour */ + "black", /* default background colour */ +}; + + +/* + * Default colors (colorname index) + * foreground, background, cursor, reverse cursor + */ +unsigned int defaultfg = 258; +unsigned int defaultbg = 259; +unsigned int defaultcs = 256; +static unsigned int defaultrcs = 257; + +/* + * Default shape of cursor + * 2: Block ("█") + * 4: Underline ("_") + * 6: Bar ("|") + * 7: Snowman ("☃") + */ +static unsigned int cursorshape = 2; + +/* + * Default columns and rows numbers + */ + +static unsigned int cols = 80; +static unsigned int rows = 24; + +/* + * Default colour and shape of the mouse cursor + */ +static unsigned int mouseshape = XC_xterm; +static unsigned int mousefg = 7; +static unsigned int mousebg = 0; + +/* + * Color used to display font attributes when fontconfig selected a font which + * doesn't match the ones requested. + */ +static unsigned int defaultattr = 11; + +/* + * Force mouse select/shortcuts while mask is active (when MODE_MOUSE is set). + * Note that if you want to use ShiftMask with selmasks, set this to an other + * modifier, set to 0 to not use it. + */ +static uint forcemousemod = ShiftMask; + +/* + * Internal mouse shortcuts. + * Beware that overloading Button1 will disable the selection. + */ +static MouseShortcut mshortcuts[] = { + /* mask button function argument release */ + { XK_ANY_MOD, Button2, selpaste, {.i = 0}, 1 }, + { ShiftMask, Button4, ttysend, {.s = "\033[5;2~"} }, + { XK_ANY_MOD, Button4, ttysend, {.s = "\031"} }, + { ShiftMask, Button5, ttysend, {.s = "\033[6;2~"} }, + { XK_ANY_MOD, Button5, ttysend, {.s = "\005"} }, +}; + +/* Internal keyboard shortcuts. */ +#define MODKEY Mod1Mask +#define TERMMOD (ControlMask|ShiftMask) + +static Shortcut shortcuts[] = { + /* mask keysym function argument */ + { XK_ANY_MOD, XK_Break, sendbreak, {.i = 0} }, + { ControlMask, XK_Print, toggleprinter, {.i = 0} }, + { ShiftMask, XK_Print, printscreen, {.i = 0} }, + { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, + { TERMMOD, XK_Prior, zoom, {.f = +1} }, + { TERMMOD, XK_Next, zoom, {.f = -1} }, + { TERMMOD, XK_Home, zoomreset, {.f = 0} }, + { TERMMOD, XK_C, clipcopy, {.i = 0} }, + { TERMMOD, XK_V, clippaste, {.i = 0} }, + { 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} }, +}; + +/* + * Special keys (change & recompile st.info accordingly) + * + * Mask value: + * * Use XK_ANY_MOD to match the key no matter modifiers state + * * Use XK_NO_MOD to match the key alone (no modifiers) + * appkey value: + * * 0: no value + * * > 0: keypad application mode enabled + * * = 2: term.numlock = 1 + * * < 0: keypad application mode disabled + * appcursor value: + * * 0: no value + * * > 0: cursor application mode enabled + * * < 0: cursor application mode disabled + * + * Be careful with the order of the definitions because st searches in + * this table sequentially, so any XK_ANY_MOD must be in the last + * position for a key. + */ + +/* + * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) + * to be mapped below, add them to this array. + */ +static KeySym mappedkeys[] = { -1 }; + +/* + * State bits to ignore when matching key or button events. By default, + * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. + */ +static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; + +/* + * This is the huge key array which defines all compatibility to the Linux + * world. Please decide about changes wisely. + */ +static Key key[] = { + /* keysym mask string appkey appcursor */ + { XK_KP_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0}, + { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0}, + { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0}, + { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0}, + { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0}, + { XK_KP_End, ControlMask, "\033[J", -1, 0}, + { XK_KP_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_KP_End, ShiftMask, "\033[K", -1, 0}, + { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[L", -1, 0}, + { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_KP_Delete, ControlMask, "\033[M", -1, 0}, + { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0}, + { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0}, + { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0}, + { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0}, + { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0}, + { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0}, + { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0}, + { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0}, + { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0}, + { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0}, + { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0}, + { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0}, + { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0}, + { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0}, + { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0}, + { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0}, + { XK_Up, ShiftMask, "\033[1;2A", 0, 0}, + { XK_Up, Mod1Mask, "\033[1;3A", 0, 0}, + { XK_Up, ShiftMask|Mod1Mask,"\033[1;4A", 0, 0}, + { XK_Up, ControlMask, "\033[1;5A", 0, 0}, + { XK_Up, ShiftMask|ControlMask,"\033[1;6A", 0, 0}, + { XK_Up, ControlMask|Mod1Mask,"\033[1;7A", 0, 0}, + { XK_Up,ShiftMask|ControlMask|Mod1Mask,"\033[1;8A", 0, 0}, + { XK_Up, XK_ANY_MOD, "\033[A", 0, -1}, + { XK_Up, XK_ANY_MOD, "\033OA", 0, +1}, + { XK_Down, ShiftMask, "\033[1;2B", 0, 0}, + { XK_Down, Mod1Mask, "\033[1;3B", 0, 0}, + { XK_Down, ShiftMask|Mod1Mask,"\033[1;4B", 0, 0}, + { XK_Down, ControlMask, "\033[1;5B", 0, 0}, + { XK_Down, ShiftMask|ControlMask,"\033[1;6B", 0, 0}, + { XK_Down, ControlMask|Mod1Mask,"\033[1;7B", 0, 0}, + { XK_Down,ShiftMask|ControlMask|Mod1Mask,"\033[1;8B",0, 0}, + { XK_Down, XK_ANY_MOD, "\033[B", 0, -1}, + { XK_Down, XK_ANY_MOD, "\033OB", 0, +1}, + { XK_Left, ShiftMask, "\033[1;2D", 0, 0}, + { XK_Left, Mod1Mask, "\033[1;3D", 0, 0}, + { XK_Left, ShiftMask|Mod1Mask,"\033[1;4D", 0, 0}, + { XK_Left, ControlMask, "\033[1;5D", 0, 0}, + { XK_Left, ShiftMask|ControlMask,"\033[1;6D", 0, 0}, + { XK_Left, ControlMask|Mod1Mask,"\033[1;7D", 0, 0}, + { XK_Left,ShiftMask|ControlMask|Mod1Mask,"\033[1;8D",0, 0}, + { XK_Left, XK_ANY_MOD, "\033[D", 0, -1}, + { XK_Left, XK_ANY_MOD, "\033OD", 0, +1}, + { XK_Right, ShiftMask, "\033[1;2C", 0, 0}, + { XK_Right, Mod1Mask, "\033[1;3C", 0, 0}, + { XK_Right, ShiftMask|Mod1Mask,"\033[1;4C", 0, 0}, + { XK_Right, ControlMask, "\033[1;5C", 0, 0}, + { XK_Right, ShiftMask|ControlMask,"\033[1;6C", 0, 0}, + { XK_Right, ControlMask|Mod1Mask,"\033[1;7C", 0, 0}, + { XK_Right,ShiftMask|ControlMask|Mod1Mask,"\033[1;8C",0, 0}, + { XK_Right, XK_ANY_MOD, "\033[C", 0, -1}, + { XK_Right, XK_ANY_MOD, "\033OC", 0, +1}, + { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0}, + { XK_Return, Mod1Mask, "\033\r", 0, 0}, + { XK_Return, XK_ANY_MOD, "\r", 0, 0}, + { XK_Insert, ShiftMask, "\033[4l", -1, 0}, + { XK_Insert, ShiftMask, "\033[2;2~", +1, 0}, + { XK_Insert, ControlMask, "\033[L", -1, 0}, + { XK_Insert, ControlMask, "\033[2;5~", +1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0}, + { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0}, + { XK_Delete, ControlMask, "\033[M", -1, 0}, + { XK_Delete, ControlMask, "\033[3;5~", +1, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0}, + { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1}, + { XK_Home, ShiftMask, "\033[1;2H", 0, +1}, + { XK_Home, XK_ANY_MOD, "\033[H", 0, -1}, + { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1}, + { XK_End, ControlMask, "\033[J", -1, 0}, + { XK_End, ControlMask, "\033[1;5F", +1, 0}, + { XK_End, ShiftMask, "\033[K", -1, 0}, + { XK_End, ShiftMask, "\033[1;2F", +1, 0}, + { XK_End, XK_ANY_MOD, "\033[4~", 0, 0}, + { XK_Prior, ControlMask, "\033[5;5~", 0, 0}, + { XK_Prior, ShiftMask, "\033[5;2~", 0, 0}, + { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0}, + { XK_Next, ControlMask, "\033[6;5~", 0, 0}, + { XK_Next, ShiftMask, "\033[6;2~", 0, 0}, + { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0}, + { XK_F1, XK_NO_MOD, "\033OP" , 0, 0}, + { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0}, + { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0}, + { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0}, + { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0}, + { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0}, + { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0}, + { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0}, + { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0}, + { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0}, + { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0}, + { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0}, + { XK_F3, XK_NO_MOD, "\033OR" , 0, 0}, + { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0}, + { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0}, + { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0}, + { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0}, + { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0}, + { XK_F4, XK_NO_MOD, "\033OS" , 0, 0}, + { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0}, + { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0}, + { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0}, + { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0}, + { XK_F5, XK_NO_MOD, "\033[15~", 0, 0}, + { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0}, + { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0}, + { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0}, + { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0}, + { XK_F6, XK_NO_MOD, "\033[17~", 0, 0}, + { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0}, + { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0}, + { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0}, + { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0}, + { XK_F7, XK_NO_MOD, "\033[18~", 0, 0}, + { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0}, + { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0}, + { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0}, + { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0}, + { XK_F8, XK_NO_MOD, "\033[19~", 0, 0}, + { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0}, + { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0}, + { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0}, + { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0}, + { XK_F9, XK_NO_MOD, "\033[20~", 0, 0}, + { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0}, + { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0}, + { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0}, + { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0}, + { XK_F10, XK_NO_MOD, "\033[21~", 0, 0}, + { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0}, + { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0}, + { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0}, + { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0}, + { XK_F11, XK_NO_MOD, "\033[23~", 0, 0}, + { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0}, + { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0}, + { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0}, + { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0}, + { XK_F12, XK_NO_MOD, "\033[24~", 0, 0}, + { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0}, + { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0}, + { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0}, + { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0}, + { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0}, + { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0}, + { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0}, + { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0}, + { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0}, + { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0}, + { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0}, + { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0}, + { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0}, + { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0}, + { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0}, + { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0}, + { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0}, + { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0}, + { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0}, + { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0}, + { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0}, + { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0}, + { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0}, + { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0}, + { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0}, + { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0}, + { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0}, +}; + +/* + * Selection types' masks. + * Use the same masks as usual. + * Button1Mask is always unset, to make masks match between ButtonPress. + * ButtonRelease and MotionNotify. + * If no match is found, regular selection is used. + */ +static uint selmasks[] = { + [SEL_RECTANGULAR] = Mod1Mask, +}; + +/* + * Printable characters in ASCII, used to estimate the advance width + * of single wide characters. + */ +static char ascii_printable[] = + " !\"#$%&'()*+,-./0123456789:;<=>?" + "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" + "`abcdefghijklmnopqrstuvwxyz{|}~"; diff --git a/patches/st-scrollback-0.9.2.diff b/patches/st-scrollback-0.9.2.diff new file mode 100644 index 0000000..f9782e8 --- /dev/null +++ b/patches/st-scrollback-0.9.2.diff @@ -0,0 +1,351 @@ +diff --git a/config.def.h b/config.def.h +index 2cd740a..40b7d93 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} }, + }; + + /* +diff --git a/st.c b/st.c +index b9f66e7..2478942 100644 +--- a/st.c ++++ b/st.c +@@ -35,6 +35,7 @@ + #define ESC_ARG_SIZ 16 + #define STR_BUF_SIZ ESC_BUF_SIZ + #define STR_ARG_SIZ ESC_ARG_SIZ ++#define HISTSIZE 2000 + + /* macros */ + #define IS_SET(flag) ((term.mode & (flag)) != 0) +@@ -42,6 +43,9 @@ + #define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) + #define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) + #define ISDELIM(u) (u && wcschr(worddelimiters, u)) ++#define TLINE(y) ((y) < term.scr ? term.hist[((y) + term.histi - \ ++ term.scr + HISTSIZE + 1) % HISTSIZE] : \ ++ term.line[(y) - term.scr]) + + enum term_mode { + MODE_WRAP = 1 << 0, +@@ -115,6 +119,9 @@ typedef struct { + int col; /* nb col */ + Line *line; /* screen */ + Line *alt; /* alternate screen */ ++ Line hist[HISTSIZE]; /* history buffer */ ++ int histi; /* history index */ ++ int scr; /* scroll back */ + int *dirty; /* dirtyness of lines */ + TCursor c; /* cursor */ + int ocx; /* old cursor col */ +@@ -185,8 +192,8 @@ static void tnewline(int); + static void tputtab(int); + static void tputc(Rune); + static void treset(void); +-static void tscrollup(int, int); +-static void tscrolldown(int, int); ++static void tscrollup(int, int, int); ++static void tscrolldown(int, int, int); + static void tsetattr(const int *, int); + static void tsetchar(Rune, const Glyph *, int, int); + static void tsetdirt(int, int); +@@ -409,10 +416,10 @@ tlinelen(int y) + { + int i = term.col; + +- if (term.line[y][i - 1].mode & ATTR_WRAP) ++ if (TLINE(y)[i - 1].mode & ATTR_WRAP) + return i; + +- while (i > 0 && term.line[y][i - 1].u == ' ') ++ while (i > 0 && TLINE(y)[i - 1].u == ' ') + --i; + + return i; +@@ -521,7 +528,7 @@ selsnap(int *x, int *y, int direction) + * Snap around if the word wraps around at the end or + * beginning of a line. + */ +- prevgp = &term.line[*y][*x]; ++ prevgp = &TLINE(*y)[*x]; + prevdelim = ISDELIM(prevgp->u); + for (;;) { + newx = *x + direction; +@@ -536,14 +543,14 @@ selsnap(int *x, int *y, int direction) + yt = *y, xt = *x; + else + yt = newy, xt = newx; +- if (!(term.line[yt][xt].mode & ATTR_WRAP)) ++ if (!(TLINE(yt)[xt].mode & ATTR_WRAP)) + break; + } + + if (newx >= tlinelen(newy)) + break; + +- gp = &term.line[newy][newx]; ++ gp = &TLINE(newy)[newx]; + delim = ISDELIM(gp->u); + if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim + || (delim && gp->u != prevgp->u))) +@@ -564,14 +571,14 @@ selsnap(int *x, int *y, int direction) + *x = (direction < 0) ? 0 : term.col - 1; + if (direction < 0) { + for (; *y > 0; *y += direction) { +- if (!(term.line[*y-1][term.col-1].mode ++ if (!(TLINE(*y-1)[term.col-1].mode + & ATTR_WRAP)) { + break; + } + } + } else if (direction > 0) { + for (; *y < term.row-1; *y += direction) { +- if (!(term.line[*y][term.col-1].mode ++ if (!(TLINE(*y)[term.col-1].mode + & ATTR_WRAP)) { + break; + } +@@ -602,13 +609,13 @@ getsel(void) + } + + if (sel.type == SEL_RECTANGULAR) { +- gp = &term.line[y][sel.nb.x]; ++ gp = &TLINE(y)[sel.nb.x]; + lastx = sel.ne.x; + } else { +- gp = &term.line[y][sel.nb.y == y ? sel.nb.x : 0]; ++ gp = &TLINE(y)[sel.nb.y == y ? sel.nb.x : 0]; + lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1; + } +- last = &term.line[y][MIN(lastx, linelen-1)]; ++ last = &TLINE(y)[MIN(lastx, linelen-1)]; + while (last >= gp && last->u == ' ') + --last; + +@@ -844,6 +851,9 @@ void + ttywrite(const char *s, size_t n, int may_echo) + { + const char *next; ++ Arg arg = (Arg) { .i = term.scr }; ++ ++ kscrolldown(&arg); + + if (may_echo && IS_SET(MODE_ECHO)) + twrite(s, n, 1); +@@ -1055,13 +1065,53 @@ tswapscreen(void) + } + + void +-tscrolldown(int orig, int n) ++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(); ++ } ++} ++ ++void ++kscrollup(const Arg* a) ++{ ++ int n = a->i; ++ ++ if (n < 0) ++ n = term.row + n; ++ ++ if (term.scr <= HISTSIZE-n) { ++ term.scr += n; ++ selscroll(0, n); ++ tfulldirt(); ++ } ++} ++ ++void ++tscrolldown(int orig, int n, int copyhist) + { + int i; + Line temp; + + LIMIT(n, 0, term.bot-orig+1); + ++ if (copyhist) { ++ term.histi = (term.histi - 1 + HISTSIZE) % HISTSIZE; ++ temp = term.hist[term.histi]; ++ term.hist[term.histi] = term.line[term.bot]; ++ term.line[term.bot] = temp; ++ } ++ + tsetdirt(orig, term.bot-n); + tclearregion(0, term.bot-n+1, term.col-1, term.bot); + +@@ -1071,17 +1121,28 @@ tscrolldown(int orig, int n) + term.line[i-n] = temp; + } + +- selscroll(orig, n); ++ if (term.scr == 0) ++ selscroll(orig, n); + } + + void +-tscrollup(int orig, int n) ++tscrollup(int orig, int n, int copyhist) + { + int i; + Line temp; + + LIMIT(n, 0, term.bot-orig+1); + ++ if (copyhist) { ++ term.histi = (term.histi + 1) % HISTSIZE; ++ temp = term.hist[term.histi]; ++ term.hist[term.histi] = term.line[orig]; ++ term.line[orig] = temp; ++ } ++ ++ if (term.scr > 0 && term.scr < HISTSIZE) ++ term.scr = MIN(term.scr + n, HISTSIZE-1); ++ + tclearregion(0, orig, term.col-1, orig+n-1); + tsetdirt(orig+n, term.bot); + +@@ -1091,7 +1152,8 @@ tscrollup(int orig, int n) + term.line[i+n] = temp; + } + +- selscroll(orig, -n); ++ if (term.scr == 0) ++ selscroll(orig, -n); + } + + void +@@ -1120,7 +1182,7 @@ tnewline(int first_col) + int y = term.c.y; + + if (y == term.bot) { +- tscrollup(term.top, 1); ++ tscrollup(term.top, 1, 1); + } else { + y++; + } +@@ -1285,14 +1347,14 @@ void + tinsertblankline(int n) + { + if (BETWEEN(term.c.y, term.top, term.bot)) +- tscrolldown(term.c.y, n); ++ tscrolldown(term.c.y, n, 0); + } + + void + tdeleteline(int n) + { + if (BETWEEN(term.c.y, term.top, term.bot)) +- tscrollup(term.c.y, n); ++ tscrollup(term.c.y, n, 0); + } + + int32_t +@@ -1730,11 +1792,11 @@ csihandle(void) + case 'S': /* SU -- Scroll line up */ + if (csiescseq.priv) break; + DEFAULT(csiescseq.arg[0], 1); +- tscrollup(term.top, csiescseq.arg[0]); ++ tscrollup(term.top, csiescseq.arg[0], 0); + break; + case 'T': /* SD -- Scroll line down */ + DEFAULT(csiescseq.arg[0], 1); +- tscrolldown(term.top, csiescseq.arg[0]); ++ tscrolldown(term.top, csiescseq.arg[0], 0); + break; + case 'L': /* IL -- Insert blank lines */ + DEFAULT(csiescseq.arg[0], 1); +@@ -2306,7 +2368,7 @@ eschandle(uchar ascii) + return 0; + case 'D': /* IND -- Linefeed */ + if (term.c.y == term.bot) { +- tscrollup(term.top, 1); ++ tscrollup(term.top, 1, 1); + } else { + tmoveto(term.c.x, term.c.y+1); + } +@@ -2319,7 +2381,7 @@ eschandle(uchar ascii) + break; + case 'M': /* RI -- Reverse index */ + if (term.c.y == term.top) { +- tscrolldown(term.top, 1); ++ tscrolldown(term.top, 1, 1); + } else { + tmoveto(term.c.x, term.c.y-1); + } +@@ -2542,7 +2604,7 @@ twrite(const char *buf, int buflen, int show_ctrl) + void + tresize(int col, int row) + { +- int i; ++ int i, j; + int minrow = MIN(row, term.row); + int mincol = MIN(col, term.col); + int *bp; +@@ -2579,6 +2641,14 @@ tresize(int col, int row) + term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty)); + term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs)); + ++ for (i = 0; i < HISTSIZE; i++) { ++ term.hist[i] = xrealloc(term.hist[i], col * sizeof(Glyph)); ++ for (j = mincol; j < col; j++) { ++ term.hist[i][j] = term.c.attr; ++ term.hist[i][j].u = ' '; ++ } ++ } ++ + /* resize each row to new width, zero-pad if needed */ + for (i = 0; i < minrow; i++) { + term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph)); +@@ -2637,7 +2707,7 @@ drawregion(int x1, int y1, int x2, int y2) + continue; + + term.dirty[y] = 0; +- xdrawline(term.line[y], x1, y, x2); ++ xdrawline(TLINE(y), x1, y, x2); + } + } + +@@ -2658,8 +2728,9 @@ draw(void) + cx--; + + drawregion(0, 0, term.col, term.row); +- xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], +- term.ocx, term.ocy, term.line[term.ocy][term.ocx]); ++ if (term.scr == 0) ++ xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], ++ term.ocx, term.ocy, term.line[term.ocy][term.ocx]); + term.ocx = cx; + term.ocy = term.c.y; + xfinishdraw(); +diff --git a/st.h b/st.h +index fd3b0d8..818a6f8 100644 +--- a/st.h ++++ b/st.h +@@ -81,6 +81,8 @@ void die(const char *, ...); + void redraw(void); + void draw(void); + ++void kscrolldown(const Arg *); ++void kscrollup(const Arg *); + void printscreen(const Arg *); + void printsel(const Arg *); + void sendbreak(const Arg *); diff --git a/st b/st new file mode 100755 index 0000000000000000000000000000000000000000..79b355ef5c1a8dd5958bb548207a0ce1b4b33ae4 GIT binary patch literal 105680 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�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�xq*9|If=*alb#_#WUxfDyngfQJFcO-CI} znsz5(8sMZEot@c$@v|Wha7zVZG~m}4Vr~Ffc~NI)B3{5g12_iot2r3g0S8}<7zKFt zC7qo+0M`Tl2hdg7*_n>^UkO+M_yk}D;FNiop8_@jE(H7;@G-zQY@MBl0Pn>6&=mN@ zJiKF{3-~JDWG@Fi0q;cVGya9Oh$Vnu&W9cPXxa}8&{lx=x)ApO-v?X>__POl1AYn^ z0qpO^{Slst-wl`v_%2`x;0>2zyaK$_*V*|DU`In|=YGH|8xiY{)wETBX@Cj%vL_pG zKHyxyM*stWUjZ%$Ol`)v1vmuo1;Dcb-vb;E_%-0@tB@Zrcb5Zt0q+7_1~>!b+%CY% zn@|p3rXO=N>;?E4<`v5U-^P4oJK(I_U{5Rz%e1z-fw4tN-F8DI() zn>-Gf2KW+SHsEf+62LD3=K*S1*cJeM2k-^J9Q3dE0RIMvUue=^0~`!k{{Zp>z64kf z7=8qE3&4^!XlKBUfa(1;Z3kd3VEU72UqCP5V!#bg!w&(!SPOo@S?kbmj?=Uo0Ve^P z*TWuwe!%5`yI9}79dKr2H?f|T#>kaTrz|xJVKj3G8{RU`S(kAEu*aTP( z_$Z(Y@BrXqK>HT>58wma;K!+`H((mzf$fMdfaPz15AZ6$)qq3a?CjhO7y#S@xC!tu z;7-5+SajMBI2`alZ$U4>;vM*1S-`IW?*@G2J+wPu&HHGNKWW;jJJD|dhXYyx%Xgu_ z0)7Ix8F0csJ3BuHTmpCq@M*x5ftvOTU>e{)z)65~pc>+cyA1mqHKoLz)bE%?+B1;w zgK;iAue0-X;wU%oP;}*5I6|ehSLe0 zdZ0nL_i(NQZU`V9gp1(Z0Gy8yI0$zb=P9L_PZ9zL;b=P&A8>aH4C)C;-*z4bZYvGQ zlao_c#7|Bhczwd;WJ_zW$;s)lJTjDqNO&$nLo?xctSq+{f#L_c}w;(wseo9|K z%f=-w4jx$E+381`bZRA?mM7#TTbA}h(JiKeIkE~Q57i3k<#C(`!l_jUN#3u}mLqVCi zTt?;0!n$@Y=lUp}3X;>~|Jhem1on}}v>?w5$TI_D%nGE*mM!rG$phmT^;I?`xqHC# z5_p~>9_SxkSC}Y%xlS(WIRNcEsRDh4@|;Iq7PaMWLKA&Yp+c{xooOJD|e$WK|u^8`5 zNT-;7;EL`BqR-q9-dW%kvSWA?X0c?^X{b&+z|Y7}$Y05(G{3p0sv1B9eDL}h?Wi7)u4%$a1_0skrkyjCeG}^)vUnzB@_B#Zc)79B2?t;)x<*=TJ|Cl$< z2fm*2;IQCK18x&=Vw~vqKZI8qtVx~~JiY5NZ$VnSI60+?{bU~S846#WoH7S^(ya;j zS-^|-L-`f#C#1v8pgBOJ_N0U4KLp%`z+qY@{HmDcw*fy*ho?5!1$-g!KgZgw=P}Eh zkk-qf4aPtgwyM{@$K3WpD!Y3Oh;D<-cx&ufLpsx(djRIb$5TG)3(%SRdjNPd&5?=F zEw5+Y7RDtkM<+KJQboVo40-+~n7bX>-wKk;;;W3L(R?QbbDGghG5CS=ZCJ+e&kRh2R?-||Ui_@&y1Zm>UUE}j^1`^h9M^y^SZ^pPXB&)sneclI{2C}IIb;FYJvaWjo*Z5D zf5=J3ecb|*gT54Blbkpl$u{6^z|SZAlqg@Y#7~cE@+rxQo8BZj`@#QL@TUKfh>}@ z67qK6j_0u$r;cDRj2&?a?dSN)uH-h(`m`*Ghx?Fs_Tk#pla)X+6K*;OJRAJu)I24({qR2pxy9CV#30>_}dJcnPy}%$`vKw7FU#fH_nF;_145W5dr0V z=nIt93(p$pk*Ku6r9zW2bdBc}!$7-~^oVZLvIK8jaz$S9yz1n#y6Bmalu6G)E_n>k z&`E}{>s<6Cmv)<%h%tnowFLi;_jp7{IX(DNX1wEft|a>OA>@4nd52S8wDml08}gX} z2xgyvCSpyrO)T-n(Uu@T&js(`C%Wf|ZYU@GANX;=Pht5OCKJhzyujB0e`&OB_}-H| zvp&{^MNFV)ME9-f?40~Zd}U2s!k>)>5R^}TNza;Yd8)H>1nDN)Zh>e!s(T6o|AU}e z*w4G?#|eLm6I}~^9DG!lN#Om<(|C_`Ks$vIIPlFNYq z5cvBDA8Yf!sA5U?HQ<}M4!a}}A0kf!w;R!32W>fM)0h@tD2db_5zt-+EqbgZymlO( zv+D5KKo11|AHd_+U)YCxn&-s-5<9(-_rB%GyZAYNzJTl&oOQr$0Z!GA;!q|j$j>{h z;Gt)B1$cHRwj4duSm{l;+bHx?dAlHMEuQ3_r@F@JsdzxX5h++xUkrVa0}s08#yFnmH4-@fV;i0WE`Q)yXMz??81s4E$e# z$D>7Y5N`_p+yR_;c7~WkbM}S6)AP`Kfwzz$dWtnulGns1xD%4s#TR1oJ2`nf&K;Ps z?E>5r-$>M!cmrwx)c89=q}7At>s#KC z(8(~C3v0q&mly>V{k-Q@Di#(!7JIF(Y7Ov;{_zJY^~d1yZLxe6ugdFRHpk*`)mBSqeERU(p|Ueu5Z^}(|0A&`CsJgeiDs$ zaWaAB7UEd>jf83~P^MV)jQzWqPVbQE7$kv~&2(CWMu(#R@LQ*cu6NLy4;-{ChK@wM zyQG8Of6;M>>FPaYA`8HBA8`z1h|dmU4$h`U&XtzoS8ZAySA^aP(!tf$@Hv4v7LJ!t z;n#4*l-@hU3q(zPB0!v~{9o{?p3Et$_#0p6a{f-fR_(N(uT$7iKk;?8Vqjtar@_LU zo)sF)eo@457Q-5b4GfnuT*dG~hHDvaWw?{!K86Pw_P#(`-~@)JGsI>e;wWM`i(w7J z28K%+u44Eg!?g^zGTg~tT= zGTg`TAj94>xO|4EGsN~JvV4ZK7}hXsV7QdwDuxd-T+47P!<`KGF+9kycR82O@N|Y_ z85S{|#ju891H+{ZS228$;aY}U8SZ4bkKsXvz2)n0?F5FWGaSpXh~X@TH4GaVE@ili z;e!mIgMi|fzubcSOY7BQT~u!dm+!=(&YF?^8WT83L0?qs-+;X#JI zXLI=sPiHumVG+Yw3~LxRFkH%T6~hM^u4TBD;ZBD87#?KUyMoJScsj$e42u}fVpzkl zf#Fhys~A4Wa4o~F40kfz$M7J--u%4i1cp+Z?!U_lWPHk;+&u;owWkk%yT2j+^SQZs zlk*D-i>6qM&pW@Qbn3LS3#QK~pE+xG#f2BmnS1dimGf*>_G(8>ZJl%e0$07;1X{E92D5^-OIC={Q7Gae_65mFnh!|Iees_Rz1FPGmg|DJxMqH_k7ALE9Q zbi1OnTs{2`Md$ptGM~zSFVmGidisMZKj+iaA5nA`aJx?a-*xi!^ruvQ&ZnoZRdklW zN+*B4PQIT0lFHBd^z@C2&hl^5$=|AzucyDN@^d~t{Y^z@`F~+PzSQ1PbmYwj$WmsKdGbF=;%-B=qmmx`#i0q&)4ODMn_liP38ZG zj_%gwU#p|5_@(kctE2mL`Pb>_YJ5=npVQGBbor+0oI{Q4TldtH?K2I6Ym3^Kw zpey^d8PJt|wi(csecm*nEBm}}Kv(tGkMF8}imo5uFVNZNW1W0OSN8ebfUfNGl>uGZ z=Q{(svddb3^jGUFnY>-;6m_ex?6119~p!T46v}`mZveTR8t6I(nN<|N9N-O8S26Uz0 zPX=_QU)--+%%RFx`t{M#H|g~2Z$MZ2{mFo?^gG3XuJk*@fUfjAM@QeR({G#sUFnx& zKv((|8qk$~r3Q4R-%K5Si%!3b4d_Zgy8&J4x4?j|^z$3gm427&=v#IAwHVNqejx+8 z((eWXy3+4<1G>`h9vyv~PQQl@=t{pQ4CqR~XAS5|zn2Z@O22J7`gWauZyC^)e(xL5 zm42TX(3O7wGN3E{{;i|GqSNmO1G>`h7X!M|FG06%OvzXJ9cw^W`W>&MzpB$uKYqWa zqwB}V*L8IL`16L2u8;3;>gf9T`j(Eak8eA4bbWkzTSwRT?{{=`egAq_N7wuJdpf$_ zzuwo;_3gV;N7v7fKG4zi^N(FRx_*5Br;e^4KR?vb_2bt^I=X)R_*h5R$L~*cbbb8% zR7cmxuiZMjK7Q=c(e?e8=C$Hk8?STK_)z_gAoZ;YylzxK|EB!W^pkY`hw{_CyUMSh zUsL{Q`Vd|IYxz38uhi%!zE1oBLUB-jf(y8wz81RbK2%(=G5ro5UDZ?3AJEa2d_{j+ zM_11!)P2a|U8-#QO~UT=B`*=-9SNX4I`|Wu&wtSUe)qfP*N7+r$Rs9cKBl9czl>Gb&mUMh=ex_w) zR>r7|k(N=Jqq0Vh962hs9Q_r^?WKLkT6I%ty-vKAq~%^DadVk;JYXC)BbnDnYBYfH zgBYKy!w&_XgtirHuD6z7jAFtDpARWPP(4Px6TWW#+GCJn2jL z(=V2YI~m`=_|1$LdvpSKZGx0PkL{4j{8usmbvB6*`*0!|W_&4ENbI=@+%1d`R3m}I zFM&qo$KfYjZszyusvqA6Jn8u*^Yiiu?J34ja!3JUKTRap<0Lz1Ez%AZ{9<7<^ZRNf zKQ9l{X!$?Mzn={w_R9p0x@DY}s^v1{eko4dEAVD5!2YB9%U6tV*5MBTPx2=_k-$NE z({UIl;s3+0ZfS!g7W) z{!Yd#ep>%U@)Oyi#D0&+lgD^ZPzn%xHzH|e{KU&7{%i@f3mAVp<5w{L65y#_a<4%G z$3u*-WBxgpOT>gU{7)KbKpt7isuL; z;^+`^&@Nk~01M;4W&VywC1M!ke_(vdW3l*O7@x)X{>b{@od56eH1`7MlJ#`t#_KOA_9C%KhS49DH#FZOl80!u1ajjIb7KThxu z(&n+ADt^{rfFb@ZJPyxi{z+W!Ie(W3)qiPECE}mK_N)5>dhUCm6qm@m9vKXZ)udC1Mie zUt#g11LIqEyCYAH?|%Xsy@me|h?v|Prk z@4IrC|9r;3vP~kyzH3O%2A;~@%=##Qn9KM!9p1+H*L8R&%UARHleyeW8Lz%C+spR3 zLh-*Y8UM=s*D(Hl#^22NFyqyCcEcHe6XVr)c&eYSX1toWj%NM`7_a8TQyBjQB_2c8iUt-Zncix_WV zIqx(6vUeq;*y{|*e+u~!s`Hc27$4F3RfO?-bolQC9`lwltS6WICh+9X>U%<(*V6G5 z<9pMD2giL9XmM~D@*j&%pT5A89ChC^gZb&VFbJ>iccwA^M3%E%=U1mPeuqx~ThVdI z&b`>qU=zo1!H=k~!;fS+`*m_AF#eDZPr`Z{9}7f5DcZ8WY%p1@He1LU*tMRY(OSL0 zpP=d2sps|4Gz;`!SP(0x0sP0oK39AwC8&AqLV;IOyWw>P_`e$9>32nr>(1Vl+G>FR zzyRNFfd3Zw{-{@q&i+3!em{@1D(=xkfS&X@Uf`3oNA^e+F)WJXWX4~^9i6*}mTn*? zhxyh0WiHDpHsGIYfOi5<^%|h7S0UPw+AEiDq)%u0egip61wKg|#}kCxn12P!KcutI z?FMolHNd}UfPc#Xzt;f&ivgZ~KgPm3M}t2B-%~pdGr-e6<~{M3V&2sg{(QlY`NE!e6ps#A7XaxDg*h~8Q|%6bjTkzv`7hJ zA8;h^H{gGk`Mt(?RNloO!##VON7|79m!eXC;yD-#s!DK<9?a-SM3rI@>ysU2nl?Wrk;bJ&9s{g_#XxS z)TsO_xz&LGeFOX#2KWO4pQI&yAth&U0lygVAA<=%Px0Y6flt!j=J}GEm(qTzJ@JoV z{^ys;0x#rpM;Y+v0N+3UM6HdVmomFnY`}k^0X}GeUuuBA)d2sP0seUd{F}g&{^~m< zrT<3;{ND(ClIHkaa`NL{?MDOt_+zEtK3ymIS8xGI0XrrW{z zkM~MMi18l-Pw^p97gzTg$p6^@Z|c{x{-+w?&lLD1?E=0smy+Q_x=eel*p9 ze~tmZ&H&$NfT!Q*>#1F?H^ARxfM0Kb-(rA&+W`Ny0lrhd`3CsQ4e%`n_!|uHcNpNGG{A2*z<*$X|H1%&zyOb_zvxGM zbmQ!?2L1YE;K`rYZHr^eOK_S2|2YDmq@Bg{c7fApE2OyW`O^|0RN={{(A#_FEL-@%142L2KciL z@aGDAlBV8I=d!F~1OAH*@O}e)ivfNW@H9VE_Ec54!+?Jh4Bk^5d(?pcIRpHO2Kb!< zpQP1XCN)uhXo7oFyFa8GXLmFIYmZ9)iV34D^~=5bK$(+_=7H~P;4wu8N1suM5E#P+qs-3=o7N`ljTr%Zvw0Zq@pM!YnJq?b4M?xDC z_KeXY59l73OAB~|fq<<_^E+IAx6Mn??eW#40B7H~TnCBH;fdm4%CKxL^!p94uL3)KN3 z;Db^@huiLeaX}S2`kl4*I#;#kbyfo#Xx8lY)uiRy%8*0e{9AtqG0m4%WLo z_61ra8r9K&4EXEwG-^#w>>z-mJ7CsYf%>(Ms#Hds=t_XPb8n>|1# zsrT1;d;xnf;Mba{szJZ4)}b}IJhp1tZcV~~TD4tks<$n0)Vi9zbu}J$!0&a~{aTF= zWH$jj!~zFHU*iaP7Nbaui^{Q;Xh;3TgVYEWUC&2M)) zD}@W$s$kPDiXR#~s)a)2Z*VtT&=u&qhHQ@)3O3cj`TUy48>n>K>K!6sciH@Yw3)*% z>MZ;=;H+uZygrZD?GZ^~Dxbp(8)=>SEj1GXllQhDvlLx6PG1rKEUre&r~v z4a?H1gWgdw2o_ref5;E|{D>(PMTk&cZC;B2;jBhu*E{M_<(Rxpa4KJbT$5VB(G(EP z<`xcB6T`V6Dj+}#0#gjRq9z~|aFG`y?D@SmyTcza;qdhCJNYTK&dYcV{ij=jzogMuLY0t%f0XMMN8k>jHDfb&&W*4BI6m7?mEm0CrK z$Fm^loe@AFuI=VT(-e4u)Ttaz4ts+)rXZ+}NZHLi#Svg;>cQmU!o8#~Rn|D&PVka} zN=2lp$oIG#9KOH|VG9w0*_|sOX|~gixLbza29{>(P4Js)NVLV;9AgRU8><%ru)7+) z%C;Z|4`&KE>SIu%jnSwymWeng%hoK)YYgg2tSl}st*mya+Lo8*yF6}3 zxd@}EA({*$9gjd-Lro7|!V5O299xg+|J8bx#na$-)lPRMh3BsE#4qeKyOi4;gS|#= z+h}vq&`d2v_M2T=Y=?O$PFEB;U1*}h1_uU#8gRrakq_(S!3oHSE=R!8*<`noPALL#qsLcW4SUsN1oyGt7=Gcw9xv)u6DUA* znL@)O`TqfaSp5fY`5D=Xn4 zm4#CaC}Kbb(O3Zwa-)(orz{6+2|7->hf-Y@UjX%fr+*9wn#1Aqd151(^8OjJ`Dw8B z2AaDBjUGeI;rCSXTnaJ*p4f7lFver1g!-1+yxc2EPs}Z7E+@kgDxyXl5qV0jVm?4K zwXU*g&M)ejG1*UVhLB4W-FDIFt*!6{$`_S z6I)u5E9kG&nyMU_z(akEwK4R{$|}E~dw_^&r5w?eLBznz&Ia4&BT{uMgb`)32UF6D z8O?6HaH6jGKdsSCAy0M|&e-MDB09LMr5}o7*}XAI2p}d`+Upin*4Uig?LUT;x7Wui zAMn(ohln_avKsA;&gwv2O!dgNUXQpP;rSV9B*XBGV3i-kSr8+5m+Q#EtkLe*H*;6? z?{Y2*$Hk?phUjK)Os6Z#Y;Y>kv|7b1n;a^pVg}@>rk)h*X2R0sBKklM9V=Wl)k2mS zHE_S9MuGaOn86(ps$O+<>Vt(e;R*O>qFZ1@qi8}N<8$W)Fe}8op4=NACmeyap$JAb z;mMkCMkivj9Oub=GDVG40ta(BN}>xwWHq8HA`dgSls7CZyQNYK^A z;L)m!p>ouvT(Kblqq5iLgN-==VMe2mbd?SoRy3YIu-@Dgc=AwL>2g-tWxuPew>i5z zE#hDk>x%i2n#YQnomTC1;Fbm6O!F0*EPA`+=g2V{#XDX9qbM6=h9Y}0O#@`Sm)0#3 z@s6FX3_e4XM$$>E6jKH~dmbXF6L(0_vtpk9!&}5nHa%mYKudFEd3z~) z$P|aC-VyLMkejk)xuiX18P&~h2$c{;3kv3@ewvj=UsQsIyEPkS;FQ-DAc?S0MgYA@%McUY44+4|XojP% zvc`wmN+m+H)^(*xweltxj|kXmWq#ZS_%Kfs`Bj=^P=OF9l(W@4?NA5<8vV%-Wy^99 zleG-Hr@o#hL;oKfCqV|5EMV=PJjxPcVJ_npP|t_ebp{gA`B!p&1=AEG!(O`UJY3V0 zc2)i}oL|AgI{w(F@|so*`a$ertMaRTeHB#YW7(59^!m>L7EklK%2)gTDwx6#F0tH3 z=&AA#6w)+p4j`$l%2)dccR`hb`StqSfycK|UHYqic@?DZHRw?Kt8x_df<}A(s%y3H zuYyFUL$ANY;`h~&pf*wY)xN_D?%)@Is(e))ReyS4N%<$^q(kjvtf1QWnDSE|eg2z( zqbibq;wX!S4)%RXqkb*D)%vB2jSO-g#E|g3~ zW|F1quikqpc*qf(!4i9^4dU`Mb$FFu-~UNhI-;TSeMymj_wc$N>ri=3)mVm8)mz0c qEKBOrU2@95>HPiRM%7SEROKpO`p!w!UEv6Rb(7@e?$AZj=l@?hQFQ76 literal 0 HcmV?d00001 diff --git a/st.c b/st.c index 8e57991..3ba17bc 100644 --- a/st.c +++ b/st.c @@ -35,6 +35,7 @@ #define ESC_ARG_SIZ 16 #define STR_BUF_SIZ ESC_BUF_SIZ #define STR_ARG_SIZ ESC_ARG_SIZ +#define HISTSIZE 2000 /* macros */ #define IS_SET(flag) ((term.mode & (flag)) != 0) @@ -42,6 +43,9 @@ #define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) #define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) #define ISDELIM(u) (u && wcschr(worddelimiters, u)) +#define TLINE(y) ((y) < term.scr ? term.hist[((y) + term.histi - \ + term.scr + HISTSIZE + 1) % HISTSIZE] : \ + term.line[(y) - term.scr]) enum term_mode { MODE_WRAP = 1 << 0, @@ -115,6 +119,9 @@ typedef struct { int col; /* nb col */ Line *line; /* screen */ Line *alt; /* alternate screen */ + Line hist[HISTSIZE]; /* history buffer */ + int histi; /* history index */ + int scr; /* scroll back */ int *dirty; /* dirtyness of lines */ TCursor c; /* cursor */ int ocx; /* old cursor col */ @@ -185,8 +192,8 @@ static void tnewline(int); static void tputtab(int); static void tputc(Rune); static void treset(void); -static void tscrollup(int, int); -static void tscrolldown(int, int); +static void tscrollup(int, int, int); +static void tscrolldown(int, int, int); static void tsetattr(const int *, int); static void tsetchar(Rune, const Glyph *, int, int); static void tsetdirt(int, int); @@ -409,10 +416,10 @@ tlinelen(int y) { int i = term.col; - if (term.line[y][i - 1].mode & ATTR_WRAP) + if (TLINE(y)[i - 1].mode & ATTR_WRAP) return i; - while (i > 0 && term.line[y][i - 1].u == ' ') + while (i > 0 && TLINE(y)[i - 1].u == ' ') --i; return i; @@ -521,7 +528,7 @@ selsnap(int *x, int *y, int direction) * Snap around if the word wraps around at the end or * beginning of a line. */ - prevgp = &term.line[*y][*x]; + prevgp = &TLINE(*y)[*x]; prevdelim = ISDELIM(prevgp->u); for (;;) { newx = *x + direction; @@ -536,14 +543,14 @@ selsnap(int *x, int *y, int direction) yt = *y, xt = *x; else yt = newy, xt = newx; - if (!(term.line[yt][xt].mode & ATTR_WRAP)) + if (!(TLINE(yt)[xt].mode & ATTR_WRAP)) break; } if (newx >= tlinelen(newy)) break; - gp = &term.line[newy][newx]; + gp = &TLINE(newy)[newx]; delim = ISDELIM(gp->u); if (!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim || (delim && gp->u != prevgp->u))) @@ -564,14 +571,14 @@ selsnap(int *x, int *y, int direction) *x = (direction < 0) ? 0 : term.col - 1; if (direction < 0) { for (; *y > 0; *y += direction) { - if (!(term.line[*y-1][term.col-1].mode + if (!(TLINE(*y-1)[term.col-1].mode & ATTR_WRAP)) { break; } } } else if (direction > 0) { for (; *y < term.row-1; *y += direction) { - if (!(term.line[*y][term.col-1].mode + if (!(TLINE(*y)[term.col-1].mode & ATTR_WRAP)) { break; } @@ -602,13 +609,13 @@ getsel(void) } if (sel.type == SEL_RECTANGULAR) { - gp = &term.line[y][sel.nb.x]; + gp = &TLINE(y)[sel.nb.x]; lastx = sel.ne.x; } else { - gp = &term.line[y][sel.nb.y == y ? sel.nb.x : 0]; + gp = &TLINE(y)[sel.nb.y == y ? sel.nb.x : 0]; lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1; } - last = &term.line[y][MIN(lastx, linelen-1)]; + last = &TLINE(y)[MIN(lastx, linelen-1)]; while (last >= gp && last->u == ' ') --last; @@ -844,6 +851,9 @@ void ttywrite(const char *s, size_t n, int may_echo) { const char *next; + Arg arg = (Arg) { .i = term.scr }; + + kscrolldown(&arg); if (may_echo && IS_SET(MODE_ECHO)) twrite(s, n, 1); @@ -1055,13 +1065,53 @@ tswapscreen(void) } void -tscrolldown(int orig, int n) +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(); + } +} + +void +kscrollup(const Arg* a) +{ + int n = a->i; + + if (n < 0) + n = term.row + n; + + if (term.scr <= HISTSIZE-n) { + term.scr += n; + selscroll(0, n); + tfulldirt(); + } +} + +void +tscrolldown(int orig, int n, int copyhist) { int i; Line temp; LIMIT(n, 0, term.bot-orig+1); + if (copyhist) { + term.histi = (term.histi - 1 + HISTSIZE) % HISTSIZE; + temp = term.hist[term.histi]; + term.hist[term.histi] = term.line[term.bot]; + term.line[term.bot] = temp; + } + tsetdirt(orig, term.bot-n); tclearregion(0, term.bot-n+1, term.col-1, term.bot); @@ -1071,17 +1121,28 @@ tscrolldown(int orig, int n) term.line[i-n] = temp; } - selscroll(orig, n); + if (term.scr == 0) + selscroll(orig, n); } void -tscrollup(int orig, int n) +tscrollup(int orig, int n, int copyhist) { int i; Line temp; LIMIT(n, 0, term.bot-orig+1); + if (copyhist) { + term.histi = (term.histi + 1) % HISTSIZE; + temp = term.hist[term.histi]; + term.hist[term.histi] = term.line[orig]; + term.line[orig] = temp; + } + + if (term.scr > 0 && term.scr < HISTSIZE) + term.scr = MIN(term.scr + n, HISTSIZE-1); + tclearregion(0, orig, term.col-1, orig+n-1); tsetdirt(orig+n, term.bot); @@ -1091,7 +1152,8 @@ tscrollup(int orig, int n) term.line[i+n] = temp; } - selscroll(orig, -n); + if (term.scr == 0) + selscroll(orig, -n); } void @@ -1120,7 +1182,7 @@ tnewline(int first_col) int y = term.c.y; if (y == term.bot) { - tscrollup(term.top, 1); + tscrollup(term.top, 1, 1); } else { y++; } @@ -1288,14 +1350,14 @@ void tinsertblankline(int n) { if (BETWEEN(term.c.y, term.top, term.bot)) - tscrolldown(term.c.y, n); + tscrolldown(term.c.y, n, 0); } void tdeleteline(int n) { if (BETWEEN(term.c.y, term.top, term.bot)) - tscrollup(term.c.y, n); + tscrollup(term.c.y, n, 0); } int32_t @@ -1739,11 +1801,11 @@ csihandle(void) case 'S': /* SU -- Scroll line up */ if (csiescseq.priv) break; DEFAULT(csiescseq.arg[0], 1); - tscrollup(term.top, csiescseq.arg[0]); + tscrollup(term.top, csiescseq.arg[0], 0); break; case 'T': /* SD -- Scroll line down */ DEFAULT(csiescseq.arg[0], 1); - tscrolldown(term.top, csiescseq.arg[0]); + tscrolldown(term.top, csiescseq.arg[0], 0); break; case 'L': /* IL -- Insert blank lines */ DEFAULT(csiescseq.arg[0], 1); @@ -2332,7 +2394,7 @@ eschandle(uchar ascii) return 0; case 'D': /* IND -- Linefeed */ if (term.c.y == term.bot) { - tscrollup(term.top, 1); + tscrollup(term.top, 1, 1); } else { tmoveto(term.c.x, term.c.y+1); } @@ -2345,7 +2407,7 @@ eschandle(uchar ascii) break; case 'M': /* RI -- Reverse index */ if (term.c.y == term.top) { - tscrolldown(term.top, 1); + tscrolldown(term.top, 1, 1); } else { tmoveto(term.c.x, term.c.y-1); } @@ -2568,7 +2630,7 @@ twrite(const char *buf, int buflen, int show_ctrl) void tresize(int col, int row) { - int i; + int i, j; int minrow = MIN(row, term.row); int mincol = MIN(col, term.col); int *bp; @@ -2605,6 +2667,14 @@ tresize(int col, int row) term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty)); term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs)); + for (i = 0; i < HISTSIZE; i++) { + term.hist[i] = xrealloc(term.hist[i], col * sizeof(Glyph)); + for (j = mincol; j < col; j++) { + term.hist[i][j] = term.c.attr; + term.hist[i][j].u = ' '; + } + } + /* resize each row to new width, zero-pad if needed */ for (i = 0; i < minrow; i++) { term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph)); @@ -2663,7 +2733,7 @@ drawregion(int x1, int y1, int x2, int y2) continue; term.dirty[y] = 0; - xdrawline(term.line[y], x1, y, x2); + xdrawline(TLINE(y), x1, y, x2); } } @@ -2684,8 +2754,9 @@ draw(void) cx--; drawregion(0, 0, term.col, term.row); - xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], - term.ocx, term.ocy, term.line[term.ocy][term.ocx]); + if (term.scr == 0) + xdrawcursor(cx, term.c.y, term.line[term.c.y][cx], + term.ocx, term.ocy, term.line[term.ocy][term.ocx]); term.ocx = cx; term.ocy = term.c.y; xfinishdraw(); diff --git a/st.h b/st.h index fd3b0d8..818a6f8 100644 --- a/st.h +++ b/st.h @@ -81,6 +81,8 @@ void die(const char *, ...); void redraw(void); void draw(void); +void kscrolldown(const Arg *); +void kscrollup(const Arg *); void printscreen(const Arg *); void printsel(const Arg *); void sendbreak(const Arg *); diff --git a/st.o b/st.o new file mode 100644 index 0000000000000000000000000000000000000000..144d3193f9cf2d4bf1b04eddea94834e96d9284d GIT binary patch literal 81864 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%0D=dqw808Ze?7_?_pf|;b+E`AKFpHs_a+#GZ|NU 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 F{}&7TdFTKD literal 0 HcmV?d00001 diff --git a/x.o b/x.o new file mode 100644 index 0000000000000000000000000000000000000000..43fa18e013cc360f28c73caaf584c6bca9df5e85 GIT binary patch literal 75704 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≺x)aq<+?mqGr{ol=a0SA89% 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 literal 0 HcmV?d00001 From 40a681d588c92de5eadc05a240ae86d3c7e4c8bb Mon Sep 17 00:00:00 2001 From: Remi Akirazar Date: Tue, 25 Nov 2025 19:23:25 -0500 Subject: [PATCH 2/3] added basic gitignore file to remove bin files --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1530978 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.o \ No newline at end of file From 847d3a991b005a24125e038b1e972f9cb079fb90 Mon Sep 17 00:00:00 2001 From: Remi Akirazar Date: Tue, 25 Nov 2025 19:24:52 -0500 Subject: [PATCH 3/3] removed binaries --- st.o | Bin 81864 -> 0 bytes x.o | Bin 75704 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 st.o delete mode 100644 x.o diff --git a/st.o b/st.o deleted file mode 100644 index 144d3193f9cf2d4bf1b04eddea94834e96d9284d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81864 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%0D=dqw808Ze?7_?_pf|;b+E`AKFpHs_a+#GZ|NU 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 F{}&7TdFTKD diff --git a/x.o b/x.o deleted file mode 100644 index 43fa18e013cc360f28c73caaf584c6bca9df5e85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75704 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≺x)aq<+?mqGr{ol=a0SA89% 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