summary refs log tree commit diff
diff options
context:
space:
mode:
authorCurtis McEnroe2018-08-07 22:19:45 -0400
committerCurtis McEnroe2018-08-07 22:19:45 -0400
commitee49c3665523f89262d39bccf50e2c1f5b9c2e91 (patch)
treeeede077f9580cbd62206decf9ace4fa729379ca8
parent41e7105fecdb3516a1711003ba3fccdf9d3cfd3d (diff)
Mark log when scrolling up
-rw-r--r--ui.c10
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) {