From b77fb11b7664b82cefcaaa21a7f4b0faa48775b0 Mon Sep 17 00:00:00 2001 From: Bakkeby Date: Fri, 6 Dec 2024 23:06:38 +0100 Subject: [PATCH] Clear screen: Fix edge case With sequence \e[1J, if cursor is on second line, clear the first line. ref. https://git.suckless.org/st/commit/6009e6e25bdff9548f085e9ae562b1ca305d3a0b.html --- README.md | 2 +- st.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 031778d..3710d13 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Similar to [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) this st 0.9.2 (a0274bc, 2024-08-09) 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.2 (6009e6e, 2024-11-25) 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 index 69a6ea5..5efe122 100644 --- a/st.c +++ b/st.c @@ -2197,11 +2197,11 @@ csihandle(void) break; case 1: /* above */ #if REFLOW_PATCH - if (term.c.y >= 1) + if (term.c.y > 0) tclearregion(0, 0, term.col-1, term.c.y-1, 1); tclearregion(0, term.c.y, term.c.x, term.c.y, 1); #else - if (term.c.y > 1) + if (term.c.y > 0) tclearregion(0, 0, maxcol-1, term.c.y-1); tclearregion(0, term.c.y, term.c.x, term.c.y); #endif // REFLOW_PATCH