getting terminal display size?
Grant Edwards
grante at visi.com
Sun Feb 25 21:09:50 EST 2007
On 2007-02-26, Grant Edwards <grante at visi.com> wrote:
> On 2007-02-26, jeff <jeffrey.aylesworth at gmail.com> wrote:
>
>> I looked around a lot on the internet and couldn't find out how to do
>> this, how do I get the sizer (in rows and columns) of the view?
>
> You use the TIOCGWINSZ ioctl() call on the tty device in question.
>
> import termios, fcntl, struct, sys
>
> s = struct.pack("HHHH", 0, 0, 0, 0)
> fd_stdout = sys.stdout.fileno()
> x = fcntl.ioctl(fd_stdout, termios.TIOCGWINSZ, s)
> print '(rows, cols, x pixels, y pixels) =',
> print struct.unpack("HHHH", x)
You may also want to handle the WINCH signal so that you know
when the window size has been changed.
--
More information about the Python-list
mailing list