summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-03-06 12:17:54 -0500
committerJune McEnroe <june@causal.agency>2018-03-06 12:17:54 -0500
commitda7c180dd7b8b6c02586e2ac0768d3ce13d4d77d (patch)
tree8b29eac1920c139d348435d3050fcee5bbd32c7a
parentOnly sort system includes with \h (diff)
downloadsrc-da7c180dd7b8b6c02586e2ac0768d3ce13d4d77d.tar.gz
src-da7c180dd7b8b6c02586e2ac0768d3ce13d4d77d.zip
Trigger redraw on atch with 1x1 winsize
Diffstat (limited to '')
-rw-r--r--bin/dtch.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/bin/dtch.c b/bin/dtch.c
index b6d0355c..fb5bc89a 100644
--- a/bin/dtch.c
+++ b/bin/dtch.c
@@ -201,6 +201,13 @@ static int atch(int argc, char *argv[]) {
     error = ioctl(STDERR_FILENO, TIOCGWINSZ, &window);
     if (error) err(EX_IOERR, "ioctl(%d, TIOCGWINSZ)", STDERR_FILENO);
 
+    struct winsize redraw = window;
+    redraw.ws_row = 1;
+    redraw.ws_col = 1;
+
+    error = ioctl(pty, TIOCSWINSZ, &redraw);
+    if (error) err(EX_IOERR, "iotctl(%d, TIOCSWINSZ)", pty);
+
     error = ioctl(pty, TIOCSWINSZ, &window);
     if (error) err(EX_IOERR, "ioctl(%d, TIOCSWINSZ)", pty);
 
@@ -213,10 +220,6 @@ static int atch(int argc, char *argv[]) {
     error = tcsetattr(STDERR_FILENO, TCSADRAIN, &raw);
     if (error) err(EX_IOERR, "tcsetattr(%d)", STDERR_FILENO);
 
-    char c = CTRL('L');
-    ssize_t size = write(pty, &c, 1);
-    if (size < 0) err(EX_IOERR, "write(%d)", pty);
-
     char buf[4096];
     struct pollfd fds[2] = {
         { .fd = STDIN_FILENO, .events = POLLIN },