diff options
| author | cashmere <cashmere@autistici.org> | 2026-03-29 06:50:25 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-03-29 06:50:25 +0200 |
| commit | 09b88bbf00bf4019ea71a893061d7f8edbf5d39f (patch) | |
| tree | 661f743230a45163cd835037ca2451f55fac6f55 /docs | |
| parent | 223715054f5e0d0475e485d903139deaab4fa304 (diff) | |
| download | kitty-graphics-09b88bbf00bf4019ea71a893061d7f8edbf5d39f.tar.gz | |
feat: emit OSC 66 for heading overlays
Add the OSC 66 emission pipeline (Step 5 of incremental plan):
- kitty-gfx--place-heading: emits \e]66;s=S:n=N:d=D;TEXT\a with
SGR bold + 24-bit foreground color at cached terminal position
- kitty-gfx--erase-heading: erases multicell blocks by writing
spaces at the topmost row (overwrite Rules 2-3)
- kitty-gfx--refresh-heading-overlay: phase 1 computes position,
erases on move/hide, caches new position (no emission)
- kitty-gfx--emit-heading-overlays: phase 2 walks all buffers,
emits OSC 66 for visible heading overlays after all posn-at-point
queries complete (prevents redraw-induced multicell destruction)
Two-phase refresh in kitty-gfx--refresh: phase 1 (walk-windows)
does position queries and image placements, phase 2 (after loop)
emits all heading OSC 66 sequences. Both phases run inside
synchronized output (BSU/ESU) to prevent flicker.
Also adds org-mode integration hooks (heading-modified debounce,
org-mode-hook for auto-apply, heading scan/remove commands) and
self-tests for place-heading and erase-heading in dry-run mode.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions
