st-flexipatch

My st-flexipatch configuration
git clone git://git.ethandl.dev/st-flexipatch
Log | Files | Refs | README | LICENSE

commit 74f19eafe9ab32bd58f4fdabf947fb5a7587d5c8
parent 76cb5801f6b94a56dc144fe8d00b9282fa32a43e
Author: Bakkeby <bakkeby@gmail.com>
Date:   Mon, 19 Feb 2024 09:09:08 +0100

csi: check for private marker in 'S' case

The handler for 'S' final character does not check for a private
marker. This can cause a conflict with a sequence called 'XTSMGRAPHICS'
which also has an 'S' final character, but uses the private marker '?'.
Without checking for a private marker, st will perform a scroll up
operation when XTSMGRAPHICS is seen, which can cause unexpected display
artifacts.

ref.
https://git.suckless.org/st/commit/a3f7420310be0fd778ef9fe2abf20edc2d8dc81a.html

Diffstat:
MREADME.md | 2+-
Mst.c | 2++
2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md @@ -1,4 +1,4 @@ -Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this st 0.9 (9846a56, 2023-10-07) project has a different take on st patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more. +Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this st 0.9 (a3f74203, 2024-02-18) project has a different take on st patching. It uses preprocessor directives to decide whether or not to include a patch during build time. Essentially this means that this build, for better or worse, contains both the patched _and_ the original code. The aim being that you can select which patches to include and the build will contain that code and nothing more. For example to include the `alpha` patch then you would only need to flip this setting from 0 to 1 in [patches.h](https://github.com/bakkeby/st-flexipatch/blob/master/patches.def.h): ```c diff --git a/st.c b/st.c @@ -2322,6 +2322,8 @@ csihandle(void) } break; case 'S': /* SU -- Scroll <n> line up */ + if (csiescseq.priv) + break; DEFAULT(csiescseq.arg[0], 1); #if SIXEL_PATCH && SCROLLBACK_PATCH tscrollup(term.top, csiescseq.arg[0], 1);