summary refs log tree commit diff
path: root/bin/dtch.c
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2018-03-06 12:17:54 -0500
committerJune McEnroe <programble@gmail.com>2018-03-06 12:17:54 -0500
commitf79da4629aa9984b1245a9a774c10b724acc0dce (patch)
tree8922d681b4aa7fbc05e5f3f43e654bcb96a0486d /bin/dtch.c
parentOnly sort system includes with \h (diff)
downloadsrc-f79da4629aa9984b1245a9a774c10b724acc0dce.tar.gz
src-f79da4629aa9984b1245a9a774c10b724acc0dce.zip
Trigger redraw on atch with 1x1 winsize
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 8c174f82..6ce40b51 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 },