diff options
Diffstat (limited to 'vui.c')
| -rw-r--r-- | vui.c | 33 |
1 files changed, 9 insertions, 24 deletions
@@ -67,7 +67,7 @@ static inline void vui_out_flush(void); /* globals */ -static struct termios vui_init_stdin_tos, vui_init_stdout_tos, vui_raw_stdin_tos, vui_raw_stdout_tos; +static struct termios vui_tos_src, vui_tos_raw; static char *vui_out = NULL; static size_t vui_outn = 0; @@ -214,27 +214,13 @@ static void on_resized(int signo) { } void vui_init(void) { - tcgetattr(STDIN_FILENO, &vui_init_stdin_tos); - vui_raw_stdin_tos = vui_init_stdin_tos; - /* - vui_raw_stdin_tos.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON); - vui_raw_stdin_tos.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); - vui_raw_stdin_tos.c_cflag &= ~(CSIZE | PARENB); - vui_raw_stdin_tos.c_cflag |= CS8; - */ - //vui_raw_stdin_tos.c_lflag &= ~(ECHO | ECHONL | ICANON); - - vui_raw_stdin_tos.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON); - vui_raw_stdin_tos.c_oflag &= ~(OPOST); - vui_raw_stdin_tos.c_cflag |= (CS8); - vui_raw_stdin_tos.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG); - - tcsetattr(STDIN_FILENO, TCSANOW, &vui_raw_stdin_tos); - - tcgetattr(STDOUT_FILENO, &vui_init_stdout_tos); - vui_raw_stdout_tos = vui_init_stdout_tos; - vui_raw_stdout_tos.c_oflag &= ~OPOST; - tcsetattr(STDOUT_FILENO, TCSANOW, &vui_raw_stdout_tos); + tcgetattr(STDIN_FILENO, &vui_tos_src); + vui_tos_raw = vui_tos_src; + vui_tos_raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG); + vui_tos_raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON); + vui_tos_raw.c_oflag &= ~(OPOST); + vui_tos_raw.c_cflag |= (CS8); + tcsetattr(STDIN_FILENO, TCSANOW, &vui_tos_raw); /* set white:black to default */ printf(CSI "40;37m" CSI "8]"); @@ -267,8 +253,7 @@ void vui_fini(void) { vui_out = NULL; vui_out_cap = 0; printf(CSI "0m" CSI "H" CSI "2J"); - tcsetattr(STDIN_FILENO, TCSANOW, &vui_init_stdin_tos); - tcsetattr(STDOUT_FILENO, TCSANOW, &vui_init_stdout_tos); + tcsetattr(STDIN_FILENO, TCSANOW, &vui_tos_src); } static void vui_out_fit(size_t n) { |
