aboutsummaryrefslogtreecommitdiff
path: root/ui-terminal.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-terminal.c')
-rw-r--r--ui-terminal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ui-terminal.c b/ui-terminal.c
index f3b9f04..27afb26 100644
--- a/ui-terminal.c
+++ b/ui-terminal.c
@@ -48,6 +48,7 @@ typedef struct {
CellStyle *styles; /* each window has UI_STYLE_MAX different style definitions */
size_t cells_size; /* #bytes allocated for 2D grid (grows only) */
Cell *cells; /* 2D grid of cells, at least as large as current terminal size */
+ bool doupdate; /* Whether to update the screen after refreshing contents */
} UiTerm;
struct UiTermWin {
@@ -347,6 +348,11 @@ static void ui_arrange(Ui *ui, enum UiLayout layout) {
}
}
+static void ui_doupdates(Ui *ui, bool doupdate) {
+ UiTerm *tui = (UiTerm*)ui;
+ tui->doupdate = doupdate;
+}
+
static void ui_draw(Ui *ui) {
debug("ui-draw\n");
UiTerm *tui = (UiTerm*)ui;
@@ -684,6 +690,7 @@ Ui *ui_term_new(void) {
}
tui->styles_size = styles_size;
tui->styles = styles;
+ tui->doupdate = true;
Ui *ui = (Ui*)tui;
*ui = (Ui) {
.init = ui_init,
@@ -699,6 +706,7 @@ Ui *ui_term_new(void) {
.draw = ui_draw,
.redraw = ui_redraw,
.arrange = ui_arrange,
+ .doupdates = ui_doupdates,
.die = ui_die,
.info = ui_info,
.info_hide = ui_info_hide,