SMOLNET PORTAL home about changes
inot re-implementing fputs. - 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 e2db9fd49d5351986d5803604bed7e2680545621	/scm/iomenu/commit/e2db9fd49d5351986d5803604bed7e2680545621.gph	bitreich.org	70
1parent 33e51a893ff428e83faf59b5116dde88e3f83c50	/scm/iomenu/commit/33e51a893ff428e83faf59b5116dde88e3f83c50.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 02:56:50 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
inot re-implementing fputs.	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M iomenu.c                            |      45 +++++++++++++------------------	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 19 insertions(+), 26 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/iomenu.c b/iomenu.c	/scm/iomenu/file/iomenu.c.gph	bitreich.org	70
i@@ -54,7 +54,7 @@ setterminal(void)	Err	bitreich.org	70
i         struct termios new;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* save cursor postition */	Err	bitreich.org	70
i-        fputs("\x1b[s", stderr);	Err	bitreich.org	70
i+        fputs("\033[s", stderr);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* save attributes to `termios` */	Err	bitreich.org	70
i         if (tcgetattr(ttyfd, &termios) < 0 || tcgetattr(ttyfd, &new) < 0) {	Err	bitreich.org	70
i@@ -74,10 +74,10 @@ resetterminal(void)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* clear terminal */	Err	bitreich.org	70
i         for (i = 0; i < opt['l'] + 1; i++)	Err	bitreich.org	70
i-                fputs("\r\x1b[K\n", stderr);	Err	bitreich.org	70
i+                fputs("\r\033[K\n", stderr);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* reset cursor position */	Err	bitreich.org	70
i-        fputs("\x1b[u", stderr);	Err	bitreich.org	70
i+        fputs("\033[u", stderr);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* set terminal back to normal mode */	Err	bitreich.org	70
i         tcsetattr(ttyfd, TCSANOW, &termios);	Err	bitreich.org	70
i@@ -151,44 +151,37 @@ printlines(int count)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         while (printed < count && i < matchc) {	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-                if (opt['#'] && matchv[i][0] == '#') {	Err	bitreich.org	70
i-                        char *s = format(matchv[i], ws.ws_col);	Err	bitreich.org	70
i-                        fprintf(stderr, "\n\x1b[1m\x1b[K%s\x1b[m", s + 1);	Err	bitreich.org	70
i+                char *s = format(matchv[i], ws.ws_col - 1);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-                } else if (i == current) {	Err	bitreich.org	70
i-                        char *s = format(matchv[i], ws.ws_col - 3);	Err	bitreich.org	70
i-                        fprintf(stderr, "\n\x1b[30;47m\x1b[K   %s\x1b[m", s);	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-                } else {	Err	bitreich.org	70
i-                        char *s = format(matchv[i], ws.ws_col - 3);	Err	bitreich.org	70
i-                        fprintf(stderr, "\n\x1b[K   %s", s);	Err	bitreich.org	70
i-                }	Err	bitreich.org	70
i+                if (opt['#'] && matchv[i][0] == '#')	Err	bitreich.org	70
i+                        fprintf(stderr, "\n\033[1m\033[K %s\033[m",     s);	Err	bitreich.org	70
i+                else if (i == current)	Err	bitreich.org	70
i+                        fprintf(stderr, "\n\033[30;47m\033[K %s\033[m", s);	Err	bitreich.org	70
i+                else	Err	bitreich.org	70
i+                        fprintf(stderr, "\n\033[K %s",                  s);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 i++; printed++;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         while (printed++ < count)	Err	bitreich.org	70
i-                fputs("\n\x1b[K", stderr);	Err	bitreich.org	70
i+                fputs("\n\033[K", stderr);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i printscreen(void)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i-        int cols = ws.ws_col - 1, i;	Err	bitreich.org	70
i+        int cols = ws.ws_col - 1;	Err	bitreich.org	70
i         int count = MIN(opt['l'], ws.ws_row - 1);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        fputs("\r\x1b[K", stderr);	Err	bitreich.org	70
i+        fputs("\r\033[K", stderr);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         printlines(count);	Err	bitreich.org	70
i-        fprintf(stderr, "\x1b[%dA\r", count);	Err	bitreich.org	70
i+        fprintf(stderr, "\033[%dA\r", count);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         if (*prompt) {	Err	bitreich.org	70
i-                format(prompt, cols);	Err	bitreich.org	70
i-                fputs("\x1b[30;47m ", stderr);	Err	bitreich.org	70
i-                for (i = 0; formatted[i]; i++)	Err	bitreich.org	70
i-                        fputc(formatted[i], stderr);	Err	bitreich.org	70
i-                fputs(" \x1b[m", stderr);	Err	bitreich.org	70
i-                cols -= strlen(formatted) + 1;	Err	bitreich.org	70
i+                format(prompt, cols - 2);	Err	bitreich.org	70
i+                fprintf(stderr, "\033[30;47m %s \033[m", formatted);	Err	bitreich.org	70
i+                cols -= strlen(formatted) + 2;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         fputc(' ', stderr);	Err	bitreich.org	70
i@@ -308,7 +301,7 @@ printselection(void)	Err	bitreich.org	70
i                 puts(matchv[current]);	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        fputs("\r\x1b[K", stderr);	Err	bitreich.org	70
i+        fputs("\r\033[K", stderr);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i static int	Err	bitreich.org	70
i@@ -364,7 +357,7 @@ 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 0x1b: /* escape / alt */	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
i 	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/iomenu/commit/e2db9fd49d53519...
Content-Typetext/plain; charset=utf-8