iiomenu.c: rawer raw mode and 0x1b rather than 033 - 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 e24cea688e69bd009ef52ea40891a0a386b881ea /scm/iomenu/commit/e24cea688e69bd009ef52ea40891a0a386b881ea.gph bitreich.org 70
1parent 84dbca0112c08a49515d4bd94a37a6c859e19a7f /scm/iomenu/commit/84dbca0112c08a49515d4bd94a37a6c859e19a7f.gph bitreich.org 70
hAuthor: Josuah Demangeon <mail@josuah.net> URL:mailto:mail@josuah.net bitreich.org 70
iDate: Sun, 29 Oct 2017 21:17:44 +0100 Err bitreich.org 70
i Err bitreich.org 70
iiomenu.c: rawer raw mode and 0x1b rather than 033 Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M iomenu.c | 32 ++++++++++++++++---------------- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 16 insertions(+), 16 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@@ -101,7 +101,7 @@ set_terminal(void) Err bitreich.org 70
i struct termios new; Err bitreich.org 70
i Err bitreich.org 70
i /* save currentsor postition */ Err bitreich.org 70
i- fputs("\033[s", stderr); Err bitreich.org 70
i+ fputs("\x1b[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@@ -110,7 +110,7 @@ set_terminal(void) Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i /* change to raw mode */ Err bitreich.org 70
i- new.c_lflag &= ~(ICANON | ECHO | IGNBRK); Err bitreich.org 70
i+ new.c_lflag &= ~(ICANON | ECHO | IGNBRK | IEXTEN | ISIG); Err bitreich.org 70
i tcsetattr(ttyfd, TCSANOW, &new); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i@@ -121,10 +121,10 @@ reset_terminal(void) Err bitreich.org 70
i Err bitreich.org 70
i /* clear terminal */ Err bitreich.org 70
i for (i = 0; i < rows + 1; i++) Err bitreich.org 70
i- fputs("\r\033[K\n", stderr); Err bitreich.org 70
i+ fputs("\r\x1b[K\n", stderr); Err bitreich.org 70
i Err bitreich.org 70
i /* reset currentsor position */ Err bitreich.org 70
i- fputs("\033[u", stderr); Err bitreich.org 70
i+ fputs("\x1b[u", stderr); Err bitreich.org 70
i Err bitreich.org 70
i tcsetattr(ttyfd, TCSANOW, &termios); Err bitreich.org 70
i } Err bitreich.org 70
i@@ -241,16 +241,16 @@ print_lines(void) Err bitreich.org 70
i for (; printed < rows && i < matchc; i++, printed++) { Err bitreich.org 70
i fprintf(stderr, Err bitreich.org 70
i opt['#'] && matchv[i][0] == '#' ? Err bitreich.org 70
i- "\n\033[1m\033[K %s\033[m" : Err bitreich.org 70
i+ "\n\x1b[1m\x1b[K %s\x1b[m" : Err bitreich.org 70
i i == current ? Err bitreich.org 70
i- "\n\033[47;30m\033[K %s\033[m" : Err bitreich.org 70
i- "\n\033[K %s", Err bitreich.org 70
i+ "\n\x1b[47;30m\x1b[K %s\x1b[m" : Err bitreich.org 70
i+ "\n\x1b[K %s", Err bitreich.org 70
i format(matchv[i], ws.ws_col - 1) Err bitreich.org 70
i ); Err bitreich.org 70
i } Err bitreich.org 70
i while (printed++ < rows) Err bitreich.org 70
i- fputs("\n\033[K", stderr); Err bitreich.org 70
i- fprintf(stderr, "\033[%dA\r\033[K", rows); Err bitreich.org 70
i+ fputs("\n\x1b[K", stderr); Err bitreich.org 70
i+ fprintf(stderr, "\x1b[%dA\r\x1b[K", rows); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i static void Err bitreich.org 70
i@@ -265,17 +265,17 @@ print_segments(void) Err bitreich.org 70
i offset = next; Err bitreich.org 70
i next = next_page(offset); Err bitreich.org 70
i } Err bitreich.org 70
i- fprintf(stderr, "\r\033[K\033[%dC", MARGIN); Err bitreich.org 70
i+ fprintf(stderr, "\r\x1b[K\x1b[%dC", MARGIN); Err bitreich.org 70
i fputs(offset > 0 ? "< " : " ", stderr); Err bitreich.org 70
i for (i = offset; i < next && i < matchc; i++) { Err bitreich.org 70
i fprintf(stderr, Err bitreich.org 70
i- opt['#'] && matchv[i][0] == '#' ? "\033[1m %s \033[m" : Err bitreich.org 70
i- i == current ? "\033[7m %s \033[m" : " %s ", Err bitreich.org 70
i+ opt['#'] && matchv[i][0] == '#' ? "\x1b[1m %s \x1b[m" : Err bitreich.org 70
i+ i == current ? "\x1b[7m %s \x1b[m" : " %s ", Err bitreich.org 70
i format(matchv[i], ws.ws_col - 1) Err bitreich.org 70
i ); Err bitreich.org 70
i } Err bitreich.org 70
i if (next < matchc) Err bitreich.org 70
i- fprintf(stderr, "\033[%dC\b>", ws.ws_col - MARGIN); Err bitreich.org 70
i+ fprintf(stderr, "\x1b[%dC\b>", ws.ws_col - MARGIN); Err bitreich.org 70
i fputc('\r', stderr); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i@@ -290,7 +290,7 @@ print_screen(void) Err bitreich.org 70
i print_segments(); Err bitreich.org 70
i if (*prompt) { 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+ fprintf(stderr, "\x1b[30;47m %s \x1b[m", formatted); Err bitreich.org 70
i cols -= strlen(formatted) + 2; Err bitreich.org 70
i } Err bitreich.org 70
i fputc(' ', stderr); Err bitreich.org 70
i@@ -386,7 +386,7 @@ print_selection(void) Err bitreich.org 70
i puts(input); Err bitreich.org 70
i else Err bitreich.org 70
i puts(matchv[current]); Err bitreich.org 70
i- fputs("\r\033[K", stderr); Err bitreich.org 70
i+ fputs("\r\x1b[K", stderr); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i static int Err bitreich.org 70
i@@ -456,7 +456,7 @@ top: Err bitreich.org 70
i key = CSI(fgetc(stdin)); Err bitreich.org 70
i goto top; Err bitreich.org 70
i Err bitreich.org 70
i- case 033: /* escape / alt */ Err bitreich.org 70
i+ case 0x1b: /* 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