Sha256: 939540ccbe4994bb3279256366734df232ebe5b901e075fce59f5627168538ab

Contents?: true

Size: 681 Bytes

Versions: 8

Compression:

Stored size: 681 Bytes

Contents

begin
  require 'io/console'
rescue LoadError
end

module Tins
  module Terminal

    module_function

    def winsize
      if IO.respond_to?(:console)
        c = IO.console
        if c.respond_to?(:winsize)
          c.winsize
        else
          []
        end
      else
        []
      end
    end

    def rows
      winsize[0] || `stty size 2>/dev/null`.split[0].to_i.nonzero? ||
        `tput lines 2>/dev/null`.to_i.nonzero? || 25
    end

    def lines
      rows
    end

    def columns
      winsize[1] || `stty size 2>/dev/null`.split[1].to_i.nonzero? ||
        `tput cols 2>/dev/null`.to_i.nonzero? || 80
    end

    def cols
      columns
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
tins-1.38.0 lib/tins/terminal.rb
tins-1.37.1 lib/tins/terminal.rb
tins-1.37.0 lib/tins/terminal.rb
tins-1.36.1 lib/tins/terminal.rb
tins-1.36.0 lib/tins/terminal.rb
tins-1.35.0 lib/tins/terminal.rb
tins-1.34.0 lib/tins/terminal.rb
tins-1.33.0 lib/tins/terminal.rb