Added Terminal::terminals
[nfoiled.git] / lib / nfoiled / terminal.rb
blobf36fd59d9c77c5b9b72bf6a0eef14b5367c4ddb7
1 module Nfoiled
2   ##
3   # A `Terminal` is a specific set of Nfoiled windows and configuration. In
4   # the vast majority of cases, you only need one of these, and that one will
5   # be created for you by `Nfoiled::initialize`. A general user shouldn't need
6   # to deal with `Terminal` at all.
7   class Terminal
8     
9     class <<self
10       @terminals = Array.new
11       attr_reader :terminals
12     end
13     
14     ##
15     # Responsible for creating a new `Terminal`. See `newterm(3X)`.
16     def initialize opts = Hash.new
17       { :out => STDOUT, :in => STDIN }.merge opts
18       t = ::Ncurses.newterm(opts[:term], opts[:out], opts[:in])
19       terminals << t
20       return t
21     end
22   end
23 end