diff options
Diffstat (limited to 'library/pippy/console.py')
-rw-r--r-- | library/pippy/console.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/library/pippy/console.py b/library/pippy/console.py index 29ef2d5..c185ce9 100644 --- a/library/pippy/console.py +++ b/library/pippy/console.py @@ -26,8 +26,16 @@ def size(): os.write(fd, '\x1B[18t') # write the 'query screen size' command read_to_delimit('\x1b') # parse response. read_to_delimit('[') - rows = int(read_to_delimit(';')) - cols = int(read_to_delimit('t')) + size = read_to_delimit('t') + # Output can be '8;rows;cols' or 'rows;cols' depending on vte version. + # (SL #843) + values = size.split(';') + if len(values) == 3: + rows = int(values[1]) + cols = int(values[2]) + else: + rows = int(values[0]) + cols = int(values[1]) termios.tcsetattr(fd, termios.TCSANOW, oldattr) # reset tty return cols, rows |