Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--library/pippy/console.py12
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