Maxime Coste
b841f3a214
Remove terminal_wheel_up/down_button UI option
...
It seems nobody uses it, and it is not plugged through anyway.
Closes #2642
2021-09-02 20:46:35 +10:00
Maxime Coste
73da47258d
Reduce memory usage and allocations in terminal output code
...
Store data in unique_ptr instead of vectors as we have fixed sizes
Do not allocate new hashes, recompute them on-demand
2021-08-05 11:52:37 +10:00
Maxime Coste
1b7616b3fc
Use a BufferedWriter to output in the terminal ui instead of stdio
...
Clearer control of buffering and flushing
2021-08-01 20:07:20 +10:00
Maxime Coste
428ddeb97b
Add 'terminal_synchronized' ui_option to opt-in synchronized output
...
Synchronized output does not work well with various terminals
(including the linux console). It should also be unnecessary when
not going through a slow link.
This will eventually be removed if it is not proven to be useful
to some users.
2021-07-12 10:25:59 +10:00
Maxime Coste
b0dcb07540
Reduce amount of SGR escapes emitted by tracking the active face
2021-07-12 10:25:58 +10:00
Maxime Coste
8e1b79b1b7
Remove the concept of cursor in TerminalUI::Window
2021-07-12 10:25:58 +10:00
Maxime Coste
9e8f555a82
Only redraw updated lines
2021-07-12 10:25:58 +10:00
Maxime Coste
07750656a8
Blit all window together before outputing them to the tty
...
This should reduce flicker, by avoiding transient states where
info/menu windows are not displayed, and paves the way for proper
diffing of the screen.
2021-07-12 10:25:58 +10:00
Maxime Coste
7e66846172
Rename NCursesUI to TerminalUI
2021-07-12 10:25:58 +10:00