get the terminal's size
Grant Edwards
grant.b.edwards at gmail.com
Wed Jan 16 10:45:56 EST 2019
On 2019-01-16, Karen Shaeffer <klsshaeffer at gmail.com> wrote:
[fixed quoting and formatting]
>> That will tell you the terminal size at the time Python was started.
>>
>> If the terminal size has changed while Python was running, those
>> environment variables will be wrong. You need to use the TIOCGWINSZ
>> ioctl call:
>>
>> http://www.delorie.com/djgpp/doc/libc/libc_495.html
>>
>> And to detect the size changes (so you know _when_ you need to do the
>> above), you need to attach a signal handler for the WINCH signal.
>
> I'm running a python 3 interpreter on linux. I'm actually ssh'd into
> the terminal on a headless server. [...]
> [...]
> With the python interpreter running on the remote terminal, I have
> resized the terminal window on my local laptop several times. And
> each time, the remote python interpreter knows about the change,
> correctly printing the new size. I have done nothing with
> environment variables. I have not used a signal handler for the
> WINCH signal. It just works.
Yes, we know that works on Python3. The discussion was about what to
do on Python2.
$ python2
Python 2.7.15 (default, Sep 12 2018, 15:19:18)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import shutil
>>> shutil.get_terminal_size()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'get_terminal_size'
>>>
--
Grant Edwards grant.b.edwards Yow! I'm having a BIG BANG
at THEORY!!
gmail.com
More information about the Python-list
mailing list