summary refs log tree commit diff
path: root/bin/dtch.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/dtch.c')
-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 },