diff --git a/tools/utils/tty.go b/tools/utils/tty.go index 0473a2a65..0bedfb737 100644 --- a/tools/utils/tty.go +++ b/tools/utils/tty.go @@ -302,3 +302,12 @@ func (self *Term) WriteFromReader(r Reader, read_timeout time.Duration, write_ti buf = buf[:0] } } + +func (self *Term) GetSize() (*unix.Winsize, error) { + for { + sz, err := unix.IoctlGetWinsize(self.fd, unix.TIOCGWINSZ) + if err != unix.EINTR { + return sz, err + } + } +}