iLarger margin - 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 345619b172bfd56f1807f8ffce5795e54c453127 /scm/iomenu/commit/345619b172bfd56f1807f8ffce5795e54c453127.gph bitreich.org 70 1parent b95967e4d0296ca835ced868042b837f840d8019 /scm/iomenu/commit/b95967e4d0296ca835ced868042b837f840d8019.gph bitreich.org 70 hAuthor: Josuah Demangeon URL:mailto:mail@josuah.net bitreich.org 70 iDate: Fri, 14 Apr 2017 17:25:01 +0200 Err bitreich.org 70 i Err bitreich.org 70 iLarger margin Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M iomenu.c | 33 +++++++++++++------------------ Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 14 insertions(+), 19 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@@ -10,7 +10,7 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i-#define OFFSET 40 /* in horizontal mode, amount of space kept for writing */ Err bitreich.org 70 i+#define MARGIN 4 /* amount of space at the left and right of the feed */ Err bitreich.org 70 i #define CONTINUE 2 /* as opposed to EXIT_SUCCESS and EXIT_FAILURE */ Err bitreich.org 70 i Err bitreich.org 70 i #define CONTROL(char) (char ^ 0x40) Err bitreich.org 70 i@@ -143,6 +143,8 @@ read_lines(void) Err bitreich.org 70 i static char * Err bitreich.org 70 i format(char *str, int cols) Err bitreich.org 70 i { Err bitreich.org 70 i+ extern char formatted[BUFSIZ * 8]; Err bitreich.org 70 i+ Err bitreich.org 70 i int j = 0; Err bitreich.org 70 i Err bitreich.org 70 i for (int i = 0; str[i] && j < cols; i++) { Err bitreich.org 70 i@@ -166,30 +168,24 @@ format(char *str, int cols) Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i static void Err bitreich.org 70 i-print_string(char *str, int iscurrent) Err bitreich.org 70 i+print_lines(int count) Err bitreich.org 70 i { Err bitreich.org 70 i extern int opt_l; Err bitreich.org 70 i extern char opt_s; Err bitreich.org 70 i Err bitreich.org 70 i- fputs(iscurrent ? "\033[30;47m\033[K " : "\033[K ", stderr); Err bitreich.org 70 i- Err bitreich.org 70 i- if (opt_s && str[0] == '#') Err bitreich.org 70 i- fputs("\033[1;30m", stderr); Err bitreich.org 70 i- Err bitreich.org 70 i- fputs(format(str, ws.ws_col - 2), stderr); Err bitreich.org 70 i- fputs(" \033[m", stderr); Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i- Err bitreich.org 70 i-static void Err bitreich.org 70 i-print_lines(int count) Err bitreich.org 70 i-{ Err bitreich.org 70 i int p = 0; /* amount of lines printed */ Err bitreich.org 70 i offset = current / count * count; Err bitreich.org 70 i Err bitreich.org 70 i for (int i = offset; p < count && i < matchc; p++, i++) { Err bitreich.org 70 i fputc('\n', stderr); Err bitreich.org 70 i- print_string(matchv[i], i == current); Err bitreich.org 70 i+ Err bitreich.org 70 i+ fputs(i == current ? "\033[30;47m\033[K" : "\033[K", stderr); Err bitreich.org 70 i+ Err bitreich.org 70 i+ fprintf(stderr, Err bitreich.org 70 i+ opt_s && matchv[i][0] == '#' ? "\033[1m%s" : " %s", Err bitreich.org 70 i+ format(matchv[i], ws.ws_col - 2 * MARGIN)); Err bitreich.org 70 i+ Err bitreich.org 70 i+ fputs(" \033[m", stderr); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i while (p++ < count) Err bitreich.org 70 i@@ -202,7 +198,7 @@ print_screen(void) Err bitreich.org 70 i { Err bitreich.org 70 i extern char formatted[BUFSIZ * 8]; Err bitreich.org 70 i Err bitreich.org 70 i- int cols = opt_l || matchc == 0 ? ws.ws_col - 2 : OFFSET - 3; Err bitreich.org 70 i+ int cols = ws.ws_col - MARGIN; Err bitreich.org 70 i Err bitreich.org 70 i fputs("\r\033[K", stderr); Err bitreich.org 70 i Err bitreich.org 70 i@@ -226,8 +222,7 @@ print_screen(void) Err bitreich.org 70 i fputc(' ', stderr); Err bitreich.org 70 i Err bitreich.org 70 i /* input */ Err bitreich.org 70 i- format(input, cols); Err bitreich.org 70 i- fputs(formatted, stderr); Err bitreich.org 70 i+ fputs(format(input, cols), stderr); Err bitreich.org 70 i Err bitreich.org 70 i fflush(stderr); Err bitreich.org 70 i } Err bitreich.org 70 .