Mercurial > public > mercurial-scm > hg-stable
diff mercurial/scmposix.py @ 30327:365812902904
scmutil: extend termwidth() to return terminal height, renamed to termsize()
It appears crecord.py has its own termsize() function. I want to get rid of it.
The fallback height is chosen from the default of cmd.exe on Windows, and
VT100 on Unix.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 20 Oct 2016 23:09:05 +0900 |
parents | 1ad1c5017043 |
children | 5b0baa9f3362 |
line wrap: on
line diff
--- a/mercurial/scmposix.py Thu Oct 20 22:57:12 2016 +0900 +++ b/mercurial/scmposix.py Thu Oct 20 23:09:05 2016 +0900 @@ -42,12 +42,12 @@ else: return [os.path.expanduser('~/.hgrc')] -def termwidth(ui): +def termsize(ui): try: import termios TIOCGWINSZ = termios.TIOCGWINSZ # unavailable on IRIX (issue3449) except (AttributeError, ImportError): - return 80 + return 80, 24 for dev in (ui.ferr, ui.fout, ui.fin): try: @@ -58,9 +58,9 @@ if not os.isatty(fd): continue arri = fcntl.ioctl(fd, TIOCGWINSZ, '\0' * 8) - width = array.array('h', arri)[1] - if width > 0: - return width + height, width = array.array('h', arri)[:2] + if width > 0 and height > 0: + return width, height except ValueError: pass except IOError as e: @@ -68,4 +68,4 @@ pass else: raise - return 80 + return 80, 24