From 6a4f0a114d88965c171d0117db68be64b4db9acd Mon Sep 17 00:00:00 2001 From: Georgi Valkov Date: Tue, 23 Aug 2011 17:03:28 +0300 Subject: [PATCH] Use `stty size` to find terminal width if we're on linux and COLUMNS is not exported --- youtube-dl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/youtube-dl b/youtube-dl index 34a60afffc..251254765b 100755 --- a/youtube-dl +++ b/youtube-dl @@ -2744,11 +2744,21 @@ def parseOpts(): return "".join(opts) + def _find_term_columns(): + columns = os.environ.get('COLUMNS', None) + if columns: return int(columns) + + if sys.platform.startswith('linux'): + try: columns = os.popen('stty size', 'r').read().split()[1] + except: pass + + if columns: return int(columns) + max_width = 80 max_help_position = 80 # No need to wrap help messages if we're on a wide console - columns = os.environ.get('COLUMNS', None) + columns = _find_term_columns() if columns: max_width = columns fmt = optparse.IndentedHelpFormatter(width=max_width, max_help_position=max_help_position)