summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-01-29 23:32:47 -0500
committerJune McEnroe <june@causal.agency>2021-01-29 23:32:47 -0500
commitbeeddcb11f3b351cc677346a97a9b387e352ea12 (patch)
treee98ff90b30b1c4e5e5e602ba02c36a12b1b4287e
parentOnly skip setting swap in windowShow (diff)
downloadcatgirl-beeddcb11f3b351cc677346a97a9b387e352ea12.tar.gz
catgirl-beeddcb11f3b351cc677346a97a9b387e352ea12.zip
Actually scroll to first line for "scroll to top"
-rw-r--r--ui.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ui.c b/ui.c
index c2c848f..f44073a 100644
--- a/ui.c
+++ b/ui.c
@@ -826,6 +826,14 @@ static void scrollPage(struct Window *window, int n) {
 	windowScroll(window, n * (MAIN_LINES - SplitLines - MarkerLines - 1));
 }
 
+static void scrollTop(struct Window *window) {
+	for (size_t i = 0; i < BufferCap; ++i) {
+		if (!bufferHard(window->buffer, i)) continue;
+		scrollTo(window, BufferCap - i);
+		break;
+	}
+}
+
 static void scrollHot(struct Window *window, int dir) {
 	for (size_t i = windowTop(window) + dir; i < BufferCap; i += dir) {
 		const struct Line *line = bufferHard(window->buffer, i);
@@ -910,7 +918,7 @@ static void keyCode(int code) {
 		break; case KeyMetaSlash: windowShow(windows.swap);
 
 		break; case KeyMetaGt: scrollTo(window, 0);
-		break; case KeyMetaLt: scrollTo(window, BufferCap);
+		break; case KeyMetaLt: scrollTop(window);
 
 		break; case KeyMeta0 ... KeyMeta9: uiShowNum(code - KeyMeta0);
 		break; case KeyMetaA: showAuto();
3bd008bc385c32c2373d6696f425ce25e7&follow=1'>build: Add OpenSSL includes to libcompatJune McEnroe 2020-12-15Import LibreSSL 3.3.1June McEnroe 2020-11-24Import LibreSSL 3.3.0June McEnroe 2020-10-22Import LibreSSL 3.2.2June McEnroe 2020-09-29Import LibreSSL 3.2.1June McEnroe 2020-09-29import: Add m4/ax_add_fortify_source.m4June McEnroe 2020-08-05build: Add README.7 to EXTRA_DIST 3.2.0June McEnroe 2020-08-03doc: Indicate that only OpenSSL 1.1.1b and newer workJune McEnroe