module TTY::Screen

def size_from_ioctl

Other tags:
    Api: - private

Returns:
  • (Array(Integer, Integer), nil) -
def size_from_ioctl
  buffer = Array.new(TIOCGWINSZ_BUF_LEN, 0).pack(TIOCGWINSZ_BUF_FMT)
  if ioctl?(TIOCGWINSZ, buffer) ||
     ioctl?(TIOCGWINSZ_PPC, buffer) ||
     ioctl?(TIOCGWINSZ_SOL, buffer)
    rows, cols, = buffer.unpack(TIOCGWINSZ_BUF_FMT)
    [rows, cols] if nonzero_column?(cols)
  end
end