Python shutil.get_terminal_size() Examples
The following are 30 code examples for showing how to use shutil.get_terminal_size(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
shutil
, or try the search function
.
Example 1
Project: recruit Author: Frank-qlu File: terminal.py License: Apache License 2.0 | 6 votes |
def get_terminal_size(): """ Detect terminal size and return tuple = (width, height). Only to be used when running in a terminal. Note that the IPython notebook, IPython zmq frontends, or IDLE do not run in a terminal, """ import platform if PY3: return shutil.get_terminal_size() current_os = platform.system() tuple_xy = None if current_os == 'Windows': tuple_xy = _get_terminal_size_windows() if tuple_xy is None: tuple_xy = _get_terminal_size_tput() # needed for window's python in cygwin's xterm! if (current_os == 'Linux' or current_os == 'Darwin' or current_os.startswith('CYGWIN')): tuple_xy = _get_terminal_size_linux() if tuple_xy is None: tuple_xy = (80, 25) # default value return tuple_xy
Example 2
Project: pdbpp Author: pdbpp File: pdbpp.py License: BSD 3-Clause "New" or "Revised" License | 6 votes |
def do_pp(self, arg): """[width]pp expression Pretty-print the value of the expression. """ width = getattr(arg, "cmd_count", None) try: val = self._getval(arg) except: return if width is None: try: width, _ = self.get_terminal_size() except Exception as exc: self.message("warning: could not get terminal size ({})".format(exc)) width = None try: pprint.pprint(val, self.stdout, width=width) except: exc_info = sys.exc_info()[:2] self.error(traceback.format_exception_only(*exc_info)[-1].strip())
Example 3
Project: pdbpp Author: pdbpp File: pdbpp.py License: BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_terminal_size(): fallback = (80, 24) try: from shutil import get_terminal_size except ImportError: try: import termios import fcntl import struct call = fcntl.ioctl(0, termios.TIOCGWINSZ, "\x00"*8) height, width = struct.unpack("hhhh", call)[:2] except (SystemExit, KeyboardInterrupt): raise except: width = int(os.environ.get('COLUMNS', fallback[0])) height = int(os.environ.get('COLUMNS', fallback[1])) # Work around above returning width, height = 0, 0 in Emacs width = width if width != 0 else fallback[0] height = height if height != 0 else fallback[1] return width, height else: return get_terminal_size(fallback)
Example 4
Project: GetSubtitles Author: gyh1621 File: util.py License: MIT License | 6 votes |
def refresh(self, cur_len): terminal_width = get_terminal_size().columns # 获取终端宽度 info = "%s '%s'... %.2f%%" % ( self.prefix_info, self.title, cur_len / self.total * 100, ) while len(info) > terminal_width - 20: self.title = self.title[0:-4] + "..." info = "%s '%s'... %.2f%%" % ( self.prefix_info, self.title, cur_len / self.total * 100, ) end_str = "\r" if cur_len < self.total else "\n" print(info, end=end_str)
Example 5
Project: predictive-maintenance-using-machine-learning Author: awslabs File: terminal.py License: Apache License 2.0 | 6 votes |
def get_terminal_size(): """ Detect terminal size and return tuple = (width, height). Only to be used when running in a terminal. Note that the IPython notebook, IPython zmq frontends, or IDLE do not run in a terminal, """ import platform if PY3: return shutil.get_terminal_size() current_os = platform.system() tuple_xy = None if current_os == 'Windows': tuple_xy = _get_terminal_size_windows() if tuple_xy is None: tuple_xy = _get_terminal_size_tput() # needed for window's python in cygwin's xterm! if (current_os == 'Linux' or current_os == 'Darwin' or current_os.startswith('CYGWIN')): tuple_xy = _get_terminal_size_linux() if tuple_xy is None: tuple_xy = (80, 25) # default value return tuple_xy
Example 6
Project: Fluid-Designer Author: Microvellum File: test_shutil.py License: GNU General Public License v3.0 | 6 votes |
def test_stty_match(self): """Check if stty returns the same results ignoring env This test will fail if stdin and stdout are connected to different terminals with different sizes. Nevertheless, such situations should be pretty rare. """ try: size = subprocess.check_output(['stty', 'size']).decode().split() except (FileNotFoundError, subprocess.CalledProcessError): self.skipTest("stty invocation failed") expected = (int(size[1]), int(size[0])) # reversed order with support.EnvironmentVarGuard() as env: del env['LINES'] del env['COLUMNS'] actual = shutil.get_terminal_size() self.assertEqual(expected, actual)
Example 7
Project: mlbv Author: kmac File: util.py License: GNU General Public License v3.0 | 5 votes |
def get_data(self, wrap=True): if wrap: terminal_size = shutil.get_terminal_size((80, 40)) wrap_columns = terminal_size.columns if wrap_columns > int(config.CONFIG.parser['info_display_max_columns']): wrap_columns = int(config.CONFIG.parser['info_display_max_columns']) return '\n'.join([textwrap.fill(x, wrap_columns) for x in ''.join(self.fed).split('\n')]) return ''.join(self.fed)
Example 8
Project: autohooks Author: greenbone File: terminal.py License: GNU General Public License v3.0 | 5 votes |
def get_width() -> int: """ Get the width of the terminal window """ width, _ = shutil.get_terminal_size(TERMINAL_SIZE_FALLBACK) return width
Example 9
Project: Rebaler Author: rrwick File: misc.py License: GNU General Public License v3.0 | 5 votes |
def __init__(self, prog): terminal_width = shutil.get_terminal_size().columns os.environ['COLUMNS'] = str(terminal_width) max_help_position = min(max(24, terminal_width // 3), 40) super().__init__(prog, max_help_position=max_help_position)
Example 10
Project: py Author: pytest-dev File: terminalwriter.py License: MIT License | 5 votes |
def _getdimensions(): if py33: import shutil size = shutil.get_terminal_size() return size.lines, size.columns else: import termios, fcntl, struct call = fcntl.ioctl(1, termios.TIOCGWINSZ, "\000" * 8) height, width = struct.unpack("hhhh", call)[:2] return height, width
Example 11
Project: schemathesis Author: kiwicom File: default.py License: MIT License | 5 votes |
def get_terminal_width() -> int: return shutil.get_terminal_size().columns
Example 12
Project: pdbpp Author: pdbpp File: pdbpp.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def _format_exc_for_sticky(self, exc): if len(exc) != 2: return "pdbpp: got unexpected __exception__: %r" % (exc,) exc_type, exc_value = exc s = '' try: try: s = exc_type.__name__ except AttributeError: s = str(exc_type) if exc_value is not None: s += ': ' s += str(exc_value) except KeyboardInterrupt: raise except Exception as exc: try: s += '(unprintable exception: %r)' % (exc,) except: s += '(unprintable exception)' else: # Use first line only, limited to terminal width. s = s.replace("\r", r"\r").replace("\n", r"\n") width, _ = self.get_terminal_size() if len(s) > width: s = s[:width - 1] + "…" if self.config.highlight: s = Color.set(self.config.line_number_color, s) return s
Example 13
Project: python-netsurv Author: sofia-netsurv File: terminalwriter.py License: MIT License | 5 votes |
def _getdimensions(): if py33: import shutil size = shutil.get_terminal_size() return size.lines, size.columns else: import termios, fcntl, struct call = fcntl.ioctl(1, termios.TIOCGWINSZ, "\000" * 8) height, width = struct.unpack("hhhh", call)[:2] return height, width
Example 14
Project: python-netsurv Author: sofia-netsurv File: terminalwriter.py License: MIT License | 5 votes |
def _getdimensions(): if py33: import shutil size = shutil.get_terminal_size() return size.lines, size.columns else: import termios, fcntl, struct call = fcntl.ioctl(1, termios.TIOCGWINSZ, "\000" * 8) height, width = struct.unpack("hhhh", call)[:2] return height, width
Example 15
Project: pdm Author: frostming File: search.py License: MIT License | 5 votes |
def handle(self, project: Project, options: argparse.Namespace) -> None: result = project.get_repository().search(options.query) terminal_width = None if sys.stdout.isatty(): terminal_width = get_terminal_size()[0] print_results(result, project.environment.get_working_set(), terminal_width)
Example 16
Project: Python24 Author: HaoZhang95 File: compat.py License: MIT License | 5 votes |
def get_terminal_size(): """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ return tuple(shutil.get_terminal_size())
Example 17
Project: Python24 Author: HaoZhang95 File: compat.py License: MIT License | 5 votes |
def get_terminal_size(): """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ def ioctl_GWINSZ(fd): try: import fcntl import termios import struct cr = struct.unpack_from( 'hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') ) except: return None if cr == (0, 0): return None return cr cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) if not cr: try: fd = os.open(os.ctermid(), os.O_RDONLY) cr = ioctl_GWINSZ(fd) os.close(fd) except: pass if not cr: cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) return int(cr[1]), int(cr[0])
Example 18
Project: phpsploit Author: nil0x42 File: __init__.py License: GNU General Public License v3.0 | 5 votes |
def size(fallback=(80, 24)) -> tuple: """Get the size of the terminal window.""" return tuple(shutil.get_terminal_size(fallback=fallback))
Example 19
Project: vnpy_crypto Author: birforce File: terminal.py License: MIT License | 5 votes |
def get_terminal_size(): """ Detect terminal size and return tuple = (width, height). Only to be used when running in a terminal. Note that the IPython notebook, IPython zmq frontends, or IDLE do not run in a terminal, """ import platform if PY3: return shutil.get_terminal_size() current_os = platform.system() tuple_xy = None if current_os == 'Windows': tuple_xy = _get_terminal_size_windows() if tuple_xy is None: tuple_xy = _get_terminal_size_tput() # needed for window's python in cygwin's xterm! if current_os == 'Linux' or \ current_os == 'Darwin' or \ current_os.startswith('CYGWIN'): tuple_xy = _get_terminal_size_linux() if tuple_xy is None: tuple_xy = (80, 25) # default value return tuple_xy
Example 20
Project: FuYiSpider Author: wangzhenjjcn File: compat.py License: Apache License 2.0 | 5 votes |
def get_terminal_size(): """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ return tuple(shutil.get_terminal_size())
Example 21
Project: FuYiSpider Author: wangzhenjjcn File: compat.py License: Apache License 2.0 | 5 votes |
def get_terminal_size(): """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ def ioctl_GWINSZ(fd): try: import fcntl import termios import struct cr = struct.unpack_from( 'hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') ) except: return None if cr == (0, 0): return None return cr cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) if not cr: try: fd = os.open(os.ctermid(), os.O_RDONLY) cr = ioctl_GWINSZ(fd) os.close(fd) except: pass if not cr: cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) return int(cr[1]), int(cr[0])
Example 22
Project: FuYiSpider Author: wangzhenjjcn File: compat.py License: Apache License 2.0 | 5 votes |
def get_terminal_size(): """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ return tuple(shutil.get_terminal_size())
Example 23
Project: FuYiSpider Author: wangzhenjjcn File: compat.py License: Apache License 2.0 | 5 votes |
def get_terminal_size(): """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ def ioctl_GWINSZ(fd): try: import fcntl import termios import struct cr = struct.unpack_from( 'hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') ) except: return None if cr == (0, 0): return None return cr cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) if not cr: try: fd = os.open(os.ctermid(), os.O_RDONLY) cr = ioctl_GWINSZ(fd) os.close(fd) except: pass if not cr: cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) return int(cr[1]), int(cr[0])
Example 24
Project: psutil Author: giampaolo File: _compat.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def get_terminal_size(fallback=(80, 24)): try: import fcntl import termios import struct except ImportError: return fallback else: try: # This should work on Linux. res = struct.unpack( 'hh', fcntl.ioctl(1, termios.TIOCGWINSZ, '1234')) return (res[1], res[0]) except Exception: return fallback
Example 25
Project: BasicSR Author: xinntao File: util.py License: Apache License 2.0 | 5 votes |
def _get_max_bar_width(self): terminal_width, _ = get_terminal_size() max_bar_width = min(int(terminal_width * 0.6), terminal_width - 50) if max_bar_width < 10: print('terminal width is too small ({}), please consider widen the terminal for better ' 'progressbar visualization'.format(terminal_width)) max_bar_width = 10 return max_bar_width
Example 26
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: compat.py License: MIT License | 5 votes |
def get_terminal_size(): # type: () -> Tuple[int, int] """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ return tuple(shutil.get_terminal_size()) # type: ignore
Example 27
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: compat.py License: MIT License | 5 votes |
def get_terminal_size(): # type: () -> Tuple[int, int] """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ def ioctl_GWINSZ(fd): try: import fcntl import termios import struct cr = struct.unpack_from( 'hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') ) except Exception: return None if cr == (0, 0): return None return cr cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) if not cr: try: fd = os.open(os.ctermid(), os.O_RDONLY) cr = ioctl_GWINSZ(fd) os.close(fd) except Exception: pass if not cr: cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) return int(cr[1]), int(cr[0])
Example 28
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: compat.py License: MIT License | 5 votes |
def get_terminal_size(): # type: () -> Tuple[int, int] """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ return tuple(shutil.get_terminal_size()) # type: ignore
Example 29
Project: Mastering-Elasticsearch-7.0 Author: PacktPublishing File: compat.py License: MIT License | 5 votes |
def get_terminal_size(): # type: () -> Tuple[int, int] """ Returns a tuple (x, y) representing the width(x) and the height(y) in characters of the terminal window. """ def ioctl_GWINSZ(fd): try: import fcntl import termios import struct cr = struct.unpack_from( 'hh', fcntl.ioctl(fd, termios.TIOCGWINSZ, '12345678') ) except Exception: return None if cr == (0, 0): return None return cr cr = ioctl_GWINSZ(0) or ioctl_GWINSZ(1) or ioctl_GWINSZ(2) if not cr: try: fd = os.open(os.ctermid(), os.O_RDONLY) cr = ioctl_GWINSZ(fd) os.close(fd) except Exception: pass if not cr: cr = (os.environ.get('LINES', 25), os.environ.get('COLUMNS', 80)) return int(cr[1]), int(cr[0])
Example 30
Project: TENet Author: guochengqian File: progress_bar.py License: MIT License | 5 votes |
def _get_max_bar_width(self): terminal_width, _ = get_terminal_size() max_bar_width = min(int(terminal_width * 0.6), terminal_width - 50) if max_bar_width < 10: print('terminal width is too small ({}), please consider widen the terminal for better ' 'progressbar visualization'.format(terminal_width)) max_bar_width = 10 return max_bar_width