A fast, lightweight and minimalistic Wayland terminal emulator
Find a file
Daniel Eklöf f87d4f856a
main: mitigate screen flashes on slow client
If a client writes to the PTY "too slow", we often end up flashing the
screen. This could for example be caused by a client first erasing a
line, then we render that frame, followed by the client updating the
just-erased line. When we render _that_ frame, it will be perceived as
a flash.

Mitigate this by trying to read client data again, after finishing
processing one batch, but before rendering.

To avoid hanging on client output (and never rendering anything),
limit this to at most 3 iterations. This may have to be tweaked.
2019-07-03 15:16:38 +02:00
.gitignore initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
csi.c csi: recognize 'smam', but log unimplemented 2019-07-03 14:47:34 +02:00
csi.h wip: vt parsing: initial csi/osc dispatching 2019-06-15 22:22:44 +02:00
font.c initial grid implementation 2019-06-13 16:24:35 +02:00
font.h initial grid implementation 2019-06-13 16:24:35 +02:00
grid.c scrolling: initial reverse scrolling support - no scroll regions 2019-07-03 10:45:49 +02:00
grid.h scrolling: initial reverse scrolling support - no scroll regions 2019-07-03 10:45:49 +02:00
input.c vt: implement DECCKM (cursor key sends either SS3 or CSI escapes) 2019-06-23 14:12:20 +02:00
input.h wip: initial input handling 2019-06-19 10:04:47 +02:00
LICENSE add license 2019-06-12 20:10:12 +02:00
log.c log: don't syslog 2019-06-29 20:48:02 +02:00
log.h initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
main.c main: mitigate screen flashes on slow client 2019-07-03 15:16:38 +02:00
meson.build Rename grid_* functions to term_* 2019-06-29 21:03:28 +02:00
osc.c wip: vt parsing: initial csi/osc dispatching 2019-06-15 22:22:44 +02:00
osc.h wip: vt parsing: initial csi/osc dispatching 2019-06-15 22:22:44 +02:00
shm.c shm: width/height must match 2019-06-12 20:17:35 +02:00
shm.h initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
slave.c slave: remove initial debug code 2019-06-29 20:49:35 +02:00
slave.h Set up pseudo terminal and fork slave 2019-06-13 15:19:10 +02:00
terminal.c scrolling: initial implementation of scrolling region when reverse scrolling 2019-07-03 14:16:01 +02:00
terminal.h csi: implement 'civis' (show/hide cursor) 2019-07-03 14:14:46 +02:00
tllist.h initial commit: maps an XDG toplevel window 2019-06-12 20:08:54 +02:00
vt.c term: "cache" pointer to current line 2019-07-02 22:18:25 +02:00
vt.h wip: vt parsing: initial csi/osc dispatching 2019-06-15 22:22:44 +02:00