diff options
author | Curtis McEnroe | 2018-08-07 22:19:45 -0400 |
---|---|---|
committer | Curtis McEnroe | 2018-08-07 22:19:45 -0400 |
commit | ee49c3665523f89262d39bccf50e2c1f5b9c2e91 (patch) | |
tree | eede077f9580cbd62206decf9ace4fa729379ca8 | |
parent | 41e7105fecdb3516a1711003ba3fccdf9d3cfd3d (diff) |
Mark log when scrolling up
-rw-r--r-- | ui.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ui.c b/ui.c index 590bfb4..7bcd461 100644 --- a/ui.c +++ b/ui.c @@ -103,7 +103,7 @@ void uiInit(void) { ui.topic = newpad(2, TOPIC_COLS); mvwhline(ui.topic, 1, 0, ACS_HLINE, TOPIC_COLS); - ui.log = newpad(LOG_LINES, COLS); + ui.log = newpad(LOG_LINES, COLS + 1); wsetscrreg(ui.log, 0, LOG_LINES - 1); scrollok(ui.log, true); wmove(ui.log, LOG_LINES - logHeight() - 1, 0); @@ -293,8 +293,16 @@ void uiFmt(const wchar_t *format, ...) { free(buf); } +static void logMark(void) { + int y, _; + getyx(ui.log, y, _); + mvwvline(ui.log, 0, lastCol(), ' ', LOG_LINES); + mvwaddch(ui.log, y, lastCol(), COLOR_PAIR(1 + COLOR_RED) | '_'); +} + static void logUp(void) { if (ui.scroll == logHeight()) return; + if (ui.scroll == LOG_LINES) logMark(); ui.scroll = MAX(ui.scroll - logHeight() / 2, logHeight()); } static void logDown(void) { |