Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulie Pichon <julie.pichon@gmail.com>2010-01-30 15:34:59 (GMT)
committer anishmangal2002 <anishmangal2002@gmail.com>2010-05-20 16:29:44 (GMT)
commit51535088b0e9deb0abd30fe30660e25165f58fb6 (patch)
treef1cbda135aae4a735f38825180ff72dccc806652
parentab55be61f9e1f844a66f912fcd0f3d6bb4eeaab8 (diff)
Parse additional output for xterm size reporting (#843)
(cherry picked from commit ca98a02d4858114ac55ba841784e9ce3bc75fe9d)
-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