diff options
author | Julie Pichon <julie.pichon@gmail.com> | 2010-01-30 15:34:59 (GMT) |
---|---|---|
committer | anishmangal2002 <anishmangal2002@gmail.com> | 2010-05-20 16:29:44 (GMT) |
commit | 51535088b0e9deb0abd30fe30660e25165f58fb6 (patch) | |
tree | f1cbda135aae4a735f38825180ff72dccc806652 | |
parent | ab55be61f9e1f844a66f912fcd0f3d6bb4eeaab8 (diff) |
Parse additional output for xterm size reporting (#843)
(cherry picked from commit ca98a02d4858114ac55ba841784e9ce3bc75fe9d)
-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 |