> Which details? We'd be happy to explain the code. Not that > you need to understand the details to use the code.
OK, why '1234' in here, and what's termios.TIOCGWINSZ, and how should I have known this was the way too do it? fcntl.ioctl(fd, termios.TIOCGWINSZ, '1234') Am I interpreting C structs here, and if so - why is python giving me C structs? And what's 'hh' anyway? struct.unpack('hh', ... ) Why 0, 1 and 2? cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) > I don't know if it will work on MS Windows or not. Linux and unix are my main concerns, but it would be neat to know if it would work on Win/Mac. What OS:es set the COLS/ROWS env vars? What OS:es can leverage the termios module? I have a hunch that we have 100% overlap there, and then this solution leaves me at square one (arbitrary choice of 80*25) for the others OS:es (or am I wrong?). How do Win/Mac people do this? > What's unpythonic about the example you found? Maybe I did bit of poor wording there, but In my experience python generally has a high level of abstraction, which provides linguistically appealing (as in "in english") solutions to almost any problem. Like for example how os.path.isfile(s) tells me if my string s corresponds to a file. I guess that's what I mean really. I sort of expected to find something like my terminal_size() example in the built-in modules. I didn't expect to have to do that struct fcntl ioctl boogey to solve this relatively simple (?) problem. Thanks for your help! /Joel -- http://mail.python.org/mailman/listinfo/python-list