Terminal screen detection - cross platform, major ruby interpreters
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Change to vendor version file inside screen namespace Jul 13, 2018
spec Change name Oct 28, 2017
tasks Add alias for a console task Oct 27, 2017
.gitignore Initial release. Nov 23, 2014
.rspec Initial release. Nov 23, 2014
CHANGELOG.md Add release notes Jul 13, 2018
CODE_OF_CONDUCT.md Add code of conduct Oct 23, 2017
ISSUE_TEMPLATE.md Add templates Sep 2, 2018
LICENSE.txt Initial release. Nov 23, 2014
PULL_REQUEST_TEMPLATE.md Add templates Sep 2, 2018
README.md Add logo Sep 2, 2018
Rakefile Initial release. Nov 23, 2014
appveyor.yml Change to update rubies Jul 13, 2018


tty logo

TTY::Screen Gitter

Gem Version Build Status Build status Code Climate Coverage Status Inline docs

Terminal screen size detection which works on Linux, OS X and Windows/Cygwin platforms and supports MRI, JRuby and Rubinius interpreters.

TTY::Screen provides independent terminal screen size detection component for TTY toolkit.


Add this line to your application's Gemfile:

gem 'tty-screen'

And then execute:

$ bundle

Or install it yourself as:

$ gem install tty-screen

1. Usage

TTY::Screen allows you to detect terminal screen size by calling size method which returns [height, width] tuple.

TTY::Screen.size     # => [51, 280]

To read terminal width do:

TTY::Screen.width    # => 280
TTY::Screen.columns  # => 280
TTY::Screen.cols     # => 280

Similarly, to read terminal height do:

TTY::Screen.height   # => 51
TTY::Screen.rows     # => 51
TTY::Screen.lines    # => 51


  1. Fork it ( https://github.com/piotrmurach/tty-screen/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.


Copyright (c) 2014-2018 Piotr Murach. See LICENSE for further details.