aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt.patches.md
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-19 14:47:18 +0300
committerGitHub <noreply@github.com>2026-09-19 14:47:18 +0300
commitcc7c696cd0772e466da403eb4e3f00f4e8d8ae1e (patch)
treed8325f7f2fb1ac53613ae56e8215042e6d497dd9 /vendor/libghostty-vt.patches.md
parent3f2a6e743f67bc947cfa06be25df106d00b9ee11 (diff)
feat: add configurable pane screen and scrollback clearing (#4383)
Diffstat (limited to 'vendor/libghostty-vt.patches.md')
-rw-r--r--vendor/libghostty-vt.patches.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/libghostty-vt.patches.md b/vendor/libghostty-vt.patches.md
index 10596292..cd7f44f6 100644
--- a/vendor/libghostty-vt.patches.md
+++ b/vendor/libghostty-vt.patches.md
@@ -132,3 +132,41 @@ just test-one link_activation
just test-one ctrl_click
just check
```
+
+## 0006 clear screen while preserving the cursor line
+
+status: active
+
+patch: `vendor/patches/libghostty-vt/0006-clear-screen-preserving-cursor-line.patch`
+
+herdr issue: none; requested in https://github.com/herdrdev/herdr/discussions/545
+
+upstream discussion: not opened
+
+upstream pr: not opened
+
+vendored base: `44f2a44df7e8c4a0c6df3f7d872ef3d7ead88e51`
+
+local files:
+
+- `vendor/libghostty-vt/include/ghostty/vt/terminal.h`
+- `vendor/libghostty-vt/src/lib_vt.zig`
+- `vendor/libghostty-vt/src/terminal/c/main.zig`
+- `vendor/libghostty-vt/src/terminal/c/terminal.zig`
+
+reason: Herdr needs an explicit screen/history clear that preserves the cursor's
+visible soft-wrapped line without writing to the child or interrupting a partial
+VT sequence. The new C function operates directly on the screen, leaves alternate
+screens untouched, clears image placements, and marks the result dirty.
+
+remove when: the vendored C API provides an equivalent parser-independent clear
+operation preserving the visible cursor line, and Herdr passes the checks below
+using it without this patch.
+
+verification:
+
+```sh
+just test-one clear_pane
+just maintenance-test
+just check
+```