From f1b91e30c44064ecb324d7fad61fad114dda348c Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 19 Dec 2021 07:00:59 -0600 Subject: [PATCH] Minor cleanups: comments, whitespace, use \e instead of \033 --- lib/tty.c | 66 +++++++++++++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/lib/tty.c b/lib/tty.c index d7e0f47f..e5e3d41e 100644 --- a/lib/tty.c +++ b/lib/tty.c @@ -1,4 +1,4 @@ -/* interestingtimes.c - cursor control +/* tty.c - cursor control * * Copyright 2015 Rob Landley */ @@ -14,7 +14,7 @@ int tty_fd(void) return notstdio(open("/dev/tty", O_RDWR)); } -// Quick and dirty query size of terminal, doesn't do ANSI probe fallback. +// Query size of terminal (without ANSI probe fallback). // set x=80 y=25 before calling to provide defaults. Returns 0 if couldn't // determine size. @@ -24,8 +24,8 @@ int terminal_size(unsigned *xx, unsigned *yy) unsigned i, x = 0, y = 0; char *s; - // stdin, stdout, stderr - for (i=0; i<3; i++) { + // Check stdin, stdout, stderr + for (i = 0; i<3; i++) { memset(&ws, 0, sizeof(ws)); if (isatty(i) && !ioctl(i, TIOCGWINSZ, &ws)) { if (ws.ws_col) x = ws.ws_col; @@ -56,7 +56,7 @@ int terminal_probesize(unsigned *xx, unsigned *yy) // Send probe: bookmark cursor position, jump to bottom right, // query position, return cursor to bookmarked position. - xprintf("\033[s\033[999C\033[999B\033[6n\033[u"); + xprintf("\e[s\e[999C\e[999B\e[6n\e[u"); return 0; } @@ -136,39 +136,39 @@ struct scan_key_list { int key; char *seq; } static const scan_key_list[] = { - {KEY_UP, "\033[A"}, {KEY_DOWN, "\033[B"}, - {KEY_RIGHT, "\033[C"}, {KEY_LEFT, "\033[D"}, + {KEY_UP, "\e[A"}, {KEY_DOWN, "\e[B"}, + {KEY_RIGHT, "\e[C"}, {KEY_LEFT, "\e[D"}, - {KEY_UP|KEY_SHIFT, "\033[1;2A"}, {KEY_DOWN|KEY_SHIFT, "\033[1;2B"}, - {KEY_RIGHT|KEY_SHIFT, "\033[1;2C"}, {KEY_LEFT|KEY_SHIFT, "\033[1;2D"}, + {KEY_UP|KEY_SHIFT, "\e[1;2A"}, {KEY_DOWN|KEY_SHIFT, "\e[1;2B"}, + {KEY_RIGHT|KEY_SHIFT, "\e[1;2C"}, {KEY_LEFT|KEY_SHIFT, "\e[1;2D"}, - {KEY_UP|KEY_ALT, "\033[1;3A"}, {KEY_DOWN|KEY_ALT, "\033[1;3B"}, - {KEY_RIGHT|KEY_ALT, "\033[1;3C"}, {KEY_LEFT|KEY_ALT, "\033[1;3D"}, + {KEY_UP|KEY_ALT, "\e[1;3A"}, {KEY_DOWN|KEY_ALT, "\e[1;3B"}, + {KEY_RIGHT|KEY_ALT, "\e[1;3C"}, {KEY_LEFT|KEY_ALT, "\e[1;3D"}, - {KEY_UP|KEY_CTRL, "\033[1;5A"}, {KEY_DOWN|KEY_CTRL, "\033[1;5B"}, - {KEY_RIGHT|KEY_CTRL, "\033[1;5C"}, {KEY_LEFT|KEY_CTRL, "\033[1;5D"}, + {KEY_UP|KEY_CTRL, "\e[1;5A"}, {KEY_DOWN|KEY_CTRL, "\e[1;5B"}, + {KEY_RIGHT|KEY_CTRL, "\e[1;5C"}, {KEY_LEFT|KEY_CTRL, "\e[1;5D"}, // VT102/VT220 escapes. - {KEY_HOME, "\033[1~"}, - {KEY_HOME|KEY_CTRL, "\033[1;5~"}, - {KEY_INSERT, "\033[2~"}, - {KEY_DELETE, "\033[3~"}, - {KEY_END, "\033[4~"}, - {KEY_END|KEY_CTRL, "\033[4;5~"}, - {KEY_PGUP, "\033[5~"}, - {KEY_PGDN, "\033[6~"}, + {KEY_HOME, "\e[1~"}, + {KEY_HOME|KEY_CTRL, "\e[1;5~"}, + {KEY_INSERT, "\e[2~"}, + {KEY_DELETE, "\e[3~"}, + {KEY_END, "\e[4~"}, + {KEY_END|KEY_CTRL, "\e[4;5~"}, + {KEY_PGUP, "\e[5~"}, + {KEY_PGDN, "\e[6~"}, // "Normal" "PC" escapes (xterm). - {KEY_HOME, "\033OH"}, - {KEY_END, "\033OF"}, + {KEY_HOME, "\eOH"}, + {KEY_END, "\eOF"}, // "Application" "PC" escapes (gnome-terminal). - {KEY_HOME, "\033[H"}, - {KEY_END, "\033[F"}, - {KEY_HOME|KEY_CTRL, "\033[1;5H"}, - {KEY_END|KEY_CTRL, "\033[1;5F"}, - - {KEY_FN+1, "\033OP"}, {KEY_FN+2, "\033OQ"}, {KEY_FN+3, "\033OR"}, - {KEY_FN+4, "\033OS"}, {KEY_FN+5, "\033[15~"}, {KEY_FN+6, "\033[17~"}, - {KEY_FN+7, "\033[18~"}, {KEY_FN+8, "\033[19~"}, {KEY_FN+9, "\033[20~"}, + {KEY_HOME, "\e[H"}, + {KEY_END, "\e[F"}, + {KEY_HOME|KEY_CTRL, "\e[1;5H"}, + {KEY_END|KEY_CTRL, "\e[1;5F"}, + + {KEY_FN+1, "\eOP"}, {KEY_FN+2, "\eOQ"}, {KEY_FN+3, "\eOR"}, + {KEY_FN+4, "\eOS"}, {KEY_FN+5, "\e[15~"}, {KEY_FN+6, "\e[17~"}, + {KEY_FN+7, "\e[18~"}, {KEY_FN+8, "\e[19~"}, {KEY_FN+9, "\e[20~"}, }; // Scan stdin for a keypress, parsing known escape sequences, including @@ -196,7 +196,7 @@ int scan_key_getsize(char *scratch, int timeout_ms, unsigned *xx, unsigned *yy) // Check for return from terminal size probe memset(pos, 0, 6*sizeof(int)); scratch[(1+*scratch)&15] = 0; - sscanf(scratch+1, "\033%n[%n%3u%n;%n%3u%nR%n", pos, pos+1, &y, + sscanf(scratch+1, "\e%n[%n%3u%n;%n%3u%nR%n", pos, pos+1, &y, pos+2, pos+3, &x, pos+4, pos+5); if (pos[5]) { // Recognized X/Y position, consume and return @@ -254,7 +254,7 @@ int scan_key(char *scratch, int timeout_ms) void tty_esc(char *s) { - printf("\033[%s", s); + printf("\e[%s", s); } void tty_jump(int x, int y) -- 2.39.2