iadded support for arrow and page keys - iomenu - interactive terminal-based selection menu Err bitreich.org 70
hgit clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu URL:git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu bitreich.org 70
1Log /scm/iomenu/log.gph bitreich.org 70
1Files /scm/iomenu/files.gph bitreich.org 70
1Refs /scm/iomenu/refs.gph bitreich.org 70
1Tags /scm/iomenu/tag bitreich.org 70
1README /scm/iomenu/file/README.gph bitreich.org 70
1LICENSE /scm/iomenu/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 2425ac3f4cb13eef4db1e4e4d66feede9bf3ab84 /scm/iomenu/commit/2425ac3f4cb13eef4db1e4e4d66feede9bf3ab84.gph bitreich.org 70
1parent 422bb3cf75123ac36aed39c370de89dfbe55dd78 /scm/iomenu/commit/422bb3cf75123ac36aed39c370de89dfbe55dd78.gph bitreich.org 70
hAuthor: Josuah Demangeon <josuah.demangeon@gandi.net> URL:mailto:josuah.demangeon@gandi.net bitreich.org 70
iDate: Mon, 21 Aug 2017 15:28:29 +0200 Err bitreich.org 70
i Err bitreich.org 70
iadded support for arrow and page keys Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M README | 4 ++-- Err bitreich.org 70
i M iomenu.1 | 4 ++-- Err bitreich.org 70
i M iomenu.c | 38 ++++++++++++++++++++++++++----- Err bitreich.org 70
i Err bitreich.org 70
i3 files changed, 36 insertions(+), 10 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/README b/README /scm/iomenu/file/README.gph bitreich.org 70
i@@ -26,10 +26,10 @@ DESCRIPTION Err bitreich.org 70
i An active selection is highlighted, and can be controlled with Err bitreich.org 70
i keybindings. Err bitreich.org 70
i Err bitreich.org 70
i- Ctrl + p, Ctrl + n Err bitreich.org 70
i+ Up, Down, Ctrl + p, Ctrl + n Err bitreich.org 70
i Move selection to the previous/next item. Err bitreich.org 70
i Err bitreich.org 70
i- Ctrl + v Ns, Alt + v Err bitreich.org 70
i+ PageUp, PageDown, Alt + v, Ctrl + v Err bitreich.org 70
i Move one page up or down. Err bitreich.org 70
i Err bitreich.org 70
i Ctrl + m, Ctrl + j, Enter Err bitreich.org 70
1diff --git a/iomenu.1 b/iomenu.1 /scm/iomenu/file/iomenu.1.gph bitreich.org 70
i@@ -59,10 +59,10 @@ printed. Err bitreich.org 70
i An active selection is highlighted, and can be controlled with keybindings. Err bitreich.org 70
i .Bl -tag -width XXXXXXXXXXXXXXX Err bitreich.org 70
i . Err bitreich.org 70
i-.It Ic Ctrl + p Ns , Ic Ctrl + n Err bitreich.org 70
i+.It Ic Up Ns , Ic Down Ns , Ic Ctrl + p Ns , Ic Ctrl + n Err bitreich.org 70
i Move selection to the previous/next item. Err bitreich.org 70
i . Err bitreich.org 70
i-.It Ic Ctrl + v Ns, Ic Alt + v Err bitreich.org 70
i+.It Ic PageUp Ns , Ic PageDown Ns , Ic Alt + v Ns , Ic Ctrl + v Err bitreich.org 70
i Move one page up or down. Err bitreich.org 70
i . Err bitreich.org 70
i .It Ic Ctrl + m Ns , Ic Ctrl + j Ns , Ic Enter Err bitreich.org 70
1diff --git a/iomenu.c b/iomenu.c /scm/iomenu/file/iomenu.c.gph bitreich.org 70
i@@ -16,6 +16,8 @@ Err bitreich.org 70
i #define ALT(char) (char + 0x80) Err bitreich.org 70
i #define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) Err bitreich.org 70
i Err bitreich.org 70
i+enum { KEY_UP = 0x81, KEY_DOWN, PG_UP, PG_DOWN }; Err bitreich.org 70
i+ Err bitreich.org 70
i static struct winsize ws; Err bitreich.org 70
i static struct termios termios; Err bitreich.org 70
i static int ttyfd; Err bitreich.org 70
i@@ -339,22 +341,26 @@ top: Err bitreich.org 70
i filter(); Err bitreich.org 70
i break; Err bitreich.org 70
i Err bitreich.org 70
i- case CONTROL('N'): Err bitreich.org 70
i- move(+1); Err bitreich.org 70
i- break; Err bitreich.org 70
i- Err bitreich.org 70
i+ case KEY_UP: Err bitreich.org 70
i case CONTROL('P'): Err bitreich.org 70
i move(-1); Err bitreich.org 70
i break; Err bitreich.org 70
i Err bitreich.org 70
i- case CONTROL('V'): Err bitreich.org 70
i- movepg(+1); Err bitreich.org 70
i+ case KEY_DOWN: Err bitreich.org 70
i+ case CONTROL('N'): Err bitreich.org 70
i+ move(+1); Err bitreich.org 70
i break; Err bitreich.org 70
i Err bitreich.org 70
i+ case PG_UP: Err bitreich.org 70
i case ALT('v'): Err bitreich.org 70
i movepg(-1); Err bitreich.org 70
i break; Err bitreich.org 70
i Err bitreich.org 70
i+ case PG_DOWN: Err bitreich.org 70
i+ case CONTROL('V'): Err bitreich.org 70
i+ movepg(+1); Err bitreich.org 70
i+ break; Err bitreich.org 70
i+ Err bitreich.org 70
i case CONTROL('I'): /* tab */ Err bitreich.org 70
i if (linec > 0) Err bitreich.org 70
i strcpy(input, matchv[current]); Err bitreich.org 70
i@@ -366,6 +372,26 @@ top: Err bitreich.org 70
i printselection(); Err bitreich.org 70
i return EXIT_SUCCESS; Err bitreich.org 70
i Err bitreich.org 70
i+ case ALT('['): Err bitreich.org 70
i+ switch (fgetc(stdin)) { Err bitreich.org 70
i+ case 'A': Err bitreich.org 70
i+ key = KEY_UP; Err bitreich.org 70
i+ goto top; Err bitreich.org 70
i+ case 'B': Err bitreich.org 70
i+ key = KEY_DOWN; Err bitreich.org 70
i+ goto top; Err bitreich.org 70
i+ case '5': Err bitreich.org 70
i+ if (fgetc(stdin) == '~') { Err bitreich.org 70
i+ key = PG_UP; Err bitreich.org 70
i+ goto top; Err bitreich.org 70
i+ } Err bitreich.org 70
i+ case '6': Err bitreich.org 70
i+ if (fgetc(stdin) == '~') { Err bitreich.org 70
i+ key = PG_DOWN; Err bitreich.org 70
i+ goto top; Err bitreich.org 70
i+ } Err bitreich.org 70
i+ } Err bitreich.org 70
i+ Err bitreich.org 70
i case 033: /* escape / alt */ Err bitreich.org 70
i key = ALT(fgetc(stdin)); Err bitreich.org 70
i goto top; Err bitreich.org 70
.
Response:
text/plain