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
This optimizes the normal scrolling case; updates are done at the bottom of the screen and then scrolled up. In this case, the damage list will be a more or less sorted list of updates, oldest first. If we're scrolling a lot, the oldest updates will eventually scroll off screen. In this case, there's no need to keep them in the damage list. So, when scrolling, loop the damage list and adjust/remove updates that have scrolled off screen (either partially, or completely). Stop looping as soon as we see an update that has *not* scrolled off screen. Note that this means there may be update items in the damage list that *has* scrolled off screen. This is especially true for random screen writes (i.e. typical to some synthetic benchmarks). |
||
|---|---|---|
| .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.c | ||
| terminal.h | ||
| tllist.h | ||
| vt.c | ||
| vt.h | ||