def request_pty( opts = {} )
invalid_opts = opts.keys - VALID_PTY_OPTIONS.keys
unless invalid_opts.empty?
raise ArgumentError,
"invalid option(s) to request_pty: #{invalid_opts.inspect}"
end
opts = VALID_PTY_OPTIONS.merge( opts )
msg = @buffers.writer
msg.write_string opts[ :term ]
msg.write_long opts[ :chars_wide ]
msg.write_long opts[ :chars_high ]
msg.write_long opts[ :pixels_wide ]
msg.write_long opts[ :pixels_high ]
modes = @buffers.writer
opts[ :modes ].each do |mode, data|
modes.write_byte mode
modes.write_long data
end
modes.write_byte Term::TTY_OP_END
msg.write_string modes.to_s
send_request "pty-req", msg, opts[:want_reply]
end