]>
Commit | Line | Data |
---|---|---|
1fe143c5 JP |
1 | #include "util.h" |
2 | ||
3 | void get_term_dimensions(struct winsize *ws) | |
4 | { | |
5 | char *s = getenv("LINES"); | |
6 | ||
7 | if (s != NULL) { | |
8 | ws->ws_row = atoi(s); | |
9 | s = getenv("COLUMNS"); | |
10 | if (s != NULL) { | |
11 | ws->ws_col = atoi(s); | |
12 | if (ws->ws_row && ws->ws_col) | |
13 | return; | |
14 | } | |
15 | } | |
16 | #ifdef TIOCGWINSZ | |
17 | if (ioctl(1, TIOCGWINSZ, ws) == 0 && | |
18 | ws->ws_row && ws->ws_col) | |
19 | return; | |
20 | #endif | |
21 | ws->ws_row = 25; | |
22 | ws->ws_col = 80; | |
23 | } | |
24 | ||
25 | void set_term_quiet_input(struct termios *old) | |
26 | { | |
27 | struct termios tc; | |
28 | ||
29 | tcgetattr(0, old); | |
30 | tc = *old; | |
31 | tc.c_lflag &= ~(ICANON | ECHO); | |
32 | tc.c_cc[VMIN] = 0; | |
33 | tc.c_cc[VTIME] = 0; | |
34 | tcsetattr(0, TCSANOW, &tc); | |
35 | } |