SMOLNET PORTAL home about changes
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
Original URLgopher://bitreich.org/0/scm/iomenu/commit/2425ac3f4cb13ee...
Content-Typetext/plain; charset=utf-8