eryksun added the comment:

FYI, the size of the terminal associated with the C's stdout isn't related to 
the IDLE shell. For example, in Linux when I run IDLE from the GUI, the 
associated terminal size is 0x0. 

On Windows, os.get_terminal_size uses the console API 
GetConsoleScreenBufferInfo. This can't work given IDLE has no attached console. 
Also, for a GUI app the Windows C runtime leaves the standard FILE streams 
uninitialized to an invalid file descriptor (-1), so Python's sys.__stdout__ is 
None. That's why you get an AttributeError complaining that NoneType (i.e. 
type(None)) has no attribute 'fileno'.

Currently shutil.get_terminal_size returns the fallback size when 
os.get_terminal_size(sys.__stdout__.fileno()) raises NameError or OSError. I 
think AttributeError and ValueError should be added to this list.

----------
components: +Windows -IDLE
nosy: +eryksun, paul.moore, steve.dower, tim.golden, zach.ware
versions: +Python 3.5, Python 3.6

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue24920>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to