From: Omar Polo Subject: Re: tog: C-n/C-p to scroll by line To: Stefan Sperling Cc: gameoftrees@openbsd.org Date: Sat, 16 Oct 2021 21:38:01 +0200 Stefan Sperling writes: > On Sat, Oct 16, 2021 at 06:10:57PM +0200, Omar Polo wrote: >>[..] >> + case CTRL('P'): > >> + case CTRL('N'): > > Any specific reason for using upper-case P and N instead of lower-case > p and n? Existing code with the CTRL() macro is using lower-case letters. none at all, I missed that ----------------------------------------------- commit 61f5062738ba1113955a3470a5d570b45781fa32 (main) from: Omar Polo date: Sat Oct 16 19:37:40 2021 UTC add C-p/C-n to scroll by lines diff d417f84d2f610404f6cc76c8a0552cfe5a465667 5c2571e86e40f78f98bcdd2f95c0696915e7943f blob - 6782772927c2e0682e87d5728b008b4502aff17b blob + 0e414ba8af3db6bb003ec9b35d7e1510d7c18632 --- tog/tog.1 +++ tog/tog.1 @@ -100,9 +100,9 @@ The key bindings for .Cm tog log are as follows: .Bl -tag -width Ds -.It Cm Down-arrow, j, >, Full stop +.It Cm Down-arrow, j, >, Full stop, Ctrl-n Move the selection cursor down. -.It Cm Up-arrow, k, <, Comma +.It Cm Up-arrow, k, <, Comma, Ctrl-p Move the selection cursor up. .It Cm Page-down, Ctrl+f Move the selection cursor down one page. @@ -211,9 +211,9 @@ are as follows: .It Cm a Toggle treatment of file contents as ASCII text even if binary data was detected. -.It Cm Down-arrow, j +.It Cm Down-arrow, j, Ctrl-n Scroll down. -.It Cm Up-arrow, k +.It Cm Up-arrow, k, Ctrl-p Scroll up. .It Cm Page-down, Space, Ctrl+f Scroll down one page. @@ -278,9 +278,9 @@ The key bindings for .Cm tog blame are as follows: .Bl -tag -width Ds -.It Cm Down-arrow, j +.It Cm Down-arrow, j, Ctrl-n Move the selection cursor down. -.It Cm Up-arrow, k +.It Cm Up-arrow, k, Ctrl-p Move the selection cursor up. .It Cm Page-down, Space, Ctrl+f Move the selection cursor down one page. @@ -357,9 +357,9 @@ The key bindings for .Cm tog tree are as follows: .Bl -tag -width Ds -.It Cm Down-arrow, j +.It Cm Down-arrow, j, Ctrl-n Move the selection cursor down. -.It Cm Up-arrow, k +.It Cm Up-arrow, k, Ctrl-p Move the selection cursor up. .It Cm Page-down, Ctrl+f Move the selection cursor down one page. @@ -427,9 +427,9 @@ The key bindings for .Cm tog ref are as follows: .Bl -tag -width Ds -.It Cm Down-arrow, j +.It Cm Down-arrow, j, Ctrl-n Move the selection cursor down. -.It Cm Up-arrow, k +.It Cm Up-arrow, k, Ctrl-p Move the selection cursor up. .It Cm Page-down, Ctrl+f Move the selection cursor down one page. blob - 810503c77404623c48136692ab83b09ef677b70f blob + 74c66761f4e9c5685b0a4c978e74ba94fe3579ca --- tog/tog.c +++ tog/tog.c @@ -2411,6 +2411,7 @@ input_log_view(struct tog_view **new_view, struct tog_ case KEY_UP: case '<': case ',': + case CTRL('p'): if (s->first_displayed_entry == NULL) break; if (s->selected > 0) @@ -2439,6 +2440,7 @@ input_log_view(struct tog_view **new_view, struct tog_ case KEY_DOWN: case '>': case '.': + case CTRL('n'): if (s->first_displayed_entry == NULL) break; if (s->selected < MIN(view->nlines - 2, @@ -3719,6 +3721,7 @@ input_diff_view(struct tog_view **new_view, struct tog break; case 'k': case KEY_UP: + case CTRL('p'): if (s->first_displayed_line > 1) s->first_displayed_line--; break; @@ -3733,6 +3736,7 @@ input_diff_view(struct tog_view **new_view, struct tog break; case 'j': case KEY_DOWN: + case CTRL('n'): if (!s->eof) s->first_displayed_line++; break; @@ -4579,6 +4583,7 @@ input_blame_view(struct tog_view **new_view, struct to break; case 'k': case KEY_UP: + case CTRL('p'): if (s->selected_line > 1) s->selected_line--; else if (s->selected_line == 1 && @@ -4599,6 +4604,7 @@ input_blame_view(struct tog_view **new_view, struct to break; case 'j': case KEY_DOWN: + case CTRL('n'): if (s->selected_line < view->nlines - 2 && s->first_displayed_line + s->selected_line <= s->blame.nlines) @@ -5501,6 +5507,7 @@ input_tree_view(struct tog_view **new_view, struct tog break; case 'k': case KEY_UP: + case CTRL('p'): if (s->selected > 0) { s->selected--; break; @@ -5521,6 +5528,7 @@ input_tree_view(struct tog_view **new_view, struct tog break; case 'j': case KEY_DOWN: + case CTRL('n'): if (s->selected < s->ndisplayed - 1) { s->selected++; break; @@ -6281,6 +6289,7 @@ input_ref_view(struct tog_view **new_view, struct tog_ break; case 'k': case KEY_UP: + case CTRL('p'): if (s->selected > 0) { s->selected--; break; @@ -6295,6 +6304,7 @@ input_ref_view(struct tog_view **new_view, struct tog_ break; case 'j': case KEY_DOWN: + case CTRL('n'): if (s->selected < s->ndisplayed - 1) { s->selected++; break;