mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
A fast, lightweight and minimalistic Wayland terminal emulator
Vim, for example, changes the scroll region every time you scroll a single line. Thus, resetting the damage queue is slow. This reworks the damage handling of scroll updates: * Split damage queue into two: one for scroll operations and one for update/erase operations. * Don't separate update/erase operations inside/outside the scroll region * Store the current scroll region in the scroll damage operation. This allows us to stack multiple scroll operations with different scroll regions. * When updating update/erase operations after a scroll operation, split the update/erase operations if necessary (the current scroll operation may have a scroll region different from before, thus forcing us to split existing update/erase operations. * The renderer no longer erases after a scroll. The scroll operation also adds an erase operation. This also means that erase operation are subject to adjustments by later scroll operations. |
||
|---|---|---|
| .gitignore | ||
| csi.c | ||
| csi.h | ||
| font.c | ||
| font.h | ||
| grid.c | ||
| grid.h | ||
| input.c | ||
| input.h | ||
| LICENSE | ||
| log.c | ||
| log.h | ||
| main.c | ||
| meson.build | ||
| osc.c | ||
| osc.h | ||
| shm.c | ||
| shm.h | ||
| slave.c | ||
| slave.h | ||
| terminal.h | ||
| tllist.h | ||
| vt.c | ||
| vt.h | ||