diff options
author | Rob Landley <rob@landley.net> | 2018-10-21 13:05:22 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2018-10-21 13:05:22 -0500 |
commit | 3e0b077ec236aa26bfeb290f3cd7973ec3fbcb7d (patch) | |
tree | 0fd8275af029861fa62a9316bef316c12f71ae0c /lib | |
parent | 74f22a7d5cb6ed03f00c261fb4e28b411f1c4c0a (diff) | |
download | toybox-3e0b077ec236aa26bfeb290f3cd7973ec3fbcb7d.tar.gz |
Move start_redraw() to lib/ and have ps.c (top) use it.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/interestingtimes.c | 17 | ||||
-rw-r--r-- | lib/lib.h | 1 |
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/interestingtimes.c b/lib/interestingtimes.c index c3ed9f9a..9cf84041 100644 --- a/lib/interestingtimes.c +++ b/lib/interestingtimes.c @@ -258,3 +258,20 @@ void tty_sigreset(int i) tty_reset(); _exit(i ? 128+i : 0); } + +void start_redraw(unsigned *width, unsigned *height) +{ + // If never signaled, do raw mode setup. + if (!toys.signal) { + *width = 80; + *height = 25; + set_terminal(0, 1, 0, 0); + sigatexit(tty_sigreset); + xsignal(SIGWINCH, generic_signal); + } + if (toys.signal != -1) { + toys.signal = -1; + terminal_probesize(width, height); + } + xprintf("\033[H\033[J"); +} @@ -293,6 +293,7 @@ void tty_esc(char *s); void tty_jump(int x, int y); void tty_reset(void); void tty_sigreset(int i); +void start_redraw(unsigned *width, unsigned *height); // net.c int xsocket(int domain, int type, int protocol); |