()
return 80
Return width of available window area. Autodetection works for
       Windows and POSIX platforms. Returns 80 for others

       Code from http://bitbucket.org/techtonik/python-pager
Return width of available window area. Autodetection works for
       Windows and POSIX platforms. Returns 80 for others
Return width of available window area . Autodetection works for Windows and POSIX platforms . Returns 80 for others
def get_console_width():
    """Return width of available window area. Autodetection works for
       Windows and POSIX platforms. Returns 80 for others

       Code from http://bitbucket.org/techtonik/python-pager
    """

    if os.name == 'nt':
        STD_INPUT_HANDLE  = -10
        STD_OUTPUT_HANDLE = -11
        STD_ERROR_HANDLE  = -12

        # get console handle
        from ctypes import windll, Structure, byref
        try:
            from ctypes.wintypes import SHORT, WORD, DWORD
        except ImportError:
            # workaround for missing types in Python 2.5
            from ctypes import (
                c_short as SHORT, c_ushort as WORD, c_ulong as DWORD)
        console_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)

        # CONSOLE_SCREEN_BUFFER_INFO Structure
        class COORD(Structure):
            _fields_ = [("X", SHORT), ("Y", SHORT)]

        class SMALL_RECT(Structure):
            _fields_ = [("Left", SHORT), ("Top", SHORT),
                        ("Right", SHORT), ("Bottom", SHORT)]

        class CONSOLE_SCREEN_BUFFER_INFO(Structure):
            _fields_ = [("dwSize", COORD),
                        ("dwCursorPosition", COORD),
                        ("wAttributes", WORD),
                        ("srWindow", SMALL_RECT),
                        ("dwMaximumWindowSize", DWORD)]

        sbi = CONSOLE_SCREEN_BUFFER_INFO()
        ret = windll.kernel32.GetConsoleScreenBufferInfo(console_handle, byref(sbi))
        if ret == 0:
            return 0
        return sbi.srWindow.Right+1

    elif os.name == 'posix':
        from fcntl import ioctl
        from termios import TIOCGWINSZ
        from array import array

        winsize = array("H", [0] * 4)
        try:
            ioctl(sys.stdout.fileno(), TIOCGWINSZ, winsize)
        except IOError:
            pass
        return (winsize[1], winsize[0])[0]

    return 80
def get_console_width ( ) : if os . name == 'nt' : STD_INPUT_HANDLE = - 10 STD_OUTPUT_HANDLE = - 11 STD_ERROR_HANDLE = - 12 # get console handle from ctypes import windll , Structure , byref try : from ctypes . wintypes import SHORT , WORD , DWORD except ImportError : # workaround for missing types in Python 2.5 from ctypes import ( c_short as SHORT , c_ushort as WORD , c_ulong as DWORD ) console_handle = windll . kernel32 . GetStdHandle ( STD_OUTPUT_HANDLE ) # CONSOLE_SCREEN_BUFFER_INFO Structure class COORD ( Structure ) : _fields_ = [ ( "X" , SHORT ) , ( "Y" , SHORT ) ] class SMALL_RECT ( Structure ) : _fields_ = [ ( "Left" , SHORT ) , ( "Top" , SHORT ) , ( "Right" , SHORT ) , ( "Bottom" , SHORT ) ] class CONSOLE_SCREEN_BUFFER_INFO ( Structure ) : _fields_ = [ ( "dwSize" , COORD ) , ( "dwCursorPosition" , COORD ) , ( "wAttributes" , WORD ) , ( "srWindow" , SMALL_RECT ) , ( "dwMaximumWindowSize" , DWORD ) ] sbi = CONSOLE_SCREEN_BUFFER_INFO ( ) ret = windll . kernel32 . GetConsoleScreenBufferInfo ( console_handle , byref ( sbi ) ) if ret == 0 : return 0 return sbi . srWindow . Right + 1 elif os . name == 'posix' : from fcntl import ioctl from termios import TIOCGWINSZ from array import array winsize = array ( "H" , [ 0 ] * 4 ) try : ioctl ( sys . stdout . fileno ( ) , TIOCGWINSZ , winsize ) except IOError : pass return ( winsize [ 1 ] , winsize [ 0 ] ) [ 0 ] return 80