summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ui.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/ui.c b/ui.c
index cdb2883..6fe7061 100644
--- a/ui.c
+++ b/ui.c
@@ -519,6 +519,11 @@ static void windowScroll(struct Window *window, int n) {
 	unmark(window);
 }
 
+static void windowScrollPage(struct Window *window, int n) {
+	// -1 for split marker, -1 for line of overlap.
+	windowScroll(window, n * (PAGE_LINES - SplitLines - 2));
+}
+
 static void windowScrollUnread(struct Window *window) {
 	window->scroll = 0;
 	windowScroll(window, window->unreadSoft - PAGE_LINES + 1);
@@ -931,7 +936,7 @@ static void keyCode(int code) {
 		break; case KeyMetaM: waddch(window->pad, '\n');
 		break; case KeyMetaQ: edit(id, EditCollapse, 0);
 		break; case KeyMetaU: windowScrollUnread(window);
-		break; case KeyMetaV: windowScroll(window, +(PAGE_LINES - 2));
+		break; case KeyMetaV: windowScrollPage(window, +1);
 
 		break; case KEY_BACKSPACE: edit(id, EditDeletePrev, 0);
 		break; case KEY_DC: edit(id, EditDeleteNext, 0);
@@ -940,8 +945,8 @@ static void keyCode(int code) {
 		break; case KEY_ENTER: edit(id, EditEnter, 0);
 		break; case KEY_HOME: edit(id, EditHead, 0);
 		break; case KEY_LEFT: edit(id, EditPrev, 0);
-		break; case KEY_NPAGE: windowScroll(window, -(PAGE_LINES - 2));
-		break; case KEY_PPAGE: windowScroll(window, +(PAGE_LINES - 2));
+		break; case KEY_NPAGE: windowScrollPage(window, -1);
+		break; case KEY_PPAGE: windowScrollPage(window, +1);
 		break; case KEY_RIGHT: edit(id, EditNext, 0);
 		break; case KEY_SEND: windowScroll(window, -WindowLines);
 		break; case KEY_SHOME: windowScroll(window, +WindowLines);
@@ -969,7 +974,7 @@ static void keyCtrl(wchar_t ch) {
 		break; case L'P': uiShowNum(windows.show - 1);
 		break; case L'T': edit(id, EditTranspose, 0);
 		break; case L'U': edit(id, EditDeleteHead, 0);
-		break; case L'V': windowScroll(window, -(PAGE_LINES - 2));
+		break; case L'V': windowScrollPage(window, -1);
 		break; case L'W': edit(id, EditDeletePrevWord, 0);
 		break; case L'X': edit(id, EditExpand, 0);
 		break; case L'Y': edit(id, EditPaste, 0);
252a1bc2da5&follow=1'>Add The Stone SkyJune McEnroe 2020-03-08Publish "How I Relay Chat"June McEnroe 2020-03-03Don't use $ inside $(())June McEnroe 2020-03-03Remove setoptJune McEnroe 2020-03-03Use getopts in shell scriptsJune McEnroe 2020-02-27Style %T outside of Rs in italicJune McEnroe 2020-02-26Add Fierce Femmes and Notorious LiarsJune McEnroe 2020-02-23Add This Is How You Lose the Time WarJune McEnroe 2020-02-22Add See Ya LaterJune McEnroe 2020-02-20Remove wiki scriptJune McEnroe 2020-02-19Add The Obelisk GateJune McEnroe 2020-02-17Add Four Tet — HandsJune McEnroe 2020-02-12Simplify macOS notify-sendJune McEnroe 2020-02-12Add imbox and notemap to pageJune McEnroe 2020-02-12Collapse simple linksJune McEnroe 2020-02-12Move catgirl up the pageJune McEnroe 2020-02-12Update catgirl pty grabJune McEnroe 2020-02-12Link to cgit /about pages where appropriateJune McEnroe 2020-02-11Separate LINKS from BINS for html to workJune McEnroe 2020-02-11Add margin to Bl-bullet itemsJune McEnroe 2020-02-10Match URLs inside parens or with paired parens insideJune McEnroe 2020-02-10Duplicate effective URL before passing it back to curlJune McEnroe 2020-02-09Add To Be Taught, If FortunateJune McEnroe 2020-02-04Add The Future of Another TimelineJune McEnroe 2020-01-31Reorganize the Makefile for the umpteenth timeJune McEnroe 2020-01-28Change scout sensitivity to 1.4June McEnroe 2020-01-28Import shows.txtJune McEnroe