about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--catgirl.14
-rw-r--r--ui.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/catgirl.1 b/catgirl.1
index 623c314..37bf4a0 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -449,6 +449,10 @@ Scroll down a page.
 Toggle visibility of filtered messages.
 .It Ic M-/
 Switch to previously selected window.
+.It Ic M-<
+Scroll to top.
+.It Ic M->
+Scroll to bottom.
 .It Ic M-a
 Cycle through unread windows.
 .It Ic M-l
diff --git a/ui.c b/ui.c
index 1ff34fd..903149d 100644
--- a/ui.c
+++ b/ui.c
@@ -215,6 +215,8 @@ static short colorPair(short fg, short bg) {
 	X(KeyMetaU, "\33u", NULL) \
 	X(KeyMetaV, "\33v", NULL) \
 	X(KeyMetaEnter, "\33\r", "\33\n") \
+	X(KeyMetaGt, "\33>", "\33.") \
+	X(KeyMetaLt, "\33<", "\33,") \
 	X(KeyMetaMinus, "\33-", "\33_") \
 	X(KeyMetaSlash, "\33/", NULL) \
 	X(KeyFocusIn, "\33[I", NULL) \
@@ -904,6 +906,9 @@ static void keyCode(int code) {
 		break; case KeyMetaMinus: window->ignore ^= true; reflow(window);
 		break; case KeyMetaSlash: windowShow(windows.swap);
 
+		break; case KeyMetaGt: windowScroll(window, -WindowLines);
+		break; case KeyMetaLt: windowScroll(window, +WindowLines);
+
 		break; case KeyMeta0 ... KeyMeta9: uiShowNum(code - KeyMeta0);
 		break; case KeyMetaA: showAuto();
 		break; case KeyMetaB: edit(id, EditPrevWord, 0);
@@ -925,6 +930,8 @@ static void keyCode(int code) {
 		break; case KEY_NPAGE: windowScroll(window, -(PAGE_LINES - 2));
 		break; case KEY_PPAGE: windowScroll(window, +(PAGE_LINES - 2));
 		break; case KEY_RIGHT: edit(id, EditNext, 0);
+		break; case KEY_SEND: windowScroll(window, -WindowLines);
+		break; case KEY_SHOME: windowScroll(window, +WindowLines);
 		break; case KEY_UP: windowScroll(window, +1);
 	}
 }
> 2018-08-07Convert input to multibyte before handlingJune McEnroe 2018-08-07Populate tab-complete listJune McEnroe 2018-08-07Fix /me formatting side-effectsJune McEnroe 2018-08-07Define ui.c BUF_LEN with enumJune McEnroe 2018-08-07Hack clang into checking uiFmt format stringsJune McEnroe 2018-08-07Handle PART and QUIT without messagesJune McEnroe 2018-08-07Make safe filling the who bufferJune McEnroe 2018-08-07Add reverse and reset IRC formatting codesJune McEnroe 2018-08-06Rewrite line editing again, add formattingJune McEnroe 2018-08-06Fix allocation size in vaswprintfJune McEnroe 2018-08-06Implement word wrappingJune McEnroe 2018-08-06Use wchar_t strings for all of UIJune McEnroe 2018-08-06Rename line editing functionsJune McEnroe 2018-08-05Initialize all possible color pairsJune McEnroe 2018-08-05Refactor color initializationJune McEnroe 2018-08-05Add ^L redrawJune McEnroe 2018-08-05Use 16 colors if availableJune McEnroe 2018-08-05Limit parsed colors to number of mIRC colorsJune McEnroe 2018-08-04Show source link on exitJune McEnroe 2018-08-04Implement line editing, scrollingJune McEnroe 2018-08-04Handle /topicJune McEnroe